diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..89cd862f8f875fce748ea03fdd919c688695278d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json @@ -0,0 +1,1084 @@ +{ + "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." + } + } + } + }, + "basePath": "", + "baseUrl": "https://accesscontextmanager.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Access Context Manager", + "description": "An API for setting attribute based access control to requests to Google Cloud services.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/access-context-manager/docs/reference/rest/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "accesscontextmanager:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://accesscontextmanager.mtls.googleapis.com/", + "name": "accesscontextmanager", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accessPolicies": { + "methods": { + "create": { + "description": "Create an `AccessPolicy`. Fails if this organization already has a `AccessPolicy`. The longrunning Operation will have a successful status once the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.", + "flatPath": "v1beta/accessPolicies", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1beta/accessPolicies", + "request": { + "$ref": "AccessPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete an AccessPolicy by resource name. The longrunning Operation will have a successful status once the AccessPolicy has been removed from long-lasting storage.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}", + "httpMethod": "DELETE", + "id": "accesscontextmanager.accessPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the access policy to delete. Format `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get an AccessPolicy by name.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the access policy to get. Format `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AccessPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all AccessPolicies under a container.", + "flatPath": "v1beta/accessPolicies", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Number of AccessPolicy instances to include in the list. Default 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Next page token for the next batch of AccessPolicy instances. Defaults to the first page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name for the container to list AccessPolicy instances from. Format: `organizations/{org_id}`", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/accessPolicies", + "response": { + "$ref": "ListAccessPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an AccessPolicy. The longrunning Operation from this RPC will have a successful status once the changes to the AccessPolicy have propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}", + "httpMethod": "PATCH", + "id": "accesscontextmanager.accessPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask to control which fields get updated. Must be non-empty.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "AccessPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "accessLevels": { + "methods": { + "create": { + "description": "Create an Access Level. The longrunning operation from this RPC will have a successful status once the Access Level has propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.accessLevels.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource name for the access policy which owns this Access Level. Format: `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/accessLevels", + "request": { + "$ref": "AccessLevel" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete an Access Level by resource name. The longrunning operation from this RPC will have a successful status once the Access Level has been removed from long-lasting storage.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", + "httpMethod": "DELETE", + "id": "accesscontextmanager.accessPolicies.accessLevels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the Access Level. Format: `accessPolicies/{policy_id}/accessLevels/{access_level_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get an Access Level by resource name.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.accessLevels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "accessLevelFormat": { + "description": "Whether to return `BasicLevels` in the Cloud Common Expression Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where Access Levels are returned as `BasicLevels` or `CustomLevels` based on how they were created. If set to CEL, all Access Levels are returned as `CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent `CustomLevels`.", + "enum": [ + "LEVEL_FORMAT_UNSPECIFIED", + "AS_DEFINED", + "CEL" + ], + "enumDescriptions": [ + "The format was not specified.", + "Uses the format the resource was defined in. BasicLevels are returned as BasicLevels, CustomLevels are returned as CustomLevels.", + "Use Cloud Common Expression Language when returning the resource. Both BasicLevels and CustomLevels are returned as CustomLevels." + ], + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Resource name for the Access Level. Format: `accessPolicies/{policy_id}/accessLevels/{access_level_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AccessLevel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all Access Levels for an access policy.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.accessLevels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "accessLevelFormat": { + "description": "Whether to return `BasicLevels` in the Cloud Common Expression language, as `CustomLevels`, rather than as `BasicLevels`. Defaults to returning `AccessLevels` in the format they were defined.", + "enum": [ + "LEVEL_FORMAT_UNSPECIFIED", + "AS_DEFINED", + "CEL" + ], + "enumDescriptions": [ + "The format was not specified.", + "Uses the format the resource was defined in. BasicLevels are returned as BasicLevels, CustomLevels are returned as CustomLevels.", + "Use Cloud Common Expression Language when returning the resource. Both BasicLevels and CustomLevels are returned as CustomLevels." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of Access Levels to include in the list. Default 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Next page token for the next batch of Access Level instances. Defaults to the first page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name for the access policy to list Access Levels from. Format: `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/accessLevels", + "response": { + "$ref": "ListAccessLevelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an Access Level. The longrunning operation from this RPC will have a successful status once the changes to the Access Level have propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", + "httpMethod": "PATCH", + "id": "accesscontextmanager.accessPolicies.accessLevels.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`.", + "location": "path", + "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask to control which fields get updated. Must be non-empty.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "AccessLevel" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "servicePerimeters": { + "methods": { + "create": { + "description": "Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource name for the access policy which owns this Service Perimeter. Format: `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/servicePerimeters", + "request": { + "$ref": "ServicePerimeter" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a Service Perimeter by resource name. The longrunning operation from this RPC will have a successful status once the Service Perimeter has been removed from long-lasting storage.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", + "httpMethod": "DELETE", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the Service Perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a Service Perimeter by resource name.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the Service Perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "ServicePerimeter" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all Service Perimeters for an access policy.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters", + "httpMethod": "GET", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Number of Service Perimeters to include in the list. Default 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Next page token for the next batch of Service Perimeter instances. Defaults to the first page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name for the access policy to list Service Perimeters from. Format: `accessPolicies/{policy_id}`", + "location": "path", + "pattern": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/servicePerimeters", + "response": { + "$ref": "ListServicePerimetersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a Service Perimeter. The longrunning operation from this RPC will have a successful status once the changes to the Service Perimeter have propagated to long-lasting storage. Service Perimeter containing errors will result in an error response for the first error encountered.", + "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", + "httpMethod": "PATCH", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", + "location": "path", + "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask to control which fields get updated. Must be non-empty.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "ServicePerimeter" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta/operations/{operationsId}", + "httpMethod": "GET", + "id": "accesscontextmanager.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20231113", + "rootUrl": "https://accesscontextmanager.googleapis.com/", + "schemas": { + "AccessContextManagerOperationMetadata": { + "description": "Metadata of Access Context Manager's Long Running Operations.", + "id": "AccessContextManagerOperationMetadata", + "properties": {}, + "type": "object" + }, + "AccessLevel": { + "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.", + "id": "AccessLevel", + "properties": { + "basic": { + "$ref": "BasicLevel", + "description": "A `BasicLevel` composed of `Conditions`." + }, + "custom": { + "$ref": "CustomLevel", + "description": "A `CustomLevel` written in the Common Expression Language." + }, + "description": { + "description": "Description of the `AccessLevel` and its use. Does not affect behavior.", + "type": "string" + }, + "name": { + "description": "Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`.", + "type": "string" + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + } + }, + "type": "object" + }, + "AccessPolicy": { + "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.", + "id": "AccessPolicy", + "properties": { + "name": { + "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "type": "string" + }, + "parent": { + "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`", + "type": "string" + }, + "title": { + "description": "Required. Human readable title. Does not affect behavior.", + "type": "string" + } + }, + "type": "object" + }, + "BasicLevel": { + "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", + "id": "BasicLevel", + "properties": { + "combiningFunction": { + "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.", + "enum": [ + "AND", + "OR" + ], + "enumDescriptions": [ + "All `Conditions` must be true for the `BasicLevel` to be true.", + "If at least one `Condition` is true, then the `BasicLevel` is true." + ], + "type": "string" + }, + "conditions": { + "description": "Required. A list of requirements for the `AccessLevel` to be granted.", + "items": { + "$ref": "Condition" + }, + "type": "array" + } + }, + "type": "object" + }, + "Condition": { + "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.", + "id": "Condition", + "properties": { + "devicePolicy": { + "$ref": "DevicePolicy", + "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed." + }, + "ipSubnetworks": { + "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "members": { + "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.", + "items": { + "type": "string" + }, + "type": "array" + }, + "negate": { + "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields. Any non-empty field criteria evaluating to false will result in the Condition to be satisfied. Defaults to false.", + "type": "boolean" + }, + "regions": { + "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredAccessLevels": { + "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomLevel": { + "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec", + "id": "CustomLevel", + "properties": { + "expr": { + "$ref": "Expr", + "description": "Required. A Cloud CEL expression evaluating to a boolean." + } + }, + "type": "object" + }, + "DevicePolicy": { + "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.", + "id": "DevicePolicy", + "properties": { + "allowedDeviceManagementLevels": { + "description": "Allowed device management levels, an empty list allows all management levels.", + "items": { + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "NONE", + "BASIC", + "COMPLETE" + ], + "enumDescriptions": [ + "The device's management level is not specified or not known.", + "The device is not managed.", + "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.", + "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform." + ], + "type": "string" + }, + "type": "array" + }, + "allowedEncryptionStatuses": { + "description": "Allowed encryptions statuses, an empty list allows all statuses.", + "items": { + "enum": [ + "ENCRYPTION_UNSPECIFIED", + "ENCRYPTION_UNSUPPORTED", + "UNENCRYPTED", + "ENCRYPTED" + ], + "enumDescriptions": [ + "The encryption status of the device is not specified or not known.", + "The device does not support encryption.", + "The device supports encryption, but is currently unencrypted.", + "The device is encrypted." + ], + "type": "string" + }, + "type": "array" + }, + "osConstraints": { + "description": "Allowed OS versions, an empty list allows all types and all versions.", + "items": { + "$ref": "OsConstraint" + }, + "type": "array" + }, + "requireAdminApproval": { + "description": "Whether the device needs to be approved by the customer admin.", + "type": "boolean" + }, + "requireCorpOwned": { + "description": "Whether the device needs to be corp owned.", + "type": "boolean" + }, + "requireScreenlock": { + "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.", + "type": "boolean" + } + }, + "type": "object" + }, + "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() < 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.", + "id": "Expr", + "properties": { + "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" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "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" + }, + "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" + } + }, + "type": "object" + }, + "ListAccessLevelsResponse": { + "description": "A response to `ListAccessLevelsRequest`.", + "id": "ListAccessLevelsResponse", + "properties": { + "accessLevels": { + "description": "List of the Access Level instances.", + "items": { + "$ref": "AccessLevel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If the value is empty, no further results remain.", + "type": "string" + } + }, + "type": "object" + }, + "ListAccessPoliciesResponse": { + "description": "A response to `ListAccessPoliciesRequest`.", + "id": "ListAccessPoliciesResponse", + "properties": { + "accessPolicies": { + "description": "List of the AccessPolicy instances.", + "items": { + "$ref": "AccessPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If the value is empty, no further results remain.", + "type": "string" + } + }, + "type": "object" + }, + "ListServicePerimetersResponse": { + "description": "A response to `ListServicePerimetersRequest`.", + "id": "ListServicePerimetersResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If the value is empty, no further results remain.", + "type": "string" + }, + "servicePerimeters": { + "description": "List of the Service Perimeter instances.", + "items": { + "$ref": "ServicePerimeter" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "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": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "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" + }, + "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" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "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" + } + }, + "type": "object" + }, + "OsConstraint": { + "description": "A restriction on the OS type and version of devices making requests.", + "id": "OsConstraint", + "properties": { + "minimumVersion": { + "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.", + "type": "string" + }, + "osType": { + "description": "Required. The allowed OS type.", + "enum": [ + "OS_UNSPECIFIED", + "DESKTOP_MAC", + "DESKTOP_WINDOWS", + "DESKTOP_LINUX", + "DESKTOP_CHROME_OS", + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "The operating system of the device is not specified or not known.", + "A desktop Mac operating system.", + "A desktop Windows operating system.", + "A desktop Linux operating system.", + "A desktop ChromeOS operating system.", + "An Android operating system.", + "An iOS operating system." + ], + "type": "string" + }, + "requireVerifiedChromeOs": { + "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServicePerimeter": { + "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.", + "id": "ServicePerimeter", + "properties": { + "description": { + "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", + "type": "string" + }, + "name": { + "description": "Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", + "type": "string" + }, + "perimeterType": { + "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, restricted/unrestricted service lists as well as access lists must be empty.", + "enum": [ + "PERIMETER_TYPE_REGULAR", + "PERIMETER_TYPE_BRIDGE" + ], + "enumDescriptions": [ + "Regular Perimeter. When no value is specified, the perimeter uses this type.", + "Perimeter Bridge." + ], + "type": "string" + }, + "status": { + "$ref": "ServicePerimeterConfig", + "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted/unrestricted services and access levels that determine perimeter content and boundaries." + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + } + }, + "type": "object" + }, + "ServicePerimeterConfig": { + "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.", + "id": "ServicePerimeterConfig", + "properties": { + "accessLevels": { + "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resources": { + "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "restrictedServices": { + "description": "Google Cloud services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unrestrictedServices": { + "description": "Google Cloud services that are not subject to the Service Perimeter restrictions. Deprecated. Must be set to a single wildcard \"*\". The wildcard means that unless explicitly specified by \"restricted_services\" list, any service is treated as unrestricted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcAccessibleServices": { + "$ref": "VpcAccessibleServices", + "description": "Beta. Configuration for APIs allowed within Perimeter." + } + }, + "type": "object" + }, + "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).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "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" + } + }, + "type": "object" + }, + "VpcAccessibleServices": { + "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", + "id": "VpcAccessibleServices", + "properties": { + "allowedServices": { + "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableRestriction": { + "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Access Context Manager API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/addressvalidation.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/addressvalidation.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..d201b7316a79109d45b229187c0b987c23e6e1aa --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/addressvalidation.v1.json @@ -0,0 +1,834 @@ +{ +"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/maps-platform.addressvalidation": { +"description": "Private Service: https://www.googleapis.com/auth/maps-platform.addressvalidation" +} +} +} +}, +"basePath": "", +"baseUrl": "https://addressvalidation.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Address Validation", +"description": "The Address Validation API allows developers to verify the accuracy of addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/maps/documentation/addressvalidation", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "addressvalidation:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://addressvalidation.mtls.googleapis.com/", +"name": "addressvalidation", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"v1": { +"methods": { +"provideValidationFeedback": { +"description": "Feedback about the outcome of the sequence of validation attempts. This should be the last call made after a sequence of validation calls for the same address, and should be called once the transaction is concluded. This should only be sent once for the sequence of `ValidateAddress` requests needed to validate an address fully.", +"flatPath": "v1:provideValidationFeedback", +"httpMethod": "POST", +"id": "addressvalidation.provideValidationFeedback", +"parameterOrder": [], +"parameters": {}, +"path": "v1:provideValidationFeedback", +"request": { +"$ref": "GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest" +}, +"response": { +"$ref": "GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/maps-platform.addressvalidation" +] +}, +"validateAddress": { +"description": "Validates an address.", +"flatPath": "v1:validateAddress", +"httpMethod": "POST", +"id": "addressvalidation.validateAddress", +"parameterOrder": [], +"parameters": {}, +"path": "v1:validateAddress", +"request": { +"$ref": "GoogleMapsAddressvalidationV1ValidateAddressRequest" +}, +"response": { +"$ref": "GoogleMapsAddressvalidationV1ValidateAddressResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/maps-platform.addressvalidation" +] +} +} +} +}, +"revision": "20241120", +"rootUrl": "https://addressvalidation.googleapis.com/", +"schemas": { +"GoogleGeoTypeViewport": { +"description": "A latitude-longitude viewport, represented as two diagonally opposite `low` and `high` points. A viewport is considered a closed region, i.e. it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include: - If `low` = `high`, the viewport consists of that single point. - If `low.longitude` > `high.longitude`, the longitude range is inverted (the viewport crosses the 180 degree longitude line). - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, the viewport includes all longitudes. - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, the longitude range is empty. - If `low.latitude` > `high.latitude`, the latitude range is empty. Both `low` and `high` must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error. For example, this viewport fully encloses New York City: { \"low\": { \"latitude\": 40.477398, \"longitude\": -74.259087 }, \"high\": { \"latitude\": 40.91618, \"longitude\": -73.70018 } }", +"id": "GoogleGeoTypeViewport", +"properties": { +"high": { +"$ref": "GoogleTypeLatLng", +"description": "Required. The high point of the viewport." +}, +"low": { +"$ref": "GoogleTypeLatLng", +"description": "Required. The low point of the viewport." +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1Address": { +"description": "Details of the post-processed address. Post-processing includes correcting misspelled parts of the address, replacing incorrect parts, and inferring missing parts.", +"id": "GoogleMapsAddressvalidationV1Address", +"properties": { +"addressComponents": { +"description": "Unordered list. The individual address components of the formatted and corrected address, along with validation information. This provides information on the validation status of the individual components. Address components are not ordered in a particular way. Do not make any assumptions on the ordering of the address components in the list.", +"items": { +"$ref": "GoogleMapsAddressvalidationV1AddressComponent" +}, +"type": "array" +}, +"formattedAddress": { +"description": "The post-processed address, formatted as a single-line address following the address formatting rules of the region where the address is located. Note: the format of this address may not match the format of the address in the `postal_address` field. For example, the `postal_address` always represents the country as a 2 letter `region_code`, such as \"US\" or \"NZ\". By contrast, this field uses a longer form of the country name, such as \"USA\" or \"New Zealand\".", +"type": "string" +}, +"missingComponentTypes": { +"description": "The types of components that were expected to be present in a correctly formatted mailing address but were not found in the input AND could not be inferred. Components of this type are not present in `formatted_address`, `postal_address`, or `address_components`. An example might be `['street_number', 'route']` for an input like \"Boulder, Colorado, 80301, USA\". The list of possible types can be found [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types).", +"items": { +"type": "string" +}, +"type": "array" +}, +"postalAddress": { +"$ref": "GoogleTypePostalAddress", +"description": "The post-processed address represented as a postal address." +}, +"unconfirmedComponentTypes": { +"description": "The types of the components that are present in the `address_components` but could not be confirmed to be correct. This field is provided for the sake of convenience: its contents are equivalent to iterating through the `address_components` to find the types of all the components where the confirmation_level is not CONFIRMED or the inferred flag is not set to `true`. The list of possible types can be found [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types).", +"items": { +"type": "string" +}, +"type": "array" +}, +"unresolvedTokens": { +"description": "Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address. For example, for an input such as \"Parcel 0000123123 & 0000456456 Str # Guthrie Center IA 50115 US\", the unresolved tokens might look like `[\"Parcel\", \"0000123123\", \"&\", \"0000456456\"]`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1AddressComponent": { +"description": "Represents an address component, such as a street, city, or state.", +"id": "GoogleMapsAddressvalidationV1AddressComponent", +"properties": { +"componentName": { +"$ref": "GoogleMapsAddressvalidationV1ComponentName", +"description": "The name for this component." +}, +"componentType": { +"description": "The type of the address component. See [Table 2: Additional types returned by the Places service](https://developers.google.com/places/web-service/supported_types#table2) for a list of possible types.", +"type": "string" +}, +"confirmationLevel": { +"description": "Indicates the level of certainty that we have that the component is correct.", +"enum": [ +"CONFIRMATION_LEVEL_UNSPECIFIED", +"CONFIRMED", +"UNCONFIRMED_BUT_PLAUSIBLE", +"UNCONFIRMED_AND_SUSPICIOUS" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"We were able to verify that this component exists and makes sense in the context of the rest of the address.", +"This component could not be confirmed, but it is plausible that it exists. For example, a street number within a known valid range of numbers on a street where specific house numbers are not known.", +"This component was not confirmed and is likely to be wrong. For example, a neighborhood that does not fit the rest of the address." +], +"type": "string" +}, +"inferred": { +"description": "Indicates that the component was not part of the input, but we inferred it for the address location and believe it should be provided for a complete address.", +"type": "boolean" +}, +"replaced": { +"description": "Indicates the name of the component was replaced with a completely different one, for example a wrong postal code being replaced with one that is correct for the address. This is not a cosmetic change, the input component has been changed to a different one.", +"type": "boolean" +}, +"spellCorrected": { +"description": "Indicates a correction to a misspelling in the component name. The API does not always flag changes from one spelling variant to another, such as when changing \"centre\" to \"center\". It also does not always flag common misspellings, such as when changing \"Amphitheater Pkwy\" to \"Amphitheatre Pkwy\".", +"type": "boolean" +}, +"unexpected": { +"description": "Indicates an address component that is not expected to be present in a postal address for the given region. We have retained it only because it was part of the input.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1AddressMetadata": { +"description": "The metadata for the address. `metadata` is not guaranteed to be fully populated for every address sent to the Address Validation API.", +"id": "GoogleMapsAddressvalidationV1AddressMetadata", +"properties": { +"business": { +"description": "Indicates that this is the address of a business. If unset, indicates that the value is unknown.", +"type": "boolean" +}, +"poBox": { +"description": "Indicates that the address of a PO box. If unset, indicates that the value is unknown.", +"type": "boolean" +}, +"residential": { +"description": "Indicates that this is the address of a residence. If unset, indicates that the value is unknown.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ComponentName": { +"description": "A wrapper for the name of the component.", +"id": "GoogleMapsAddressvalidationV1ComponentName", +"properties": { +"languageCode": { +"description": "The BCP-47 language code. This will not be present if the component name is not associated with a language, such as a street number.", +"type": "string" +}, +"text": { +"description": "The name text. For example, \"5th Avenue\" for a street name or \"1253\" for a street number.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1Geocode": { +"description": "Contains information about the place the input was geocoded to.", +"id": "GoogleMapsAddressvalidationV1Geocode", +"properties": { +"bounds": { +"$ref": "GoogleGeoTypeViewport", +"description": "The bounds of the geocoded place." +}, +"featureSizeMeters": { +"description": "The size of the geocoded place, in meters. This is another measure of the coarseness of the geocoded location, but in physical size rather than in semantic meaning.", +"format": "float", +"type": "number" +}, +"location": { +"$ref": "GoogleTypeLatLng", +"description": "The geocoded location of the input. Using place IDs is preferred over using addresses, latitude/longitude coordinates, or plus codes. Using coordinates when routing or calculating driving directions will always result in the point being snapped to the road nearest to those coordinates. This may not be a road that will quickly or safely lead to the destination and may not be near an access point to the property. Additionally, when a location is reverse geocoded, there is no guarantee that the returned address will match the original." +}, +"placeId": { +"description": "The PlaceID of the place this input geocodes to. For more information about Place IDs see [here](https://developers.google.com/maps/documentation/places/web-service/place-id).", +"type": "string" +}, +"placeTypes": { +"description": "The type(s) of place that the input geocoded to. For example, `['locality', 'political']`. The full list of types can be found [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types).", +"items": { +"type": "string" +}, +"type": "array" +}, +"plusCode": { +"$ref": "GoogleMapsAddressvalidationV1PlusCode", +"description": "The plus code corresponding to the `location`." +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1LanguageOptions": { +"description": "Preview: This feature is in Preview (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](https://developers.google.com/maps/launch-stages). Enables the Address Validation API to include additional information in the response.", +"id": "GoogleMapsAddressvalidationV1LanguageOptions", +"properties": { +"returnEnglishLatinAddress": { +"description": "Preview: Return a [google.maps.addressvalidation.v1.Address] in English. See [google.maps.addressvalidation.v1.ValidationResult.english_latin_address] for details.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1PlusCode": { +"description": "Plus code (http://plus.codes) is a location reference with two formats: global code defining a 14mx14m (1/8000th of a degree) or smaller rectangle, and compound code, replacing the prefix with a reference location.", +"id": "GoogleMapsAddressvalidationV1PlusCode", +"properties": { +"compoundCode": { +"description": "Place's compound code, such as \"33GV+HQ, Ramberg, Norway\", containing the suffix of the global code and replacing the prefix with a formatted name of a reference entity.", +"type": "string" +}, +"globalCode": { +"description": "Place's global (full) code, such as \"9FWM33GV+HQ\", representing an 1/8000 by 1/8000 degree area (~14 by 14 meters).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest": { +"description": "The request for sending validation feedback.", +"id": "GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest", +"properties": { +"conclusion": { +"description": "Required. The outcome of the sequence of validation attempts. If this field is set to `VALIDATION_CONCLUSION_UNSPECIFIED`, an `INVALID_ARGUMENT` error will be returned.", +"enum": [ +"VALIDATION_CONCLUSION_UNSPECIFIED", +"VALIDATED_VERSION_USED", +"USER_VERSION_USED", +"UNVALIDATED_VERSION_USED", +"UNUSED" +], +"enumDescriptions": [ +"This value is unused. If the `ProvideValidationFeedbackRequest.conclusion` field is set to `VALIDATION_CONCLUSION_UNSPECIFIED`, an `INVALID_ARGUMENT` error will be returned.", +"The version of the address returned by the Address Validation API was used for the transaction.", +"The version of the address provided by the user was used for the transaction", +"A version of the address that was entered after the last validation attempt but that was not re-validated was used for the transaction.", +"The transaction was abandoned and the address was not used." +], +"type": "string" +}, +"responseId": { +"description": "Required. The ID of the response that this feedback is for. This should be the response_id from the first response in a series of address validation attempts.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse": { +"description": "The response for validation feedback. The response is empty if the feedback is sent successfully.", +"id": "GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse", +"properties": {}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1UspsAddress": { +"description": "USPS representation of a US address.", +"id": "GoogleMapsAddressvalidationV1UspsAddress", +"properties": { +"city": { +"description": "City name.", +"type": "string" +}, +"cityStateZipAddressLine": { +"description": "City + state + postal code.", +"type": "string" +}, +"firm": { +"description": "Firm name.", +"type": "string" +}, +"firstAddressLine": { +"description": "First address line.", +"type": "string" +}, +"secondAddressLine": { +"description": "Second address line.", +"type": "string" +}, +"state": { +"description": "2 letter state code.", +"type": "string" +}, +"urbanization": { +"description": "Puerto Rican urbanization name.", +"type": "string" +}, +"zipCode": { +"description": "Postal code e.g. 10009.", +"type": "string" +}, +"zipCodeExtension": { +"description": "4-digit postal code extension e.g. 5023.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1UspsData": { +"description": "The USPS data for the address. `uspsData` is not guaranteed to be fully populated for every US or PR address sent to the Address Validation API. It's recommended to integrate the backup address fields in the response if you utilize uspsData as the primary part of the response.", +"id": "GoogleMapsAddressvalidationV1UspsData", +"properties": { +"abbreviatedCity": { +"description": "Abbreviated city.", +"type": "string" +}, +"addressRecordType": { +"description": "Type of the address record that matches the input address. * `F`: FIRM. This is a match to a Firm Record, which is the finest level of match available for an address. * `G`: GENERAL DELIVERY. This is a match to a General Delivery record. * `H`: BUILDING / APARTMENT. This is a match to a Building or Apartment record. * `P`: POST OFFICE BOX. This is a match to a Post Office Box. * `R`: RURAL ROUTE or HIGHWAY CONTRACT: This is a match to either a Rural Route or a Highway Contract record, both of which may have associated Box Number ranges. * `S`: STREET RECORD: This is a match to a Street record containing a valid primary number range.", +"type": "string" +}, +"carrierRoute": { +"description": "The carrier route code. A four character code consisting of a one letter prefix and a three digit route designator. Prefixes: * `C`: Carrier route (or city route) * `R`: Rural route * `H`: Highway Contract Route * `B`: Post Office Box Section * `G`: General delivery unit", +"type": "string" +}, +"carrierRouteIndicator": { +"description": "Carrier route rate sort indicator.", +"type": "string" +}, +"cassProcessed": { +"description": "Indicator that the request has been CASS processed.", +"type": "boolean" +}, +"county": { +"description": "County name.", +"type": "string" +}, +"defaultAddress": { +"description": "Indicator that a default address was found, but more specific addresses exists.", +"type": "boolean" +}, +"deliveryPointCheckDigit": { +"description": "The delivery point check digit. This number is added to the end of the delivery_point_barcode for mechanically scanned mail. Adding all the digits of the delivery_point_barcode, delivery_point_check_digit, postal code, and ZIP+4 together should yield a number divisible by 10.", +"type": "string" +}, +"deliveryPointCode": { +"description": "2 digit delivery point code", +"type": "string" +}, +"dpvCmra": { +"description": "Indicates if the address is a CMRA (Commercial Mail Receiving Agency)--a private business receiving mail for clients. Returns a single character. * `Y`: The address is a CMRA * `N`: The address is not a CMRA", +"type": "string" +}, +"dpvConfirmation": { +"description": "The possible values for DPV confirmation. Returns a single character or returns no value. * `N`: Primary and any secondary number information failed to DPV confirm. * `D`: Address was DPV confirmed for the primary number only, and the secondary number information was missing. * `S`: Address was DPV confirmed for the primary number only, and the secondary number information was present but not confirmed. * `Y`: Address was DPV confirmed for primary and any secondary numbers. * Empty: If the response does not contain a `dpv_confirmation` value, the address was not submitted for DPV confirmation.", +"type": "string" +}, +"dpvDoorNotAccessible": { +"description": "Flag indicates addresses where USPS cannot knock on a door to deliver mail. Returns a single character. * `Y`: The door is not accessible. * `N`: No indication the door is not accessible.", +"type": "string" +}, +"dpvDrop": { +"description": "Flag indicates mail is delivered to a single receptable at a site. Returns a single character. * `Y`: The mail is delivered to a single receptable at a site. * `N`: The mail is not delivered to a single receptable at a site.", +"type": "string" +}, +"dpvEnhancedDeliveryCode": { +"description": "Indicates that more than one DPV return code is valid for the address. Returns a single character. * `Y`: Address was DPV confirmed for primary and any secondary numbers. * `N`: Primary and any secondary number information failed to DPV confirm. * `S`: Address was DPV confirmed for the primary number only, and the secondary number information was present but not confirmed, or a single trailing alpha on a primary number was dropped to make a DPV match and secondary information required. * `D`: Address was DPV confirmed for the primary number only, and the secondary number information was missing. * `R`: Address confirmed but assigned to phantom route R777 and R779 and USPS delivery is not provided.", +"type": "string" +}, +"dpvFootnote": { +"description": "The footnotes from delivery point validation. Multiple footnotes may be strung together in the same string. * `AA`: Input address matched to the ZIP+4 file * `A1`: Input address was not matched to the ZIP+4 file * `BB`: Matched to DPV (all components) * `CC`: Secondary number not matched and not required * `C1`: Secondary number not matched but required * `N1`: High-rise address missing secondary number * `M1`: Primary number missing * `M3`: Primary number invalid * `P1`: Input address PO, RR or HC box number missing * `P3`: Input address PO, RR, or HC Box number invalid * `F1`: Input address matched to a military address * `G1`: Input address matched to a general delivery address * `U1`: Input address matched to a unique ZIP code * `PB`: Input address matched to PBSA record * `RR`: DPV confirmed address with PMB information * `R1`: DPV confirmed address without PMB information * `R7`: Carrier Route R777 or R779 record * `IA`: Informed Address identified * `TA`: Primary number matched by dropping a trailing alpha", +"type": "string" +}, +"dpvNoSecureLocation": { +"description": "Flag indicates door is accessible, but package will not be left due to security concerns. Returns a single character. * `Y`: The package will not be left due to security concerns. * `N`: No indication the package will not be left due to security concerns.", +"type": "string" +}, +"dpvNoStat": { +"description": "Is this a no stat address or an active address? No stat addresses are ones which are not continuously occupied or addresses that the USPS does not service. Returns a single character. * `Y`: The address is not active * `N`: The address is active", +"type": "string" +}, +"dpvNoStatReasonCode": { +"description": "Indicates the NoStat type. Returns a reason code as int. * `1`: IDA (Internal Drop Address) \u2013 Addresses that do not receive mail directly from the USPS but are delivered to a drop address that services them. * `2`: CDS - Addresses that have not yet become deliverable. For example, a new subdivision where lots and primary numbers have been determined, but no structure exists yet for occupancy. * `3`: Collision - Addresses that do not actually DPV confirm. * `4`: CMZ (College, Military and Other Types) - ZIP + 4 records USPS has incorporated into the data. * `5`: Regular - Indicates addresses not receiving delivery and the addresses are not counted as possible deliveries. * `6`: Secondary Required - The address requires secondary information.", +"format": "int32", +"type": "integer" +}, +"dpvNonDeliveryDays": { +"description": "Flag indicates mail delivery is not performed every day of the week. Returns a single character. * `Y`: The mail delivery is not performed every day of the week. * `N`: No indication the mail delivery is not performed every day of the week.", +"type": "string" +}, +"dpvNonDeliveryDaysValues": { +"description": "Integer identifying non-delivery days. It can be interrogated using bit flags: 0x40 \u2013 Sunday is a non-delivery day 0x20 \u2013 Monday is a non-delivery day 0x10 \u2013 Tuesday is a non-delivery day 0x08 \u2013 Wednesday is a non-delivery day 0x04 \u2013 Thursday is a non-delivery day 0x02 \u2013 Friday is a non-delivery day 0x01 \u2013 Saturday is a non-delivery day", +"format": "int32", +"type": "integer" +}, +"dpvPbsa": { +"description": "Indicates the address was matched to PBSA record. Returns a single character. * `Y`: The address was matched to PBSA record. * `N`: The address was not matched to PBSA record.", +"type": "string" +}, +"dpvThrowback": { +"description": "Indicates that mail is not delivered to the street address. Returns a single character. * `Y`: The mail is not delivered to the street address. * `N`: The mail is delivered to the street address.", +"type": "string" +}, +"dpvVacant": { +"description": "Is this place vacant? Returns a single character. * `Y`: The address is vacant * `N`: The address is not vacant", +"type": "string" +}, +"elotFlag": { +"description": "eLOT Ascending/Descending Flag (A/D).", +"type": "string" +}, +"elotNumber": { +"description": "Enhanced Line of Travel (eLOT) number.", +"type": "string" +}, +"errorMessage": { +"description": "Error message for USPS data retrieval. This is populated when USPS processing is suspended because of the detection of artificially created addresses. The USPS data fields might not be populated when this error is present.", +"type": "string" +}, +"ewsNoMatch": { +"description": "The delivery address is matchable, but the EWS file indicates that an exact match will be available soon.", +"type": "boolean" +}, +"fipsCountyCode": { +"description": "FIPS county code.", +"type": "string" +}, +"lacsLinkIndicator": { +"description": "LACSLink indicator.", +"type": "string" +}, +"lacsLinkReturnCode": { +"description": "LACSLink return code.", +"type": "string" +}, +"pmbDesignator": { +"description": "PMB (Private Mail Box) unit designator.", +"type": "string" +}, +"pmbNumber": { +"description": "PMB (Private Mail Box) number;", +"type": "string" +}, +"poBoxOnlyPostalCode": { +"description": "PO Box only postal code.", +"type": "boolean" +}, +"postOfficeCity": { +"description": "Main post office city.", +"type": "string" +}, +"postOfficeState": { +"description": "Main post office state.", +"type": "string" +}, +"standardizedAddress": { +"$ref": "GoogleMapsAddressvalidationV1UspsAddress", +"description": "USPS standardized address." +}, +"suitelinkFootnote": { +"description": "Footnotes from matching a street or highrise record to suite information. If business name match is found, the secondary number is returned. * `A`: SuiteLink record match, business address improved. * `00`: No match, business address is not improved.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ValidateAddressRequest": { +"description": "The request for validating an address.", +"id": "GoogleMapsAddressvalidationV1ValidateAddressRequest", +"properties": { +"address": { +"$ref": "GoogleTypePostalAddress", +"description": "Required. The address being validated. Unformatted addresses should be submitted via `address_lines`. The total length of the fields in this input must not exceed 280 characters. Supported regions can be found [here](https://developers.google.com/maps/documentation/address-validation/coverage). The language_code value in the input address is reserved for future uses and is ignored today. The validated address result will be populated based on the preferred language for the given address, as identified by the system. The Address Validation API ignores the values in recipients and organization. Any values in those fields will be discarded and not returned. Please do not set them." +}, +"enableUspsCass": { +"description": "Enables USPS CASS compatible mode. This affects _only_ the [google.maps.addressvalidation.v1.ValidationResult.usps_data] field of [google.maps.addressvalidation.v1.ValidationResult]. Note: for USPS CASS enabled requests for addresses in Puerto Rico, a [google.type.PostalAddress.region_code] of the `address` must be provided as \"PR\", or an [google.type.PostalAddress.administrative_area] of the `address` must be provided as \"Puerto Rico\" (case-insensitive) or \"PR\". It's recommended to use a componentized `address`, or alternatively specify at least two [google.type.PostalAddress.address_lines] where the first line contains the street number and name and the second line contains the city, state, and zip code.", +"type": "boolean" +}, +"languageOptions": { +"$ref": "GoogleMapsAddressvalidationV1LanguageOptions", +"description": "Optional. Preview: This feature is in Preview (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](https://developers.google.com/maps/launch-stages). Enables the Address Validation API to include additional information in the response." +}, +"previousResponseId": { +"description": "This field must be empty for the first address validation request. If more requests are necessary to fully validate a single address (for example if the changes the user makes after the initial validation need to be re-validated), then each followup request must populate this field with the response_id from the very first response in the validation sequence.", +"type": "string" +}, +"sessionToken": { +"description": "Optional. A string which identifies an Autocomplete session for billing purposes. Must be a URL and filename safe base64 string with at most 36 ASCII characters in length. Otherwise an INVALID_ARGUMENT error is returned. The session begins when the user makes an Autocomplete query, and concludes when they select a place and a call to Place Details or Address Validation is made. Each session can have multiple Autocomplete queries, followed by one Place Details or Address Validation request. The credentials used for each request within a session must belong to the same Google Cloud Console project. Once a session has concluded, the token is no longer valid; your app must generate a fresh token for each session. If the `sessionToken` parameter is omitted, or if you reuse a session token, the session is charged as if no session token was provided (each request is billed separately). Note: Address Validation can only be used in sessions with the Autocomplete (New) API, not the Autocomplete API. See https://developers.google.com/maps/documentation/places/web-service/session-pricing for more details.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ValidateAddressResponse": { +"description": "The response to an address validation request.", +"id": "GoogleMapsAddressvalidationV1ValidateAddressResponse", +"properties": { +"responseId": { +"description": "The UUID that identifies this response. If the address needs to be re-validated, this UUID *must* accompany the new request.", +"type": "string" +}, +"result": { +"$ref": "GoogleMapsAddressvalidationV1ValidationResult", +"description": "The result of the address validation." +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1ValidationResult": { +"description": "The result of validating an address.", +"id": "GoogleMapsAddressvalidationV1ValidationResult", +"properties": { +"address": { +"$ref": "GoogleMapsAddressvalidationV1Address", +"description": "Information about the address itself as opposed to the geocode." +}, +"englishLatinAddress": { +"$ref": "GoogleMapsAddressvalidationV1Address", +"description": "Preview: This feature is in Preview (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](https://developers.google.com/maps/launch-stages). The address translated to English. Translated addresses are not reusable as API input. The service provides them so that the user can use their native language to confirm or deny the validation of the originally-provided address. If part of the address doesn't have an English translation, the service returns that part in an alternate language that uses a Latin script. See [here](https://developers.google.com/maps/documentation/address-validation/convert-addresses-english) for an explanation of how the alternate language is selected. If part of the address doesn't have any translations or transliterations in a language that uses a Latin script, the service returns that part in the local language associated with the address. Enable this output by using the [google.maps.addressvalidation.v1.LanguageOptions.return_english_latin_address] flag. Note: the [google.maps.addressvalidation.v1.Address.unconfirmed_component_types] field in the `english_latin_address` and the [google.maps.addressvalidation.v1.AddressComponent.confirmation_level] fields in `english_latin_address.address_components` are not populated." +}, +"geocode": { +"$ref": "GoogleMapsAddressvalidationV1Geocode", +"description": "Information about the location and place that the address geocoded to." +}, +"metadata": { +"$ref": "GoogleMapsAddressvalidationV1AddressMetadata", +"description": "Other information relevant to deliverability. `metadata` is not guaranteed to be fully populated for every address sent to the Address Validation API." +}, +"uspsData": { +"$ref": "GoogleMapsAddressvalidationV1UspsData", +"description": "Extra deliverability flags provided by USPS. Only provided in region `US` and `PR`." +}, +"verdict": { +"$ref": "GoogleMapsAddressvalidationV1Verdict", +"description": "Overall verdict flags" +} +}, +"type": "object" +}, +"GoogleMapsAddressvalidationV1Verdict": { +"description": "High level overview of the address validation result and geocode.", +"id": "GoogleMapsAddressvalidationV1Verdict", +"properties": { +"addressComplete": { +"description": "The address is considered complete if there are no unresolved tokens, no unexpected or missing address components. If unset, indicates that the value is `false`. See `missing_component_types`, `unresolved_tokens` or `unexpected` fields for more details.", +"type": "boolean" +}, +"geocodeGranularity": { +"description": "Information about the granularity of the `geocode`. This can be understood as the semantic meaning of how coarse or fine the geocoded location is. This can differ from the `validation_granularity` above occasionally. For example, our database might record the existence of an apartment number but do not have a precise location for the apartment within a big apartment complex. In that case, the `validation_granularity` will be `SUB_PREMISE` but the `geocode_granularity` will be `PREMISE`.", +"enum": [ +"GRANULARITY_UNSPECIFIED", +"SUB_PREMISE", +"PREMISE", +"PREMISE_PROXIMITY", +"BLOCK", +"ROUTE", +"OTHER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Below-building level result, such as an apartment.", +"Building-level result.", +"A geocode that approximates the building-level location of the address.", +"The address or geocode indicates a block. Only used in regions which have block-level addressing, such as Japan.", +"The geocode or address is granular to route, such as a street, road, or highway.", +"All other granularities, which are bucketed together since they are not deliverable." +], +"type": "string" +}, +"hasInferredComponents": { +"description": "At least one address component was inferred (added) that wasn't in the input, see [google.maps.addressvalidation.v1.Address.address_components] for details.", +"type": "boolean" +}, +"hasReplacedComponents": { +"description": "At least one address component was replaced, see [google.maps.addressvalidation.v1.Address.address_components] for details.", +"type": "boolean" +}, +"hasUnconfirmedComponents": { +"description": "At least one address component cannot be categorized or validated, see [google.maps.addressvalidation.v1.Address.address_components] for details.", +"type": "boolean" +}, +"inputGranularity": { +"description": "The granularity of the **input** address. This is the result of parsing the input address and does not give any validation signals. For validation signals, refer to `validation_granularity` below. For example, if the input address includes a specific apartment number, then the `input_granularity` here will be `SUB_PREMISE`. If we cannot match the apartment number in the databases or the apartment number is invalid, the `validation_granularity` will likely be `PREMISE` or below.", +"enum": [ +"GRANULARITY_UNSPECIFIED", +"SUB_PREMISE", +"PREMISE", +"PREMISE_PROXIMITY", +"BLOCK", +"ROUTE", +"OTHER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Below-building level result, such as an apartment.", +"Building-level result.", +"A geocode that approximates the building-level location of the address.", +"The address or geocode indicates a block. Only used in regions which have block-level addressing, such as Japan.", +"The geocode or address is granular to route, such as a street, road, or highway.", +"All other granularities, which are bucketed together since they are not deliverable." +], +"type": "string" +}, +"validationGranularity": { +"description": "The granularity level that the API can fully **validate** the address to. For example, an `validation_granularity` of `PREMISE` indicates all address components at the level of `PREMISE` or more coarse can be validated. Per address component validation result can be found in [google.maps.addressvalidation.v1.Address.address_components].", +"enum": [ +"GRANULARITY_UNSPECIFIED", +"SUB_PREMISE", +"PREMISE", +"PREMISE_PROXIMITY", +"BLOCK", +"ROUTE", +"OTHER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Below-building level result, such as an apartment.", +"Building-level result.", +"A geocode that approximates the building-level location of the address.", +"The address or geocode indicates a block. Only used in regions which have block-level addressing, such as Japan.", +"The geocode or address is granular to route, such as a street, road, or highway.", +"All other granularities, which are bucketed together since they are not deliverable." +], +"type": "string" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleTypeLatLng", +"properties": { +"latitude": { +"description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleTypePostalAddress": { +"description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", +"id": "GoogleTypePostalAddress", +"properties": { +"addressLines": { +"description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", +"items": { +"type": "string" +}, +"type": "array" +}, +"administrativeArea": { +"description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", +"type": "string" +}, +"languageCode": { +"description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", +"type": "string" +}, +"locality": { +"description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", +"type": "string" +}, +"organization": { +"description": "Optional. The name of the organization at the address.", +"type": "string" +}, +"postalCode": { +"description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", +"type": "string" +}, +"recipients": { +"description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regionCode": { +"description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", +"type": "string" +}, +"revision": { +"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", +"format": "int32", +"type": "integer" +}, +"sortingCode": { +"description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example C\u00f4te d'Ivoire).", +"type": "string" +}, +"sublocality": { +"description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Address Validation API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directoryv1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directoryv1.json new file mode 100644 index 0000000000000000000000000000000000000000..cd2b4fc0f5aba2ef94e5469ba7968d35985cad6d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directoryv1.json @@ -0,0 +1,8729 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/admin.chrome.printers": { +"description": "See, add, edit, and permanently delete the printers that your organization can use with Chrome" +}, +"https://www.googleapis.com/auth/admin.chrome.printers.readonly": { +"description": "See the printers that your organization can use with Chrome" +}, +"https://www.googleapis.com/auth/admin.directory.customer": { +"description": "View and manage customer related information" +}, +"https://www.googleapis.com/auth/admin.directory.customer.readonly": { +"description": "View customer related information" +}, +"https://www.googleapis.com/auth/admin.directory.device.chromeos": { +"description": "View and manage your ChromeOS devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly": { +"description": "View your ChromeOS devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile": { +"description": "View and manage your mobile devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile.action": { +"description": "Manage your mobile devices by performing administrative tasks" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile.readonly": { +"description": "View your mobile devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.domain": { +"description": "View and manage the provisioning of domains for your customers" +}, +"https://www.googleapis.com/auth/admin.directory.domain.readonly": { +"description": "View domains related to your customers" +}, +"https://www.googleapis.com/auth/admin.directory.group": { +"description": "View and manage the provisioning of groups on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.member": { +"description": "View and manage group subscriptions on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.member.readonly": { +"description": "View group subscriptions on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.readonly": { +"description": "View groups on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.orgunit": { +"description": "View and manage organization units on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.orgunit.readonly": { +"description": "View organization units on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.resource.calendar": { +"description": "View and manage the provisioning of calendar resources on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly": { +"description": "View calendar resources on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.rolemanagement": { +"description": "Manage delegated admin roles for your domain" +}, +"https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly": { +"description": "View delegated admin roles for your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user": { +"description": "View and manage the provisioning of users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.alias": { +"description": "View and manage user aliases on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.alias.readonly": { +"description": "View user aliases on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.readonly": { +"description": "See info about users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.security": { +"description": "Manage data access permissions for users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.userschema": { +"description": "View and manage the provisioning of user schemas on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.userschema.readonly": { +"description": "View user schemas on your domain" +}, +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://admin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "directory", +"description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admin-sdk/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "admin:directory_v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://admin.mtls.googleapis.com/", +"name": "admin", +"ownerDomain": "google.com", +"ownerName": "Google", +"packagePath": "admin", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"asps": { +"methods": { +"delete": { +"description": "Deletes an ASP issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"httpMethod": "DELETE", +"id": "directory.asps.delete", +"parameterOrder": [ +"userKey", +"codeId" +], +"parameters": { +"codeId": { +"description": "The unique ID of the ASP to be deleted.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +}, +"get": { +"description": "Gets information about an ASP issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"httpMethod": "GET", +"id": "directory.asps.get", +"parameterOrder": [ +"userKey", +"codeId" +], +"parameters": { +"codeId": { +"description": "The unique ID of the ASP.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"response": { +"$ref": "Asp" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +}, +"list": { +"description": "Lists the ASPs issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps", +"httpMethod": "GET", +"id": "directory.asps.list", +"parameterOrder": [ +"userKey" +], +"parameters": { +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps", +"response": { +"$ref": "Asps" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +} +} +}, +"channels": { +"methods": { +"stop": { +"description": "Stops watching resources through this channel.", +"flatPath": "admin/directory_v1/channels/stop", +"httpMethod": "POST", +"id": "admin.channels.stop", +"parameterOrder": [], +"parameters": {}, +"path": "admin/directory_v1/channels/stop", +"request": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user", +"https://www.googleapis.com/auth/admin.directory.user.alias", +"https://www.googleapis.com/auth/admin.directory.user.alias.readonly", +"https://www.googleapis.com/auth/admin.directory.user.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"chromeosdevices": { +"methods": { +"action": { +"deprecated": true, +"description": "Use [BatchChangeChromeOsDeviceStatus](/admin-sdk/directory/reference/rest/v1/customer.devices.chromeos/batchChangeStatus) instead. Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633).", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action", +"httpMethod": "POST", +"id": "directory.chromeosdevices.action", +"parameterOrder": [ +"customerId", +"resourceId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"resourceId": { +"description": "The unique ID of the device. The `resourceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action", +"request": { +"$ref": "ChromeOsDeviceAction" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.device.chromeos" +] +}, +"get": { +"description": "Retrieves a Chrome OS device's properties.", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}", +"httpMethod": "GET", +"id": "directory.chromeosdevices.get", +"parameterOrder": [ +"customerId", +"deviceId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"deviceId": { +"description": "The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method.", +"location": "path", +"required": true, +"type": "string" +}, +"projection": { +"description": "Determines whether the response contains the full list of properties or only a subset.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", +"Includes all metadata fields" +], +"location": "query", +"type": "string" +} +}, +"path": "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}", +"response": { +"$ref": "ChromeOsDevice" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.device.chromeos", +"https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" +] +}, +"list": { +"description": "Retrieves a paginated list of Chrome OS devices within an account.", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos", +"httpMethod": "GET", +"id": "directory.chromeosdevices.list", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"includeChildOrgunits": { +"description": "Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "100", +"description": "Maximum number of results to return. Value should not exceed 300.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"orderBy": { +"description": "Device property to use for sorting results.", +"enum": [ +"annotatedLocation", +"annotatedUser", +"lastSync", +"notes", +"serialNumber", +"status" +], +"enumDescriptions": [ +"Chrome device location as annotated by the administrator.", +"Chromebook user as annotated by administrator.", +"The date and time the Chrome device was last synchronized with the policy settings in the Admin console.", +"Chrome device notes as annotated by the administrator.", +"The Chrome device serial number entered when the device was enabled.", +"Chrome device status. For more information, see the 312e3200 TPM 2.0: \"2.0\" -> 322e3000", +"type": "string" +}, +"firmwareVersion": { +"description": "TPM firmware version.", +"type": "string" +}, +"manufacturer": { +"description": "TPM manufacturer code.", +"type": "string" +}, +"specLevel": { +"description": "TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2.", +"type": "string" +}, +"tpmModel": { +"description": "TPM model number.", +"type": "string" +}, +"vendorSpecific": { +"description": "Vendor-specific information such as Vendor ID.", +"type": "string" +} +}, +"type": "object" +}, +"willAutoRenew": { +"description": "Determines if the device will auto renew its support after the support end date. This is a read-only property.", +"type": "boolean" +} +}, +"type": "object" +}, +"ChromeOsDeviceAction": { +"description": "Data about an update to the status of a Chrome OS device.", +"id": "ChromeOsDeviceAction", +"properties": { +"action": { +"annotations": { +"required": [ +"directory.chromeosdevices.action" +] +}, +"description": "Action to be taken on the Chrome OS device.", +"type": "string" +}, +"deprovisionReason": { +"description": "Only used when the action is `deprovision`. With the `deprovision` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on licenses for perpetual subscription customers.", +"type": "string" +} +}, +"type": "object" +}, +"ChromeOsDevices": { +"id": "ChromeOsDevices", +"properties": { +"chromeosdevices": { +"description": "A list of Chrome OS Device objects.", +"items": { +"$ref": "ChromeOsDevice" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#chromeosdevices", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.", +"type": "string" +} +}, +"type": "object" +}, +"ChromeOsMoveDevicesToOu": { +"id": "ChromeOsMoveDevicesToOu", +"properties": { +"deviceIds": { +"annotations": { +"required": [ +"directory.chromeosdevices.moveDevicesToOu" +] +}, +"description": "Chrome OS devices to be moved to OU", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreatePrintServerRequest": { +"description": "Request for adding a new print server.", +"id": "CreatePrintServerRequest", +"properties": { +"parent": { +"description": "Required. The [unique ID](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers) of the customer's Google Workspace account. Format: `customers/{id}`", +"type": "string" +}, +"printServer": { +"$ref": "PrintServer", +"description": "Required. A print server to create. If you want to place the print server under a specific organizational unit (OU), then populate the `org_unit_id`. Otherwise the print server is created under the root OU. The `org_unit_id` can be retrieved using the [Directory API](https://developers.google.com/admin-sdk/directory/v1/guides/manage-org-units)." +} +}, +"type": "object" +}, +"CreatePrinterRequest": { +"description": "Request for adding a new printer.", +"id": "CreatePrinterRequest", +"properties": { +"parent": { +"description": "Required. The name of the customer. Format: customers/{customer_id}", +"type": "string" +}, +"printer": { +"$ref": "Printer", +"description": "Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU." +} +}, +"type": "object" +}, +"Customer": { +"id": "Customer", +"properties": { +"alternateEmail": { +"description": "The customer's secondary contact email address. This email address cannot be on the same domain as the `customerDomain`", +"type": "string" +}, +"customerCreationTime": { +"description": "The customer's creation time (Readonly)", +"format": "date-time", +"type": "string" +}, +"customerDomain": { +"description": "The customer's primary domain name string. Do not include the `www` prefix when creating a new customer.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID for the customer's Google Workspace account. (Readonly)", +"type": "string" +}, +"kind": { +"default": "admin#directory#customer", +"description": "Identifies the resource as a customer. Value: `admin#directory#customer`", +"type": "string" +}, +"language": { +"description": "The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. The default value is `en`.", +"type": "string" +}, +"phoneNumber": { +"description": "The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.", +"type": "string" +}, +"postalAddress": { +"$ref": "CustomerPostalAddress", +"description": "The customer's postal address information." +} +}, +"type": "object" +}, +"CustomerPostalAddress": { +"id": "CustomerPostalAddress", +"properties": { +"addressLine1": { +"description": "A customer's physical address. The address can be composed of one to three lines.", +"type": "string" +}, +"addressLine2": { +"description": "Address line 2 of the address.", +"type": "string" +}, +"addressLine3": { +"description": "Address line 3 of the address.", +"type": "string" +}, +"contactName": { +"description": "The customer contact's name.", +"type": "string" +}, +"countryCode": { +"description": "This is a required property. For `countryCode` information see the [ISO 3166 country code elements](https://www.iso.org/iso/country_codes.htm).", +"type": "string" +}, +"locality": { +"description": "Name of the locality. An example of a locality value is the city of `San Francisco`.", +"type": "string" +}, +"organizationName": { +"description": "The company or company division name.", +"type": "string" +}, +"postalCode": { +"description": "The postal code. A postalCode example is a postal zip code such as `10009`. This is in accordance with - http: //portablecontacts.net/draft-spec.html#address_element.", +"type": "string" +}, +"region": { +"description": "Name of the region. An example of a region value is `NY` for the state of New York.", +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesCommand": { +"description": "Information regarding a command that was issued to a device.", +"id": "DirectoryChromeosdevicesCommand", +"properties": { +"commandExpireTime": { +"description": "The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired.", +"format": "google-datetime", +"type": "string" +}, +"commandId": { +"description": "Unique ID of a device command.", +"format": "int64", +"type": "string" +}, +"commandResult": { +"$ref": "DirectoryChromeosdevicesCommandResult", +"description": "The result of the command execution." +}, +"issueTime": { +"description": "The timestamp when the command was issued by the admin.", +"format": "google-datetime", +"type": "string" +}, +"payload": { +"description": "The payload that the command specified, if any.", +"type": "string" +}, +"state": { +"description": "Indicates the command state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"EXPIRED", +"CANCELLED", +"SENT_TO_CLIENT", +"ACKED_BY_CLIENT", +"EXECUTED_BY_CLIENT" +], +"enumDescriptions": [ +"The command status was unspecified.", +"An unexpired command not yet sent to the client.", +"The command didn't get executed by the client within the expected time.", +"The command is cancelled by admin while in PENDING.", +"The command has been sent to the client.", +"The client has responded that it received the command.", +"The client has (un)successfully executed the command." +], +"type": "string" +}, +"type": { +"description": "The type of the command.", +"enum": [ +"COMMAND_TYPE_UNSPECIFIED", +"REBOOT", +"TAKE_A_SCREENSHOT", +"SET_VOLUME", +"WIPE_USERS", +"REMOTE_POWERWASH", +"DEVICE_START_CRD_SESSION", +"CAPTURE_LOGS", +"FETCH_SUPPORT_PACKET" +], +"enumDescriptions": [ +"The command type was unspecified.", +"Reboot the device. Can be issued to Kiosk and managed guest session devices, and regular devices running ChromeOS version 113 or later.", +"Take a screenshot of the device. Only available if the device is in Kiosk Mode.", +"Set the volume of the device. Can only be issued to Kiosk and managed guest session devices.", +"Wipe all the users off of the device. Executing this command in the device will remove all user profile data, but it will keep device policy and enrollment.", +"Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies. Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!", +"Starts a Chrome Remote Desktop session.", +"Capture the system logs of a kiosk device. The logs can be downloaded from the downloadUrl link present in `deviceFiles` field of [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)", +"Fetch support packet from a device remotely. Support packet is a zip archive that contains various system logs and debug data from a ChromeOS device. The support packet can be downloaded from the downloadURL link present in the `deviceFiles` field of [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)" +], +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesCommandResult": { +"description": "The result of executing a command.", +"id": "DirectoryChromeosdevicesCommandResult", +"properties": { +"commandResultPayload": { +"description": "The payload for the command result. The following commands respond with a payload: * `DEVICE_START_CRD_SESSION`: Payload is a stringified JSON object in the form: { \"url\": url }. The URL provides a link to the Chrome Remote Desktop session.", +"type": "string" +}, +"errorMessage": { +"description": "The error message with a short explanation as to why the command failed. Only present if the command failed.", +"type": "string" +}, +"executeTime": { +"description": "The time at which the command was executed or failed to execute.", +"format": "google-datetime", +"type": "string" +}, +"result": { +"description": "The result of the command.", +"enum": [ +"COMMAND_RESULT_TYPE_UNSPECIFIED", +"IGNORED", +"FAILURE", +"SUCCESS" +], +"enumDescriptions": [ +"The command result was unspecified.", +"The command was ignored as obsolete.", +"The command could not be executed successfully.", +"The command was successfully executed." +], +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesIssueCommandRequest": { +"description": "A request for issuing a command.", +"id": "DirectoryChromeosdevicesIssueCommandRequest", +"properties": { +"commandType": { +"description": "The type of command.", +"enum": [ +"COMMAND_TYPE_UNSPECIFIED", +"REBOOT", +"TAKE_A_SCREENSHOT", +"SET_VOLUME", +"WIPE_USERS", +"REMOTE_POWERWASH", +"DEVICE_START_CRD_SESSION", +"CAPTURE_LOGS", +"FETCH_SUPPORT_PACKET" +], +"enumDescriptions": [ +"The command type was unspecified.", +"Reboot the device. Can be issued to Kiosk and managed guest session devices, and regular devices running ChromeOS version 113 or later.", +"Take a screenshot of the device. Only available if the device is in Kiosk Mode.", +"Set the volume of the device. Can only be issued to Kiosk and managed guest session devices.", +"Wipe all the users off of the device. Executing this command in the device will remove all user profile data, but it will keep device policy and enrollment.", +"Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies. Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!", +"Starts a Chrome Remote Desktop session.", +"Capture the system logs of a kiosk device. The logs can be downloaded from the downloadUrl link present in `deviceFiles` field of [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)", +"Fetch support packet from a device remotely. Support packet is a zip archive that contains various system logs and debug data from a ChromeOS device. The support packet can be downloaded from the downloadURL link present in the `deviceFiles` field of [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)" +], +"type": "string" +}, +"payload": { +"description": "The payload for the command, provide it only if command supports it. The following commands support adding payload: * `SET_VOLUME`: Payload is a stringified JSON object in the form: { \"volume\": 50 }. The volume has to be an integer in the range [0,100]. * `DEVICE_START_CRD_SESSION`: Payload is optionally a stringified JSON object in the form: { \"ackedUserPresence\": true, \"crdSessionType\": string }. `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is set to `false`. To start a Chrome Remote Desktop session for an active device, set `ackedUserPresence` to `true`. `crdSessionType` can only select from values `private` (which grants the remote admin exclusive control of the ChromeOS device) or `shared` (which allows the admin and the local user to share control of the ChromeOS device). If not set, `crdSessionType` defaults to `shared`. * `REBOOT`: Payload is a stringified JSON object in the form: { \"user_session_delay_seconds\": 300 }. The `user_session_delay_seconds` is the amount of seconds to wait before rebooting the device if a user is logged in. It has to be an integer in the range [0,300]. When payload is not present for reboot, 0 delay is the default. Note: This only applies if an actual user is logged in, including a Guest. If the device is in the login screen or in Kiosk mode the value is not respected and the device immediately reboots. * `FETCH_SUPPORT_PACKET`: Payload is optionally a stringified JSON object in the form: {\"supportPacketDetails\":{ \"issueCaseId\": optional_support_case_id_string, \"issueDescription\": optional_issue_description_string, \"requestedDataCollectors\": []}} The list of available `data_collector_enums` are as following: Chrome System Information (1), Crash IDs (2), Memory Details (3), UI Hierarchy (4), Additional ChromeOS Platform Logs (5), Device Event (6), Intel WiFi NICs Debug Dump (7), Touch Events (8), Lacros (9), Lacros System Information (10), ChromeOS Flex Logs (11), DBus Details (12), ChromeOS Network Routes (13), ChromeOS Shill (Connection Manager) Logs (14), Policies (15), ChromeOS System State and Logs (16), ChromeOS System Logs (17), ChromeOS Chrome User Logs (18), ChromeOS Bluetooth (19), ChromeOS Connected Input Devices (20), ChromeOS Traffic Counters (21), ChromeOS Virtual Keyboard (22), ChromeOS Network Health (23). See more details in [help article](https://support.google.com/chrome/a?p=remote-log).", +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesIssueCommandResponse": { +"description": "A response for issuing a command.", +"id": "DirectoryChromeosdevicesIssueCommandResponse", +"properties": { +"commandId": { +"description": "The unique ID of the issued command, used to retrieve the command status.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DomainAlias": { +"id": "DomainAlias", +"properties": { +"creationTime": { +"description": "The creation time of the domain alias. (Read-only).", +"format": "int64", +"type": "string" +}, +"domainAliasName": { +"description": "The domain alias name.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domainAlias", +"description": "Kind of resource this is.", +"type": "string" +}, +"parentDomainName": { +"annotations": { +"required": [ +"directory.domains.insert" +] +}, +"description": "The parent domain name that the domain alias is associated with. This can either be a primary or secondary domain name within a customer.", +"type": "string" +}, +"verified": { +"description": "Indicates the verification state of a domain alias. (Read-only)", +"type": "boolean" +} +}, +"type": "object" +}, +"DomainAliases": { +"id": "DomainAliases", +"properties": { +"domainAliases": { +"description": "A list of domain alias objects.", +"items": { +"$ref": "DomainAlias" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domainAliases", +"description": "Kind of resource this is.", +"type": "string" +} +}, +"type": "object" +}, +"Domains": { +"id": "Domains", +"properties": { +"creationTime": { +"description": "Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only).", +"format": "int64", +"type": "string" +}, +"domainAliases": { +"description": "A list of domain alias objects. (Read-only)", +"items": { +"$ref": "DomainAlias" +}, +"type": "array" +}, +"domainName": { +"annotations": { +"required": [ +"directory.domains.insert" +] +}, +"description": "The domain name of the customer.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isPrimary": { +"description": "Indicates if the domain is a primary domain (Read-only).", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#domain", +"description": "Kind of resource this is.", +"type": "string" +}, +"verified": { +"description": "Indicates the verification state of a domain. (Read-only).", +"type": "boolean" +} +}, +"type": "object" +}, +"Domains2": { +"id": "Domains2", +"properties": { +"domains": { +"description": "A list of domain objects.", +"items": { +"$ref": "Domains" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domains", +"description": "Kind of resource this is.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FailureInfo": { +"description": "Info about failures", +"id": "FailureInfo", +"properties": { +"errorCode": { +"description": "Canonical code for why the update failed to apply.", +"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" +], +"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" +], +"type": "string" +}, +"errorMessage": { +"description": "Failure reason message.", +"type": "string" +}, +"printer": { +"$ref": "Printer", +"description": "Failed printer." +}, +"printerId": { +"description": "Id of a failed printer.", +"type": "string" +} +}, +"type": "object" +}, +"FanInfo": { +"description": "Information about the device's fan.", +"id": "FanInfo", +"properties": { +"speedRpm": { +"description": "Output only. Fan speed in RPM.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"Feature": { +"description": "JSON template for Feature object in Directory API.", +"id": "Feature", +"properties": { +"etags": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#resources#features#Feature", +"description": "Kind of resource this is.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"directory.resources.features.insert" +] +}, +"description": "The name of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"FeatureInstance": { +"description": "JSON template for a feature instance.", +"id": "FeatureInstance", +"properties": { +"feature": { +"$ref": "Feature", +"description": "The feature that this is an instance of. A calendar resource may have multiple instances of a feature." +} +}, +"type": "object" +}, +"FeatureRename": { +"id": "FeatureRename", +"properties": { +"newName": { +"annotations": { +"required": [ +"directory.resources.features.rename" +] +}, +"description": "New name of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"Features": { +"description": "Public API: Resources.features", +"id": "Features", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"features": { +"description": "The Features in this page of results.", +"items": { +"$ref": "Feature" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#resources#features#featuresList", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"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.", +"type": "string" +} +}, +"type": "object" +}, +"Group": { +"description": "Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](https://developers.google.com/admin-sdk/directory/v1/guides/manage-groups). For information about other types of groups, see the [Cloud Identity Groups API documentation](https://cloud.google.com/identity/docs/groups). Note: The user calling the API (or being impersonated by a service account) must have an assigned [role](https://developers.google.com/admin-sdk/directory/v1/guides/manage-roles) that includes Admin API Groups permissions, such as Super Admin or Groups Admin.", +"id": "Group", +"properties": { +"adminCreated": { +"description": "Read-only. Value is `true` if this group was created by an administrator rather than a user.", +"type": "boolean" +}, +"aliases": { +"description": "Read-only. The list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters.", +"type": "string" +}, +"directMembersCount": { +"description": "The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the `directMembersCount` property of the parent group.", +"format": "int64", +"type": "string" +}, +"email": { +"annotations": { +"required": [ +"directory.groups.insert" +] +}, +"description": "The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The `email` must be unique. This property is required when creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`.", +"type": "string" +}, +"kind": { +"default": "admin#directory#group", +"description": "The type of the API resource. For Groups resources, the value is `admin#directory#group`.", +"type": "string" +}, +"name": { +"description": "The group's display name.", +"type": "string" +}, +"nonEditableAliases": { +"description": "Read-only. The list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GroupAlias": { +"description": "The Directory API manages aliases, which are alternative email addresses.", +"id": "GroupAlias", +"properties": { +"alias": { +"description": "The alias email address.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID of the group.", +"type": "string" +}, +"kind": { +"description": "The type of the API resource. For Alias resources, the value is `admin#directory#alias`.", +"type": "string" +}, +"primaryEmail": { +"description": "The primary email address of the group.", +"type": "string" +} +}, +"type": "object" +}, +"Groups": { +"id": "Groups", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"groups": { +"description": "A list of group objects.", +"items": { +"$ref": "Group" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#groups", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"ListPrintServersResponse": { +"id": "ListPrintServersResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` in a request to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"printServers": { +"description": "List of print servers.", +"items": { +"$ref": "PrintServer" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPrinterModelsResponse": { +"description": "Response for listing allowed printer models.", +"id": "ListPrinterModelsResponse", +"properties": { +"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" +}, +"printerModels": { +"description": "Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time.", +"items": { +"$ref": "PrinterModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPrintersResponse": { +"description": "Response for listing printers.", +"id": "ListPrintersResponse", +"properties": { +"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" +}, +"printers": { +"description": "List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was not given in the request, then all printers will be returned.", +"items": { +"$ref": "Printer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Member": { +"description": "A Google Groups member can be a user or another group. This member can be inside or outside of your account's domains. For more information about common group member tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-group-members).", +"id": "Member", +"properties": { +"delivery_settings": { +"description": "Defines mail delivery preferences of member. This field is only supported by `insert`, `update`, and `get` methods.", +"type": "string" +}, +"email": { +"description": "The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The `email` must be unique and cannot be an alias of another group. If the email address is changed, the API automatically reflects the email address changes.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID of the group member. A member `id` can be used as a member request URI's `memberKey`.", +"type": "string" +}, +"kind": { +"default": "admin#directory#member", +"description": "The type of the API resource. For Members resources, the value is `admin#directory#member`.", +"type": "string" +}, +"role": { +"description": "The member's role in a group. The API returns an error for cycles in group memberships. For example, if `group1` is a member of `group2`, `group2` cannot be a member of `group1`. For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094).", +"type": "string" +}, +"status": { +"description": "Status of member (Immutable)", +"type": "string" +}, +"type": { +"description": "The type of group member.", +"type": "string" +} +}, +"type": "object" +}, +"Members": { +"id": "Members", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#members", +"description": "Kind of resource this is.", +"type": "string" +}, +"members": { +"description": "A list of member objects.", +"items": { +"$ref": "Member" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"MembersHasMember": { +"description": "JSON template for Has Member response in Directory API.", +"id": "MembersHasMember", +"properties": { +"isMember": { +"description": "Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"MobileDevice": { +"description": "Google Workspace Mobile Management includes Android, [Google Sync](https://support.google.com/a/answer/135937), and iOS devices. For more information about common group mobile device API tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices.html).", +"id": "MobileDevice", +"properties": { +"adbStatus": { +"description": "Adb (USB debugging) enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"applications": { +"description": "The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API updates the list with five applications, the is now the updated list of five applications.", +"items": { +"properties": { +"displayName": { +"description": "The application's display name. An example is `Browser`.", +"type": "string" +}, +"packageName": { +"description": "The application's package name. An example is `com.android.browser`.", +"type": "string" +}, +"permission": { +"description": "The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are `READ_CALENDAR`, or `MANAGE_ACCOUNTS`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCode": { +"description": "The application's version code. An example is `13`.", +"format": "int32", +"type": "integer" +}, +"versionName": { +"description": "The application's version name. An example is `3.2-140714`.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"basebandVersion": { +"description": "The device's baseband version.", +"type": "string" +}, +"bootloaderVersion": { +"description": "Mobile Device Bootloader version (Read-only)", +"type": "string" +}, +"brand": { +"description": "Mobile Device Brand (Read-only)", +"type": "string" +}, +"buildNumber": { +"description": "The device's operating system build number.", +"type": "string" +}, +"defaultLanguage": { +"description": "The default locale used on the device.", +"type": "string" +}, +"developerOptionsStatus": { +"description": "Developer options enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"deviceCompromisedStatus": { +"description": "The compromised device status.", +"type": "string" +}, +"deviceId": { +"description": "The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier.", +"type": "string" +}, +"devicePasswordStatus": { +"description": "DevicePasswordStatus (Read-only)", +"type": "string" +}, +"email": { +"description": "The list of the owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"encryptionStatus": { +"description": "Mobile Device Encryption Status (Read-only)", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"firstSync": { +"description": "Date and time the device was first synchronized with the policy settings in the G Suite administrator control panel (Read-only)", +"format": "date-time", +"type": "string" +}, +"hardware": { +"description": "Mobile Device Hardware (Read-only)", +"type": "string" +}, +"hardwareId": { +"description": "The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating one of these devices, this is a read-only property.", +"type": "string" +}, +"imei": { +"description": "The device's IMEI number.", +"type": "string" +}, +"kernelVersion": { +"description": "The device's kernel version.", +"type": "string" +}, +"kind": { +"default": "admin#directory#mobiledevice", +"description": "The type of the API resource. For Mobiledevices resources, the value is `admin#directory#mobiledevice`.", +"type": "string" +}, +"lastSync": { +"description": "Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only)", +"format": "date-time", +"type": "string" +}, +"managedAccountIsOnOwnerProfile": { +"description": "Boolean indicating if this account is on owner/primary profile or not.", +"type": "boolean" +}, +"manufacturer": { +"description": "Mobile Device manufacturer (Read-only)", +"type": "string" +}, +"meid": { +"description": "The device's MEID number.", +"type": "string" +}, +"model": { +"description": "The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device).", +"type": "string" +}, +"name": { +"description": "The list of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user).", +"items": { +"type": "string" +}, +"type": "array" +}, +"networkOperator": { +"description": "Mobile Device mobile or network operator (if available) (Read-only)", +"type": "string" +}, +"os": { +"description": "The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).", +"type": "string" +}, +"otherAccountsInfo": { +"description": "The list of accounts added on device (Read-only)", +"items": { +"type": "string" +}, +"type": "array" +}, +"privilege": { +"description": "DMAgentPermission (Read-only)", +"type": "string" +}, +"releaseVersion": { +"description": "Mobile Device release version version (Read-only)", +"type": "string" +}, +"resourceId": { +"description": "The unique ID the API service uses to identify the mobile device.", +"type": "string" +}, +"securityPatchLevel": { +"description": "Mobile Device Security patch level (Read-only)", +"format": "int64", +"type": "string" +}, +"serialNumber": { +"description": "The device's serial number.", +"type": "string" +}, +"status": { +"description": "The device's status.", +"type": "string" +}, +"supportsWorkProfile": { +"description": "Work profile supported on device (Read-only)", +"type": "boolean" +}, +"type": { +"description": "The type of mobile device.", +"type": "string" +}, +"unknownSourcesStatus": { +"description": "Unknown sources enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"userAgent": { +"description": "Gives information about the device such as `os` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).", +"type": "string" +}, +"wifiMacAddress": { +"description": "The device's MAC address on Wi-Fi networks.", +"type": "string" +} +}, +"type": "object" +}, +"MobileDeviceAction": { +"id": "MobileDeviceAction", +"properties": { +"action": { +"annotations": { +"required": [ +"directory.mobiledevices.action" +] +}, +"description": "The action to be performed on the device.", +"type": "string" +} +}, +"type": "object" +}, +"MobileDevices": { +"id": "MobileDevices", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#mobiledevices", +"description": "Kind of resource this is.", +"type": "string" +}, +"mobiledevices": { +"description": "A list of Mobile Device objects.", +"items": { +"$ref": "MobileDevice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"OrgUnit": { +"description": "Managing your account's organizational units allows you to configure your users' access to services and custom settings. For more information about common organizational unit tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-org-units.html). The customer's organizational unit hierarchy is limited to 35 levels of depth.", +"id": "OrgUnit", +"properties": { +"blockInheritance": { +"deprecated": true, +"description": "This field is deprecated and setting its value has no effect.", +"type": "boolean" +}, +"description": { +"description": "Description of the organizational unit.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#orgUnit", +"description": "The type of the API resource. For Orgunits resources, the value is `admin#directory#orgUnit`.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"directory.orgunits.insert" +] +}, +"description": "The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required.", +"type": "string" +}, +"orgUnitId": { +"description": "The unique ID of the organizational unit.", +"type": "string" +}, +"orgUnitPath": { +"description": "The full path to the organizational unit. The `orgUnitPath` is a derived property. When listed, it is derived from `parentOrgunitPath` and organizational unit's `name`. For example, for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an `orgUnitPath`, either update the name of the organization or the `parentOrgunitPath`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user).", +"type": "string" +}, +"parentOrgUnitId": { +"description": "The unique ID of the parent organizational unit. Required, unless `parentOrgUnitPath` is set.", +"type": "string" +}, +"parentOrgUnitPath": { +"description": "The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless `parentOrgUnitId` is set.", +"type": "string" +} +}, +"type": "object" +}, +"OrgUnits": { +"id": "OrgUnits", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#orgUnits", +"description": "The type of the API resource. For Org Unit resources, the type is `admin#directory#orgUnits`.", +"type": "string" +}, +"organizationUnits": { +"description": "A list of organizational unit objects.", +"items": { +"$ref": "OrgUnit" +}, +"type": "array" +} +}, +"type": "object" +}, +"OsUpdateStatus": { +"description": "Contains information regarding the current OS update status.", +"id": "OsUpdateStatus", +"properties": { +"rebootTime": { +"description": "Date and time of the last reboot.", +"type": "string" +}, +"state": { +"description": "The update state of an OS update.", +"enum": [ +"updateStateUnspecified", +"updateStateNotStarted", +"updateStateDownloadInProgress", +"updateStateNeedReboot" +], +"enumDescriptions": [ +"The update state is unspecified.", +"There is an update pending but it hasn't started.", +"The pending update is being downloaded.", +"The device is ready to install the update, but must reboot." +], +"type": "string" +}, +"targetKioskAppVersion": { +"description": "New required platform version from the pending updated kiosk app.", +"type": "string" +}, +"targetOsVersion": { +"description": "New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy \"0.0.0.0\" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot.", +"type": "string" +}, +"updateCheckTime": { +"description": "Date and time of the last update check.", +"type": "string" +}, +"updateTime": { +"description": "Date and time of the last successful OS update.", +"type": "string" +} +}, +"type": "object" +}, +"PrintServer": { +"description": "Configuration for a print server.", +"id": "PrintServer", +"properties": { +"createTime": { +"description": "Output only. Time when the print server was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Editable. Description of the print server (as shown in the Admin console).", +"type": "string" +}, +"displayName": { +"description": "Editable. Display name of the print server (as shown in the Admin console).", +"type": "string" +}, +"id": { +"description": "Immutable. ID of the print server. Leave empty when creating.", +"type": "string" +}, +"name": { +"description": "Immutable. Resource name of the print server. Leave empty when creating. Format: `customers/{customer.id}/printServers/{print_server.id}`", +"type": "string" +}, +"orgUnitId": { +"description": "ID of the organization unit (OU) that owns this print server. This value can only be set when the print server is initially created. If it's not populated, the print server is placed under the root OU. The `org_unit_id` can be retrieved using the [Directory API](/admin-sdk/directory/reference/rest/v1/orgunits).", +"type": "string" +}, +"uri": { +"description": "Editable. Print server URI.", +"type": "string" +} +}, +"type": "object" +}, +"PrintServerFailureInfo": { +"description": "Info about failures", +"id": "PrintServerFailureInfo", +"properties": { +"errorCode": { +"description": "Canonical code for why the update failed to apply.", +"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" +], +"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" +], +"type": "string" +}, +"errorMessage": { +"description": "Failure reason message.", +"type": "string" +}, +"printServer": { +"$ref": "PrintServer", +"description": "Failed print server." +}, +"printServerId": { +"description": "ID of a failed print server.", +"type": "string" +} +}, +"type": "object" +}, +"Printer": { +"description": "Printer configuration.", +"id": "Printer", +"properties": { +"auxiliaryMessages": { +"description": "Output only. Auxiliary messages about issues with the printer configuration if any.", +"items": { +"$ref": "AuxiliaryMessage" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Time when printer was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Editable. Description of printer.", +"type": "string" +}, +"displayName": { +"description": "Editable. Name of printer.", +"type": "string" +}, +"id": { +"description": "Id of the printer. (During printer creation leave empty)", +"type": "string" +}, +"makeAndModel": { +"description": "Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response.", +"type": "string" +}, +"name": { +"description": "The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty)", +"type": "string" +}, +"orgUnitId": { +"description": "Organization Unit that owns this printer (Only can be set during Printer creation)", +"type": "string" +}, +"uri": { +"description": "Editable. Printer URI.", +"type": "string" +}, +"useDriverlessConfig": { +"description": "Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored", +"type": "boolean" +} +}, +"type": "object" +}, +"PrinterModel": { +"description": "Printer manufacturer and model", +"id": "PrinterModel", +"properties": { +"displayName": { +"description": "Display name. eq. \"Brother MFC-8840D\"", +"type": "string" +}, +"makeAndModel": { +"description": "Make and model as represented in \"make_and_model\" field in Printer object. eq. \"brother mfc-8840d\"", +"type": "string" +}, +"manufacturer": { +"description": "Manufacturer. eq. \"Brother\"", +"type": "string" +} +}, +"type": "object" +}, +"Privilege": { +"id": "Privilege", +"properties": { +"childPrivileges": { +"description": "A list of child privileges. Privileges for a service form a tree. Each privilege can have a list of child privileges; this list is empty for a leaf privilege.", +"items": { +"$ref": "Privilege" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isOuScopable": { +"description": "If the privilege can be restricted to an organization unit.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#privilege", +"description": "The type of the API resource. This is always `admin#directory#privilege`.", +"type": "string" +}, +"privilegeName": { +"description": "The name of the privilege.", +"type": "string" +}, +"serviceId": { +"description": "The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list).", +"type": "string" +}, +"serviceName": { +"description": "The name of the service this privilege is for.", +"type": "string" +} +}, +"type": "object" +}, +"Privileges": { +"id": "Privileges", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Privilege resources.", +"items": { +"$ref": "Privilege" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#privileges", +"description": "The type of the API resource. This is always `admin#directory#privileges`.", +"type": "string" +} +}, +"type": "object" +}, +"Role": { +"id": "Role", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isSuperAdminRole": { +"description": "Returns `true` if the role is a super admin role.", +"type": "boolean" +}, +"isSystemRole": { +"description": "Returns `true` if this is a pre-defined system role.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#role", +"description": "The type of the API resource. This is always `admin#directory#role`.", +"type": "string" +}, +"roleDescription": { +"description": "A short description of the role.", +"type": "string" +}, +"roleId": { +"description": "ID of the role.", +"format": "int64", +"type": "string" +}, +"roleName": { +"annotations": { +"required": [ +"directory.roles.insert" +] +}, +"description": "Name of the role.", +"type": "string" +}, +"rolePrivileges": { +"annotations": { +"required": [ +"directory.roles.insert" +] +}, +"description": "The set of privileges that are granted to this role.", +"items": { +"properties": { +"privilegeName": { +"description": "The name of the privilege.", +"type": "string" +}, +"serviceId": { +"description": "The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list).", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"RoleAssignment": { +"description": "Defines an assignment of a role.", +"id": "RoleAssignment", +"properties": { +"assignedTo": { +"description": "The unique ID of the entity this role is assigned to\u2014either the `user_id` of a user, the `group_id` of a group, or the `uniqueId` of a service account as defined in [Identity and Access Management (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts).", +"type": "string" +}, +"assigneeType": { +"description": "Output only. The type of the assignee (`USER` or `GROUP`).", +"enum": [ +"user", +"group" +], +"enumDescriptions": [ +"An individual user within the domain.", +"A group within the domain." +], +"readOnly": true, +"type": "string" +}, +"condition": { +"description": "Optional. The condition associated with this role assignment. Note: Feature is available to Enterprise Standard, Enterprise Plus, Google Workspace for Education Plus and Cloud Identity Premium customers. A `RoleAssignment` with the `condition` field set will only take effect when the resource being accessed meets the condition. If `condition` is empty, the role (`role_id`) is applied to the actor (`assigned_to`) at the scope (`scope_type`) unconditionally. Currently, the following conditions are supported: - To make the `RoleAssignment` only applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` - To make the `RoleAssignment` not applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` Currently, the condition strings have to be verbatim and they only work with the following [pre-built administrator roles](https://support.google.com/a/answer/2405986): - Groups Editor - Groups Reader The condition follows [Cloud IAM condition syntax](https://cloud.google.com/iam/docs/conditions-overview). Additional conditions related to Locked Groups are available under Open Beta. - To make the `RoleAssignment` not applicable to [Locked Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.locked']) && resource.type == 'cloudidentity.googleapis.com/Group'` This condition can also be used in conjunction with a Security-related condition.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#roleAssignment", +"description": "The type of the API resource. This is always `admin#directory#roleAssignment`.", +"type": "string" +}, +"orgUnitId": { +"description": "If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.", +"type": "string" +}, +"roleAssignmentId": { +"description": "ID of this roleAssignment.", +"format": "int64", +"type": "string" +}, +"roleId": { +"description": "The ID of the role that is assigned.", +"format": "int64", +"type": "string" +}, +"scopeType": { +"description": "The scope in which this role is assigned.", +"type": "string" +} +}, +"type": "object" +}, +"RoleAssignments": { +"id": "RoleAssignments", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of RoleAssignment resources.", +"items": { +"$ref": "RoleAssignment" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#roleAssignments", +"description": "The type of the API resource. This is always `admin#directory#roleAssignments`.", +"type": "string" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Roles": { +"id": "Roles", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Role resources.", +"items": { +"$ref": "Role" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#roles", +"description": "The type of the API resource. This is always `admin#directory#roles`.", +"type": "string" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Schema": { +"description": "The type of API resource. For Schema resources, this is always `admin#directory#schema`.", +"id": "Schema", +"properties": { +"displayName": { +"annotations": { +"required": [ +"directory.schemas.insert" +] +}, +"description": "Display name for the schema.", +"type": "string" +}, +"etag": { +"description": "The ETag of the resource.", +"type": "string" +}, +"fields": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "A list of fields in the schema.", +"items": { +"$ref": "SchemaFieldSpec" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#schema", +"description": "Kind of resource this is.", +"type": "string" +}, +"schemaId": { +"description": "The unique identifier of the schema (Read-only)", +"type": "string" +}, +"schemaName": { +"annotations": { +"required": [ +"directory.schemas.insert" +] +}, +"description": "The schema's name. Each `schema_name` must be unique within a customer. Reusing a name results in a `409: Entity already exists` error.", +"type": "string" +} +}, +"type": "object" +}, +"SchemaFieldSpec": { +"description": "You can use schemas to add custom fields to user profiles. You can use these fields to store information such as the projects your users work on, their physical locations, their hire dates, or whatever else fits your business needs. For more information, see [Custom User Fields](/admin-sdk/directory/v1/guides/manage-schemas).", +"id": "SchemaFieldSpec", +"properties": { +"displayName": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "Display Name of the field.", +"type": "string" +}, +"etag": { +"description": "The ETag of the field.", +"type": "string" +}, +"fieldId": { +"description": "The unique identifier of the field (Read-only)", +"type": "string" +}, +"fieldName": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "The name of the field.", +"type": "string" +}, +"fieldType": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "The type of the field.", +"type": "string" +}, +"indexed": { +"default": "true", +"description": "Boolean specifying whether the field is indexed or not. Default: `true`.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#schema#fieldspec", +"description": "The kind of resource this is. For schema fields this is always `admin#directory#schema#fieldspec`.", +"type": "string" +}, +"multiValued": { +"description": "A boolean specifying whether this is a multi-valued field or not. Default: `false`.", +"type": "boolean" +}, +"numericIndexingSpec": { +"description": "Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the `numericIndexingSpec` allows range queries to be supported.", +"properties": { +"maxValue": { +"description": "Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", +"format": "double", +"type": "number" +}, +"minValue": { +"description": "Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"readAccessType": { +"default": "ALL_DOMAIN_USERS", +"description": "Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. Note: It may take up to 24 hours for changes to this field to be reflected.", +"type": "string" +} +}, +"type": "object" +}, +"Schemas": { +"description": "JSON response template for List Schema operation in Directory API.", +"id": "Schemas", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#schemas", +"description": "Kind of resource this is.", +"type": "string" +}, +"schemas": { +"description": "A list of UserSchema objects.", +"items": { +"$ref": "Schema" +}, +"type": "array" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Token": { +"description": "JSON template for token resource in Directory API.", +"id": "Token", +"properties": { +"anonymous": { +"description": "Whether the application is registered with Google. The value is `true` if the application has an anonymous Client ID.", +"type": "boolean" +}, +"clientId": { +"description": "The Client ID of the application the token is issued to.", +"type": "string" +}, +"displayText": { +"description": "The displayable name of the application the token is issued to.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#token", +"description": "The type of the API resource. This is always `admin#directory#token`.", +"type": "string" +}, +"nativeApp": { +"description": "Whether the token is issued to an installed application. The value is `true` if the application is installed to a desktop or mobile device.", +"type": "boolean" +}, +"scopes": { +"description": "A list of authorization scopes the application is granted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userKey": { +"description": "The unique ID of the user that issued the token.", +"type": "string" +} +}, +"type": "object" +}, +"Tokens": { +"description": "JSON response template for List tokens operation in Directory API.", +"id": "Tokens", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Token resources.", +"items": { +"$ref": "Token" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#tokenList", +"description": "The type of the API resource. This is always `admin#directory#tokenList`.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "The Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the [User Accounts Developer's Guide](/admin-sdk/directory/v1/guides/manage-users.html) and the [User Aliases Developer's Guide](/admin-sdk/directory/v1/guides/manage-user-aliases.html).", +"id": "User", +"properties": { +"addresses": { +"description": "The list of the user's addresses. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"agreedToTerms": { +"description": "Output only. This property is `true` if the user has completed an initial login and accepted the Terms of Service agreement.", +"readOnly": true, +"type": "boolean" +}, +"aliases": { +"description": "Output only. The list of the user's alias email addresses.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"archived": { +"description": "Indicates if user is archived.", +"type": "boolean" +}, +"changePasswordAtNextLogin": { +"description": "Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224).", +"type": "boolean" +}, +"creationTime": { +"description": "User's G Suite account creation time. (Read-only)", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"customSchemas": { +"additionalProperties": { +"$ref": "UserCustomProperties" +}, +"description": "Custom fields of the user. The key is a `schema_name` and its values are `'field_name': 'field_value'`.", +"type": "object" +}, +"customerId": { +"description": "Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias `my_customer` to represent your account's `customerId`. As a reseller administrator, you can use the resold customer account's `customerId`. To get a `customerId`, use the account's primary domain in the `domain` parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request.", +"readOnly": true, +"type": "string" +}, +"deletionTime": { +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"emails": { +"description": "The list of the user's email addresses. The maximum allowed data size for this field is 10KB. This excludes `publicKeyEncryptionCertificates`.", +"type": "any" +}, +"etag": { +"description": "Output only. ETag of the resource.", +"readOnly": true, +"type": "string" +}, +"externalIds": { +"description": "The list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"gender": { +"description": "The user's gender. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"hashFunction": { +"description": "Stores the hash format of the `password` property. The following `hashFunction` values are allowed: * `MD5` - Accepts simple hex-encoded values. * `SHA-1` - Accepts simple hex-encoded values. * `crypt` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix `$1$`), SHA-256 (hash prefix `$5$`), and SHA-512 (hash prefix `$6$`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer.", +"type": "string" +}, +"id": { +"description": "The unique ID for the user. A user `id` can be used as a user request URI's `userKey`.", +"type": "string" +}, +"ims": { +"description": "The list of the user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"includeInGlobalAddressList": { +"description": "Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988).", +"type": "boolean" +}, +"ipWhitelisted": { +"description": "If `true`, the user's IP address is subject to a deprecated IP address [`allowlist`](https://support.google.com/a/answer/60752) configuration.", +"type": "boolean" +}, +"isAdmin": { +"description": "Output only. Indicates a user with super admininistrator privileges. The `isAdmin` property can only be edited in the [Make a user an administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service.", +"readOnly": true, +"type": "boolean" +}, +"isDelegatedAdmin": { +"description": "Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325).", +"readOnly": true, +"type": "boolean" +}, +"isEnforcedIn2Sv": { +"description": "Output only. Is 2-step verification enforced (Read-only)", +"readOnly": true, +"type": "boolean" +}, +"isEnrolledIn2Sv": { +"description": "Output only. Is enrolled in 2-step verification (Read-only)", +"readOnly": true, +"type": "boolean" +}, +"isMailboxSetup": { +"description": "Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license.", +"readOnly": true, +"type": "boolean" +}, +"keywords": { +"description": "The list of the user's keywords. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"kind": { +"default": "admin#directory#user", +"description": "Output only. The type of the API resource. For Users resources, the value is `admin#directory#user`.", +"readOnly": true, +"type": "string" +}, +"languages": { +"description": "The user's languages. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"lastLoginTime": { +"description": "User's last login time. (Read-only)", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"locations": { +"description": "The user's locations. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"name": { +"$ref": "UserName", +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "Holds the given and family names of the user, and the read-only `fullName` value. The maximum number of characters in the `givenName` and in the `familyName` values is 60. In addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1KB." +}, +"nonEditableAliases": { +"description": "Output only. The list of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"notes": { +"description": "Notes for the user.", +"type": "any" +}, +"orgUnitPath": { +"description": "The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (`/`).", +"type": "string" +}, +"organizations": { +"description": "The list of organizations the user belongs to. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"password": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "User's password", +"type": "string" +}, +"phones": { +"description": "The list of the user's phone numbers. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"posixAccounts": { +"description": "The list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user.", +"type": "any" +}, +"primaryEmail": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's primary email address. This property is required in a request to create a user account. The `primaryEmail` must be unique and cannot be an alias of another user.", +"type": "string" +}, +"recoveryEmail": { +"description": "Recovery email of the user.", +"type": "string" +}, +"recoveryPhone": { +"description": "Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*.", +"type": "string" +}, +"relations": { +"description": "The list of the user's relationships to other users. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"sshPublicKeys": { +"description": "A list of SSH public keys.", +"type": "any" +}, +"suspended": { +"description": "Indicates if user is suspended.", +"type": "boolean" +}, +"suspensionReason": { +"description": "Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`.", +"readOnly": true, +"type": "string" +}, +"thumbnailPhotoEtag": { +"description": "Output only. ETag of the user's photo (Read-only)", +"readOnly": true, +"type": "string" +}, +"thumbnailPhotoUrl": { +"description": "Output only. The URL of the user's profile photo. The URL might be temporary or private.", +"readOnly": true, +"type": "string" +}, +"websites": { +"description": "The user's websites. The maximum allowed data size for this field is 2KB.", +"type": "any" +} +}, +"type": "object" +}, +"UserAbout": { +"description": "JSON template for About (notes) of a user in Directory API.", +"id": "UserAbout", +"properties": { +"contentType": { +"description": "About entry can have a type which indicates the content type. It can either be plain or html. By default, notes contents are assumed to contain plain text.", +"type": "string" +}, +"value": { +"description": "Actual value of notes.", +"type": "string" +} +}, +"type": "object" +}, +"UserAddress": { +"description": "JSON template for address.", +"id": "UserAddress", +"properties": { +"country": { +"description": "Country.", +"type": "string" +}, +"countryCode": { +"description": "Country code.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"extendedAddress": { +"description": "Extended Address.", +"type": "string" +}, +"formatted": { +"description": "Formatted address.", +"type": "string" +}, +"locality": { +"description": "Locality.", +"type": "string" +}, +"poBox": { +"description": "Other parts of address.", +"type": "string" +}, +"postalCode": { +"description": "Postal code.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary address. Only one entry could be marked as primary.", +"type": "boolean" +}, +"region": { +"description": "Region.", +"type": "string" +}, +"sourceIsStructured": { +"description": "User supplied address was structured. Structured addresses are NOT supported at this time. You might be able to write structured addresses but any values will eventually be clobbered.", +"type": "boolean" +}, +"streetAddress": { +"description": "Street.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard values of that entry. For example address could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such type should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserAlias": { +"description": "The Directory API manages aliases, which are alternative email addresses.", +"id": "UserAlias", +"properties": { +"alias": { +"description": "The alias email address.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID for the user.", +"type": "string" +}, +"kind": { +"description": "The type of the API resource. For Alias resources, the value is `admin#directory#alias`.", +"type": "string" +}, +"primaryEmail": { +"description": "The user's primary email address.", +"type": "string" +} +}, +"type": "object" +}, +"UserCustomProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)", +"id": "UserCustomProperties", +"type": "object" +}, +"UserEmail": { +"description": "JSON template for an email.", +"id": "UserEmail", +"properties": { +"address": { +"description": "Email id of the user.", +"type": "string" +}, +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary email. Only one entry could be marked as primary.", +"type": "boolean" +}, +"public_key_encryption_certificates": { +"description": "Public Key Encryption Certificates. Current limit: 1 per email address, and 5 per user.", +"properties": { +"certificate": { +"description": "X.509 encryption certificate in `PEM` format. Must only be an end-entity (leaf) certificate.", +"type": "string" +}, +"is_default": { +"description": "Whether this is the default certificate for the given email address.", +"type": "boolean" +}, +"state": { +"description": "Denotes the certificate's state in its lifecycle. Possible values are `not_yet_validated`, `valid`, `invalid`, `expired`, and `revoked`.", +"type": "string" +} +}, +"type": "object" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example email could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserExternalId": { +"description": "JSON template for an externalId entry.", +"id": "UserExternalId", +"properties": { +"customType": { +"description": "Custom type.", +"type": "string" +}, +"type": { +"description": "The type of the Id.", +"type": "string" +}, +"value": { +"description": "The value of the id.", +"type": "string" +} +}, +"type": "object" +}, +"UserGender": { +"id": "UserGender", +"properties": { +"addressMeAs": { +"description": "AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by humans for example he/him/his or they/them/their.", +"type": "string" +}, +"customGender": { +"description": "Custom gender.", +"type": "string" +}, +"type": { +"description": "Gender.", +"type": "string" +} +}, +"type": "object" +}, +"UserIm": { +"description": "JSON template for instant messenger of an user.", +"id": "UserIm", +"properties": { +"customProtocol": { +"description": "Custom protocol.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"im": { +"description": "Instant messenger id.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary im. Only one entry could be marked as primary.", +"type": "boolean" +}, +"protocol": { +"description": "Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map. Similar to type it can take a CUSTOM value and specify the custom name in customProtocol field.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example instant messengers could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserKeyword": { +"description": "JSON template for a keyword entry.", +"id": "UserKeyword", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard type of that entry. For example keyword could be of type occupation or outlook. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Keyword.", +"type": "string" +} +}, +"type": "object" +}, +"UserLanguage": { +"description": "JSON template for a language entry.", +"id": "UserLanguage", +"properties": { +"customLanguage": { +"description": "Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set.", +"type": "string" +}, +"languageCode": { +"description": "ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set.", +"type": "string" +}, +"preference": { +"description": "Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` and `not_preferred`.", +"type": "string" +} +}, +"type": "object" +}, +"UserLocation": { +"description": "JSON template for a location entry.", +"id": "UserLocation", +"properties": { +"area": { +"description": "Textual location. This is most useful for display purposes to concisely describe the location. For example 'Mountain View, CA', 'Near Seattle', 'US-NYC-9TH 9A209A.''", +"type": "string" +}, +"buildingId": { +"description": "Building Identifier.", +"type": "string" +}, +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"deskCode": { +"description": "Most specific textual code of individual desk location.", +"type": "string" +}, +"floorName": { +"description": "Floor name/number.", +"type": "string" +}, +"floorSection": { +"description": "Floor section. More specific location within the floor. For example if a floor is divided into sections 'A', 'B' and 'C' this field would identify one of those values.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example location could be of types default and desk. In addition to standard type an entry can have a custom type and can give it any name. Such types should have 'custom' as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserMakeAdmin": { +"id": "UserMakeAdmin", +"properties": { +"status": { +"annotations": { +"required": [ +"directory.users.makeAdmin" +] +}, +"description": "Indicates the administrator status of the user.", +"type": "boolean" +} +}, +"type": "object" +}, +"UserName": { +"id": "UserName", +"properties": { +"displayName": { +"description": "The user's display name. Limit: 256 characters.", +"type": "string" +}, +"familyName": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's last name. Required when creating a user account.", +"type": "string" +}, +"fullName": { +"description": "The user's full name formed by concatenating the first and last name values.", +"type": "string" +}, +"givenName": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's first name. Required when creating a user account.", +"type": "string" +} +}, +"type": "object" +}, +"UserOrganization": { +"description": "JSON template for an organization entry.", +"id": "UserOrganization", +"properties": { +"costCenter": { +"description": "The cost center of the users department.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"department": { +"description": "Department within the organization.", +"type": "string" +}, +"description": { +"description": "Description of the organization.", +"type": "string" +}, +"domain": { +"description": "The domain to which the organization belongs to.", +"type": "string" +}, +"fullTimeEquivalent": { +"description": "The full-time equivalent millipercent within the organization (100000 = 100%).", +"format": "int32", +"type": "integer" +}, +"location": { +"description": "Location of the organization. This need not be fully qualified address.", +"type": "string" +}, +"name": { +"description": "Name of the organization", +"type": "string" +}, +"primary": { +"description": "If it user's primary organization.", +"type": "boolean" +}, +"symbol": { +"description": "Symbol of the organization.", +"type": "string" +}, +"title": { +"description": "Title (designation) of the user in the organization.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example organization could be of school work etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a CustomType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserPhone": { +"description": "JSON template for a phone entry.", +"id": "UserPhone", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary phone or not.", +"type": "boolean" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example phone could be of home_fax work mobile etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Phone number.", +"type": "string" +} +}, +"type": "object" +}, +"UserPhoto": { +"id": "UserPhoto", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"height": { +"description": "Height of the photo in pixels.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "The ID the API uses to uniquely identify the user.", +"type": "string" +}, +"kind": { +"default": "admin#directory#user#photo", +"description": "The type of the API resource. For Photo resources, this is `admin#directory#user#photo`.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the photo. Allowed values are `JPEG`, `PNG`, `GIF`, `BMP`, `TIFF`, and web-safe base64 encoding.", +"type": "string" +}, +"photoData": { +"annotations": { +"required": [ +"directory.users.photos.update" +] +}, +"description": "The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of the photo being uploaded, the API downsizes it to 96x96 pixels.", +"format": "byte", +"type": "string" +}, +"primaryEmail": { +"description": "The user's primary email address.", +"type": "string" +}, +"width": { +"description": "Width of the photo in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UserPosixAccount": { +"description": "JSON template for a POSIX account entry.", +"id": "UserPosixAccount", +"properties": { +"accountId": { +"description": "A POSIX account field identifier.", +"type": "string" +}, +"gecos": { +"description": "The GECOS (user information) for this account.", +"type": "string" +}, +"gid": { +"description": "The default group ID.", +"format": "uint64", +"type": "string" +}, +"homeDirectory": { +"description": "The path to the home directory for this account.", +"type": "string" +}, +"operatingSystemType": { +"description": "The operating system type for this account.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary account within the SystemId.", +"type": "boolean" +}, +"shell": { +"description": "The path to the login shell for this account.", +"type": "string" +}, +"systemId": { +"description": "System identifier for which account Username or Uid apply to.", +"type": "string" +}, +"uid": { +"description": "The POSIX compliant user ID.", +"format": "uint64", +"type": "string" +}, +"username": { +"description": "The username of the account.", +"type": "string" +} +}, +"type": "object" +}, +"UserRelation": { +"description": "JSON template for a relation entry.", +"id": "UserRelation", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"type": { +"description": "The relation of the user. Some of the possible values are mother father sister brother manager assistant partner.", +"type": "string" +}, +"value": { +"description": "The name of the relation.", +"type": "string" +} +}, +"type": "object" +}, +"UserSshPublicKey": { +"description": "JSON template for a POSIX account entry.", +"id": "UserSshPublicKey", +"properties": { +"expirationTimeUsec": { +"description": "An expiration time in microseconds since epoch.", +"format": "int64", +"type": "string" +}, +"fingerprint": { +"description": "A SHA-256 fingerprint of the SSH public key. (Read-only)", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "An SSH public key.", +"type": "string" +} +}, +"type": "object" +}, +"UserUndelete": { +"id": "UserUndelete", +"properties": { +"orgUnitPath": { +"description": "OrgUnit of User", +"type": "string" +} +}, +"type": "object" +}, +"UserWebsite": { +"description": "JSON template for a website entry.", +"id": "UserWebsite", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary website or not.", +"type": "boolean" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example website could be of home work blog etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Website.", +"type": "string" +} +}, +"type": "object" +}, +"Users": { +"id": "Users", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#users", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +}, +"trigger_event": { +"description": "Event that triggered this response (only used in case of Push Response)", +"type": "string" +}, +"users": { +"description": "A list of user objects.", +"items": { +"$ref": "User" +}, +"type": "array" +} +}, +"type": "object" +}, +"VerificationCode": { +"description": "The Directory API allows you to view, generate, and invalidate backup verification codes for a user.", +"id": "VerificationCode", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#verificationCode", +"description": "The type of the resource. This is always `admin#directory#verificationCode`.", +"type": "string" +}, +"userId": { +"description": "The obfuscated unique ID of the user.", +"type": "string" +}, +"verificationCode": { +"description": "A current verification code for the user. Invalidated or used verification codes are not returned as part of the result.", +"type": "string" +} +}, +"type": "object" +}, +"VerificationCodes": { +"description": "JSON response template for list verification codes operation in Directory API.", +"id": "VerificationCodes", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of verification code resources.", +"items": { +"$ref": "VerificationCode" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#verificationCodesList", +"description": "The type of the resource. This is always `admin#directory#verificationCodesList`.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Admin SDK API", +"version": "directory_v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ade7f7e72930d173993c6e91bada3966d0456d2a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1.json @@ -0,0 +1,721 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/adsense": { +"description": "View and manage your AdSense data" +}, +"https://www.googleapis.com/auth/adsense.readonly": { +"description": "View your AdSense data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://adsenseplatform.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AdSense Platform", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/adsense/platforms/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "adsenseplatform:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://adsenseplatform.mtls.googleapis.com/", +"name": "adsenseplatform", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"platforms": { +"resources": { +"accounts": { +"methods": { +"close": { +"description": "Closes a sub-account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}:close", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.close", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Account to close. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:close", +"request": { +"$ref": "CloseAccountRequest" +}, +"response": { +"$ref": "CloseAccountResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"create": { +"description": "Creates a sub-account.", +"flatPath": "v1/platforms/{platformsId}/accounts", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Platform to create an account for. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/accounts", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"get": { +"description": "Gets information about the selected sub-account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Account to get information about. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"list": { +"description": "Lists a partial view of sub-accounts for a specific parent account.", +"flatPath": "v1/platforms/{platformsId}/accounts", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of accounts to include in the response, used for paging. If unspecified, at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Platform who parents the accounts. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/accounts", +"response": { +"$ref": "ListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"lookup": { +"description": "Looks up information about a sub-account for a specified creation_request_id. If no account exists for the given creation_request_id, returns 404.", +"flatPath": "v1/platforms/{platformsId}/accounts:lookup", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"creationRequestId": { +"description": "Optional. The creation_request_id provided when calling createAccount.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Platform who parents the account. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/accounts:lookup", +"response": { +"$ref": "LookupAccountResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +} +}, +"resources": { +"events": { +"methods": { +"create": { +"description": "Creates an account event.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/events", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.events.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Account to log events about. Format: platforms/{platform}/accounts/{account}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/events", +"request": { +"$ref": "Event" +}, +"response": { +"$ref": "Event" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +} +} +}, +"sites": { +"methods": { +"create": { +"description": "Creates a site for a specified account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.sites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Account to create site. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sites", +"request": { +"$ref": "Site" +}, +"response": { +"$ref": "Site" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"delete": { +"description": "Deletes a site from a specified account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}", +"httpMethod": "DELETE", +"id": "adsenseplatform.platforms.accounts.sites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to delete. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"get": { +"description": "Gets a site from a specified sub-account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.sites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to retrieve. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Site" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"list": { +"description": "Lists sites for a specific account.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.sites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of sites to include in the response, used for paging. If unspecified, at most 10000 sites will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account which owns the sites. Format: platforms/{platform}/accounts/{account}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sites", +"response": { +"$ref": "ListSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"requestReview": { +"description": "Requests the review of a site. The site should be in REQUIRES_REVIEW or NEEDS_ATTENTION state. Note: Make sure you place an [ad tag](https://developers.google.com/adsense/platforms/direct/ad-tags) on your site before requesting a review.", +"flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:requestReview", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.sites.requestReview", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to submit for review. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:requestReview", +"response": { +"$ref": "RequestSiteReviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://adsenseplatform.googleapis.com/", +"schemas": { +"Account": { +"description": "Representation of an Account.", +"id": "Account", +"properties": { +"createTime": { +"description": "Output only. Creation time of the account.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creationRequestId": { +"description": "Required. An opaque token that uniquely identifies the account among all the platform's accounts. This string may contain at most 64 non-whitespace ASCII characters, but otherwise has no predefined structure. However, it is expected to be a platform-specific identifier for the user creating the account, so that only a single account can be created for any given user. This field must not contain any information that is recognizable as personally identifiable information. e.g. it should not be an email address or login name. Once an account has been created, a second attempt to create an account using the same creation_request_id will result in an ALREADY_EXISTS error.", +"type": "string" +}, +"displayName": { +"description": "Display name of this account.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the account. Format: platforms/pub-[0-9]+/accounts/pub-[0-9]+", +"readOnly": true, +"type": "string" +}, +"regionCode": { +"description": "Required. Input only. CLDR region code of the country/region of the address. Set this to country code of the child account if known, otherwise to your own country code.", +"type": "string" +}, +"state": { +"description": "Output only. Approval state of the account.", +"enum": [ +"STATE_UNSPECIFIED", +"UNCHECKED", +"APPROVED", +"DISAPPROVED" +], +"enumDescriptions": [ +"Unspecified.", +"Unchecked.", +"The account is ready to serve ads.", +"The account has been blocked from serving ads." +], +"readOnly": true, +"type": "string" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "Required. The IANA TZ timezone code of this account. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. This field is used for reporting. It is recommended to set it to the same value for all child accounts." +} +}, +"type": "object" +}, +"Address": { +"description": "Address data.", +"id": "Address", +"properties": { +"address1": { +"description": "First line of address. Max length 64 bytes or 30 characters.", +"type": "string" +}, +"address2": { +"description": "Second line of address. Max length 64 bytes or 30 characters.", +"type": "string" +}, +"city": { +"description": "City. Max length 60 bytes or 30 characters.", +"type": "string" +}, +"company": { +"description": "Name of the company. Max length 255 bytes or 34 characters.", +"type": "string" +}, +"contact": { +"description": "Contact name of the company. Max length 128 bytes or 34 characters.", +"type": "string" +}, +"fax": { +"description": "Fax number with international code (i.e. +441234567890).", +"type": "string" +}, +"phone": { +"description": "Phone number with international code (i.e. +441234567890).", +"type": "string" +}, +"regionCode": { +"description": "Country/Region code. The region is specified as a CLDR region code (e.g. \"US\", \"FR\").", +"type": "string" +}, +"state": { +"description": "State. Max length 60 bytes or 30 characters.", +"type": "string" +}, +"zip": { +"description": "Zip/post code. Max length 10 bytes or 10 characters.", +"type": "string" +} +}, +"type": "object" +}, +"CloseAccountRequest": { +"description": "Request definition for the account close rpc.", +"id": "CloseAccountRequest", +"properties": {}, +"type": "object" +}, +"CloseAccountResponse": { +"description": "Response definition for the account close rpc.", +"id": "CloseAccountResponse", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Event": { +"description": "A platform sub-account event to record spam signals.", +"id": "Event", +"properties": { +"eventInfo": { +"$ref": "EventInfo", +"description": "Required. Information associated with the event." +}, +"eventTime": { +"description": "Required. Event timestamp.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Required. Event type.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"LOG_IN_VIA_PLATFORM", +"SIGN_UP_VIA_PLATFORM" +], +"enumDescriptions": [ +"Do not use. You must set an event type explicitly.", +"Log in via platform.", +"Sign up via platform." +], +"type": "string" +} +}, +"type": "object" +}, +"EventInfo": { +"description": "Private information for partner recorded events (PII).", +"id": "EventInfo", +"properties": { +"billingAddress": { +"$ref": "Address", +"description": "The billing address of the publisher associated with this event, if available." +}, +"email": { +"description": "Required. The email address that is associated with the publisher when performing the event.", +"type": "string" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "Response definition for the list accounts rpc.", +"id": "ListAccountsResponse", +"properties": { +"accounts": { +"description": "The Accounts returned in the list response. Represented by a partial view of the Account resource, populating `name` and `creation_request_id`.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token used to page through accounts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", +"type": "string" +} +}, +"type": "object" +}, +"ListSitesResponse": { +"description": "Response definition for the site list rpc.", +"id": "ListSitesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token used to page through sites. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", +"type": "string" +}, +"sites": { +"description": "The sites returned in this list response.", +"items": { +"$ref": "Site" +}, +"type": "array" +} +}, +"type": "object" +}, +"LookupAccountResponse": { +"description": "Response definition for the lookup account rpc.", +"id": "LookupAccountResponse", +"properties": { +"name": { +"description": "The name of the Account Format: platforms/{platform}/accounts/{account_id}", +"type": "string" +} +}, +"type": "object" +}, +"RequestSiteReviewResponse": { +"description": "Response definition for the site request review rpc.", +"id": "RequestSiteReviewResponse", +"properties": {}, +"type": "object" +}, +"Site": { +"description": "Representation of a Site.", +"id": "Site", +"properties": { +"domain": { +"description": "Domain/sub-domain of the site. Must be a valid domain complying with [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt) and formatted as punycode [RFC 3492](https://www.ietf.org/rfc/rfc3492.txt) in case the domain contains unicode characters.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of a site. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of a site.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUIRES_REVIEW", +"GETTING_READY", +"READY", +"NEEDS_ATTENTION" +], +"enumDescriptions": [ +"State unspecified.", +"Either: - The site hasn't been checked yet. - The site is inactive and needs another review before it can show ads again. Learn how to [request a review for an inactive site](https://support.google.com/adsense/answer/9393996).", +"Google is running some checks on the site. This usually takes a few days, but in some cases it can take two to four weeks.", +"The site is ready to show ads. Learn how to [set up ads on the site](https://support.google.com/adsense/answer/7037624).", +"Publisher needs to fix some issues before the site is ready to show ads. Learn what to do [if a new site isn't ready](https://support.google.com/adsense/answer/9061852)." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "AdSense Platform API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..6a787dfc7a1428ada5ecfcee9c720c6aef625653 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsenseplatform.v1alpha.json @@ -0,0 +1,830 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/adsense": { +"description": "View and manage your AdSense data" +}, +"https://www.googleapis.com/auth/adsense.readonly": { +"description": "View your AdSense data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://adsenseplatform.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AdSense Platform", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/adsense/platforms/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "adsenseplatform:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://adsenseplatform.mtls.googleapis.com/", +"name": "adsenseplatform", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"resources": { +"platforms": { +"methods": { +"get": { +"description": "Gets a platform.", +"flatPath": "v1alpha/accounts/{accountsId}/platforms/{platformsId}", +"httpMethod": "GET", +"id": "adsenseplatform.accounts.platforms.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the platform to retrieve. Format: accounts/{account}/platforms/{platform}", +"location": "path", +"pattern": "^accounts/[^/]+/platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Platform" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"list": { +"description": "Lists platforms for a specified account.", +"flatPath": "v1alpha/accounts/{accountsId}/platforms", +"httpMethod": "GET", +"id": "adsenseplatform.accounts.platforms.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of platforms to include in the response, used for paging. If unspecified, at most 10000 platforms will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListPlatforms` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPlatforms` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account which owns the platforms. Format: accounts/{account}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/platforms", +"response": { +"$ref": "ListPlatformsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +} +} +} +} +}, +"platforms": { +"resources": { +"accounts": { +"methods": { +"close": { +"description": "Closes a sub-account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}:close", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.close", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Account to close. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:close", +"request": { +"$ref": "CloseAccountRequest" +}, +"response": { +"$ref": "CloseAccountResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"create": { +"description": "Creates a sub-account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Platform to create an account for. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accounts", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"get": { +"description": "Gets information about the selected sub-account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Account to get information about. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"list": { +"description": "Lists a partial view of sub-accounts for a specific parent account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of accounts to include in the response, used for paging. If unspecified, at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Platform who parents the accounts. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accounts", +"response": { +"$ref": "ListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"lookup": { +"description": "Looks up information about a sub-account for a specified creation_request_id. If no account exists for the given creation_request_id, returns 404.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts:lookup", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"creationRequestId": { +"description": "Optional. The creation_request_id provided when calling createAccount.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Platform who parents the account. Format: platforms/{platform}", +"location": "path", +"pattern": "^platforms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accounts:lookup", +"response": { +"$ref": "LookupAccountResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +} +}, +"resources": { +"events": { +"methods": { +"create": { +"description": "Creates an account event.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/events", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.events.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Account to log events about. Format: platforms/{platform}/accounts/{account}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/events", +"request": { +"$ref": "Event" +}, +"response": { +"$ref": "Event" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +} +} +}, +"sites": { +"methods": { +"create": { +"description": "Creates a site for a specified account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/sites", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.sites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Account to create site. Format: platforms/{platform}/accounts/{account_id}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sites", +"request": { +"$ref": "Site" +}, +"response": { +"$ref": "Site" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"delete": { +"description": "Deletes a site from a specified account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}", +"httpMethod": "DELETE", +"id": "adsenseplatform.platforms.accounts.sites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to delete. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +}, +"get": { +"description": "Gets a site from a specified sub-account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.sites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to retrieve. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Site" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"list": { +"description": "Lists sites for a specific account.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/sites", +"httpMethod": "GET", +"id": "adsenseplatform.platforms.accounts.sites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of sites to include in the response, used for paging. If unspecified, at most 10000 sites will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account which owns the sites. Format: platforms/{platform}/accounts/{account}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sites", +"response": { +"$ref": "ListSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense", +"https://www.googleapis.com/auth/adsense.readonly" +] +}, +"requestReview": { +"description": "Requests the review of a site. The site should be in REQUIRES_REVIEW or NEEDS_ATTENTION state. Note: Make sure you place an [ad tag](https://developers.google.com/adsense/platforms/direct/ad-tags) on your site before requesting a review.", +"flatPath": "v1alpha/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:requestReview", +"httpMethod": "POST", +"id": "adsenseplatform.platforms.accounts.sites.requestReview", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site to submit for review. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"location": "path", +"pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:requestReview", +"response": { +"$ref": "RequestSiteReviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsense" +] +} +} +} +} +} +} +} +}, +"revision": "20250108", +"rootUrl": "https://adsenseplatform.googleapis.com/", +"schemas": { +"Account": { +"description": "Representation of an Account.", +"id": "Account", +"properties": { +"createTime": { +"description": "Output only. Creation time of the account.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creationRequestId": { +"description": "Required. An opaque token that uniquely identifies the account among all the platform's accounts. This string may contain at most 64 non-whitespace ASCII characters, but otherwise has no predefined structure. However, it is expected to be a platform-specific identifier for the user creating the account, so that only a single account can be created for any given user. This field must not contain any information that is recognizable as personally identifiable information. e.g. it should not be an email address or login name. Once an account has been created, a second attempt to create an account using the same creation_request_id will result in an ALREADY_EXISTS error.", +"type": "string" +}, +"displayName": { +"description": "Display name of this account.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the account. Format: platforms/pub-[0-9]+/accounts/pub-[0-9]+", +"readOnly": true, +"type": "string" +}, +"regionCode": { +"description": "Required. Input only. CLDR region code of the country/region of the address. Set this to country code of the child account if known, otherwise to your own country code.", +"type": "string" +}, +"state": { +"description": "Output only. Approval state of the account.", +"enum": [ +"STATE_UNSPECIFIED", +"UNCHECKED", +"APPROVED", +"DISAPPROVED" +], +"enumDescriptions": [ +"Unspecified.", +"Unchecked.", +"The account is ready to serve ads.", +"The account has been blocked from serving ads." +], +"readOnly": true, +"type": "string" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "Required. The IANA TZ timezone code of this account. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. This field is used for reporting. It is recommended to set it to the same value for all child accounts." +} +}, +"type": "object" +}, +"Address": { +"description": "Address data.", +"id": "Address", +"properties": { +"address1": { +"description": "First line of address. Max length 64 bytes or 30 characters.", +"type": "string" +}, +"address2": { +"description": "Second line of address. Max length 64 bytes or 30 characters.", +"type": "string" +}, +"city": { +"description": "City. Max length 60 bytes or 30 characters.", +"type": "string" +}, +"company": { +"description": "Name of the company. Max length 255 bytes or 34 characters.", +"type": "string" +}, +"contact": { +"description": "Contact name of the company. Max length 128 bytes or 34 characters.", +"type": "string" +}, +"fax": { +"description": "Fax number with international code (i.e. +441234567890).", +"type": "string" +}, +"phone": { +"description": "Phone number with international code (i.e. +441234567890).", +"type": "string" +}, +"regionCode": { +"description": "Country/Region code. The region is specified as a CLDR region code (e.g. \"US\", \"FR\").", +"type": "string" +}, +"state": { +"description": "State. Max length 60 bytes or 30 characters.", +"type": "string" +}, +"zip": { +"description": "Zip/post code. Max length 10 bytes or 10 characters.", +"type": "string" +} +}, +"type": "object" +}, +"CloseAccountRequest": { +"description": "Request definition for the account close rpc.", +"id": "CloseAccountRequest", +"properties": {}, +"type": "object" +}, +"CloseAccountResponse": { +"description": "Response definition for the account close rpc.", +"id": "CloseAccountResponse", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Event": { +"description": "A platform sub-account event to record spam signals.", +"id": "Event", +"properties": { +"eventInfo": { +"$ref": "EventInfo", +"description": "Required. Information associated with the event." +}, +"eventTime": { +"description": "Required. Event timestamp.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Required. Event type.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"LOG_IN_VIA_PLATFORM", +"SIGN_UP_VIA_PLATFORM" +], +"enumDescriptions": [ +"Do not use. You must set an event type explicitly.", +"Log in via platform.", +"Sign up via platform." +], +"type": "string" +} +}, +"type": "object" +}, +"EventInfo": { +"description": "Private information for partner recorded events (PII).", +"id": "EventInfo", +"properties": { +"billingAddress": { +"$ref": "Address", +"description": "The billing address of the publisher associated with this event, if available." +}, +"email": { +"description": "Required. The email address that is associated with the publisher when performing the event.", +"type": "string" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "Response definition for the list accounts rpc.", +"id": "ListAccountsResponse", +"properties": { +"accounts": { +"description": "The Accounts returned in the list response. Represented by a partial view of the Account resource, populating `name` and `creation_request_id`.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token used to page through accounts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", +"type": "string" +} +}, +"type": "object" +}, +"ListPlatformsResponse": { +"description": "Response definition for the platform list rpc.", +"id": "ListPlatformsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token used to page through platforms. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", +"type": "string" +}, +"platforms": { +"description": "The platforms returned in this list response.", +"items": { +"$ref": "Platform" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSitesResponse": { +"description": "Response definition for the site list rpc.", +"id": "ListSitesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token used to page through sites. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", +"type": "string" +}, +"sites": { +"description": "The sites returned in this list response.", +"items": { +"$ref": "Site" +}, +"type": "array" +} +}, +"type": "object" +}, +"LookupAccountResponse": { +"description": "Response definition for the lookup account rpc.", +"id": "LookupAccountResponse", +"properties": { +"name": { +"description": "The name of the Account Format: platforms/{platform}/accounts/{account_id}", +"type": "string" +} +}, +"type": "object" +}, +"Platform": { +"description": "Representation of a Transparent Platform.", +"id": "Platform", +"properties": { +"defaultPlatformGroup": { +"description": "Default platform group for the platform.", +"type": "string" +}, +"description": { +"description": "Output only. Description of the platform.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of a platform. Format: accounts/{account}/platforms/{platform}", +"type": "string" +} +}, +"type": "object" +}, +"RequestSiteReviewResponse": { +"description": "Response definition for the site request review rpc.", +"id": "RequestSiteReviewResponse", +"properties": {}, +"type": "object" +}, +"Site": { +"description": "Representation of a Site.", +"id": "Site", +"properties": { +"domain": { +"description": "Domain/sub-domain of the site. Must be a valid domain complying with [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt) and formatted as punycode [RFC 3492](https://www.ietf.org/rfc/rfc3492.txt) in case the domain contains unicode characters.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of a site. Format: platforms/{platform}/accounts/{account}/sites/{site}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of a site.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUIRES_REVIEW", +"GETTING_READY", +"READY", +"NEEDS_ATTENTION" +], +"enumDescriptions": [ +"State unspecified.", +"Either: - The site hasn't been checked yet. - The site is inactive and needs another review before it can show ads again. Learn how to [request a review for an inactive site](https://support.google.com/adsense/answer/9393996).", +"Google is running some checks on the site. This usually takes a few days, but in some cases it can take two to four weeks.", +"The site is ready to show ads. Learn how to [set up ads on the site](https://support.google.com/adsense/answer/7037624).", +"Publisher needs to fix some issues before the site is ready to show ads. Learn what to do [if a new site isn't ready](https://support.google.com/adsense/answer/9061852)." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "AdSense Platform API", +"version": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..a7d6846e892b3f8785d89ac7b773acd174c053d6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json @@ -0,0 +1,50726 @@ +{ +"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" +} +} +} +}, +"basePath": "", +"baseUrl": "https://aiplatform.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Aiplatform", +"description": "Train high-quality custom machine learning models with minimal machine learning expertise and effort.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/vertex-ai/", +"endpoints": [ +{ +"description": "Locational Endpoint", +"endpointUrl": "https://africa-south1-aiplatform.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east1-aiplatform.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east2-aiplatform.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast1-aiplatform.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast2-aiplatform.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast3-aiplatform.googleapis.com/", +"location": "asia-northeast3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-south1-aiplatform.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast1-aiplatform.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast2-aiplatform.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast1-aiplatform.googleapis.com/", +"location": "australia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast2-aiplatform.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-central2-aiplatform.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-north1-aiplatform.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-southwest1-aiplatform.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west1-aiplatform.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west2-aiplatform.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west3-aiplatform.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west4-aiplatform.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west6-aiplatform.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west8-aiplatform.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west9-aiplatform.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west12-aiplatform.googleapis.com/", +"location": "europe-west12" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central1-aiplatform.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central2-aiplatform.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-west1-aiplatform.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast1-aiplatform.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast2-aiplatform.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-east1-aiplatform.googleapis.com/", +"location": "southamerica-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-west1-aiplatform.googleapis.com/", +"location": "southamerica-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-central1-aiplatform.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-central2-aiplatform.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east1-aiplatform.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east4-aiplatform.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east7-aiplatform.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-south1-aiplatform.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west1-aiplatform.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west2-aiplatform.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west3-aiplatform.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west4-aiplatform.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east5-aiplatform.googleapis.com/", +"location": "us-east5" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "aiplatform:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://aiplatform.mtls.googleapis.com/", +"name": "aiplatform", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"datasets": { +"methods": { +"create": { +"description": "Creates a Dataset.", +"flatPath": "v1beta1/datasets", +"httpMethod": "POST", +"id": "aiplatform.datasets.create", +"parameterOrder": [], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/datasets", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset.", +"flatPath": "v1beta1/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.datasets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset.", +"flatPath": "v1beta1/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "aiplatform.datasets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource.", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Datasets in a Location.", +"flatPath": "v1beta1/datasets", +"httpMethod": "GET", +"id": "aiplatform.datasets.list", +"parameterOrder": [], +"parameters": { +"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" +}, +"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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/datasets", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Dataset.", +"flatPath": "v1beta1/datasets/{datasetsId}", +"httpMethod": "PATCH", +"id": "aiplatform.datasets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"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`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"datasetVersions": { +"methods": { +"create": { +"description": "Create a version from a Dataset.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions", +"httpMethod": "POST", +"id": "aiplatform.datasets.datasetVersions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasetVersions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset version.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.datasets.datasetVersions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset version.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DatasetVersions in a Dataset.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"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" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasetVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DatasetVersion.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.datasets.datasetVersions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"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`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a dataset version.", +"flatPath": "v1beta1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:restore", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"endpoints": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/endpoints/{endpointsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.endpoints.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/endpoints/{endpointsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.endpoints.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/endpoints/{endpointsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.endpoints.generateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/endpoints/{endpointsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.endpoints.streamGenerateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"media": { +"methods": { +"upload": { +"description": "Upload a file into a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", +"httpMethod": "POST", +"id": "aiplatform.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1beta1/{+parent}/ragFiles:upload" +} +} +}, +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/ragFiles:upload", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UploadRagFileRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1UploadRagFileResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +], +"supportsMediaUpload": true +} +} +}, +"projects": { +"methods": { +"getCacheConfig": { +"description": "Gets a GenAI cache config.", +"flatPath": "v1beta1/projects/{projectsId}/cacheConfig", +"httpMethod": "GET", +"id": "aiplatform.projects.getCacheConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/cacheConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CacheConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateCacheConfig": { +"description": "Updates a cache config.", +"flatPath": "v1beta1/projects/{projectsId}/cacheConfig", +"httpMethod": "PATCH", +"id": "aiplatform.projects.updateCacheConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/cacheConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CacheConfig" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"augmentPrompt": { +"description": "Given an input prompt, it returns augmented prompt from vertex rag store to guide LLM towards generating grounded responses.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:augmentPrompt", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.augmentPrompt", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to augment prompt. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:augmentPrompt", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AugmentPromptRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AugmentPromptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"corroborateContent": { +"description": "Given an input text, it returns a score that evaluates the factuality of the text. It also extracts and returns claims from the text and provides supporting facts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:corroborateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.corroborateContent", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to corroborate text. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:corroborateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CorroborateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CorroborateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deploy": { +"description": "Deploys publisher models.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:deploy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploy", +"parameterOrder": [ +"destination" +], +"parameters": { +"destination": { +"description": "Required. The resource name of the Location to deploy the model in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+destination}:deploy", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeployPublisherModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"evaluateInstances": { +"description": "Evaluates instances based on a given metric.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:evaluateInstances", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.evaluateInstances", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The resource name of the Location to evaluate the instances. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+location}:evaluateInstances", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudLocationLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveContexts": { +"description": "Retrieves relevant contexts for a query.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:retrieveContexts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.retrieveContexts", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:retrieveContexts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"agents": { +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.agents.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"apps": { +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.apps.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.apps.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.apps.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.apps.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.apps.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"batchPredictionJobs": { +"methods": { +"cancel": { +"description": "Cancels a BatchPredictionJob. Starts asynchronous cancellation on the BatchPredictionJob. The server makes the best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetBatchPredictionJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On a successful cancellation, the BatchPredictionJob is not deleted;instead its BatchPredictionJob.state is set to `CANCELLED`. Any files already outputted by the job are not deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.batchPredictionJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob to cancel. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelBatchPredictionJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.batchPredictionJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/batchPredictionJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a BatchPredictionJob. Can only be called on jobs that already finished.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.batchPredictionJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob resource to be deleted. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a BatchPredictionJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.batchPredictionJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists BatchPredictionJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.batchPredictionJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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 `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/batchPredictionJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListBatchPredictionJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"cachedContents": { +"methods": { +"create": { +"description": "Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.cachedContents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where the cached content will be created", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/cachedContents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes cached content", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.cachedContents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name referring to the cached content", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets cached content configurations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.cachedContents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name referring to the cached content", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists cached contents in a project", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.cachedContents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of cached contents.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/cachedContents", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListCachedContentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates cached content configurations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.cachedContents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"customJobs": { +"methods": { +"cancel": { +"description": "Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob to cancel. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelCustomJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a CustomJob. A created CustomJob right away will be attempted to be run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/customJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a CustomJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.customJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob resource to be deleted. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a CustomJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob resource. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CustomJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/customJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListCustomJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.customJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataLabelingJobs": { +"methods": { +"cancel": { +"description": "Cancels a DataLabelingJob. Success of cancellation is not guaranteed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelDataLabelingJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dataLabelingJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.dataLabelingJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DataLabelingJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: \"name\"`. The \"name\" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dataLabelingJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDataLabelingJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"datasets": { +"methods": { +"create": { +"description": "Creates a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasets", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports data from a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports data into a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Datasets in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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" +}, +"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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasets", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.datasets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"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`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchDataItems": { +"description": "Searches DataItems in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.searchDataItems", +"parameterOrder": [ +"dataset" +], +"parameters": { +"annotationFilters": { +"description": "An expression that specifies what Annotations will be returned per DataItem. Annotations satisfied either of the conditions will be returned. * `annotation_spec_id` - for = or !=. Must specify `saved_query_id=` - saved query id that annotations should belong to.", +"location": "query", +"repeated": true, +"type": "string" +}, +"annotationsFilter": { +"deprecated": true, +"description": "An expression for filtering the Annotations that will be returned per DataItem. * `annotation_spec_id` - for = or !=.", +"location": "query", +"type": "string" +}, +"annotationsLimit": { +"description": "If set, only up to this many of Annotations will be returned per DataItemView. The maximum value is 1000. If not set, the maximum value will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"dataItemFilter": { +"description": "An expression for filtering the DataItem that will be returned. * `data_item_id` - for = or !=. * `labeled` - for = or !=. * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that have at least one annotation with annotation_spec_id = `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. For example: * `data_item=1` * `has_annotation(5)`", +"location": "query", +"type": "string" +}, +"dataLabelingJob": { +"description": "The resource name of a DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` If this field is set, all of the search will be done in the context of this DataLabelingJob.", +"location": "query", +"type": "string" +}, +"dataset": { +"description": "Required. The resource name of the Dataset from which to search DataItems. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"fieldMask": { +"description": "Mask specifying which fields of DataItemView to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"orderBy": { +"deprecated": true, +"description": "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" +}, +"orderByAnnotation.orderBy": { +"description": "A comma-separated list of annotation fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Must also specify saved_query.", +"location": "query", +"type": "string" +}, +"orderByAnnotation.savedQuery": { +"description": "Required. Saved query of the Annotation. Only Annotations belong to this saved query will be considered for ordering.", +"location": "query", +"type": "string" +}, +"orderByDataItem": { +"description": "A comma-separated list of data item fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer results than requested. Default and maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results for the server to return Typically obtained via SearchDataItemsResponse.next_page_token of the previous DatasetService.SearchDataItems call.", +"location": "query", +"type": "string" +}, +"savedQuery": { +"deprecated": true, +"description": "The resource name of a SavedQuery(annotation set in UI). Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` All of the search will be done in the context of this SavedQuery.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+dataset}:searchDataItems", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchDataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotationSpecs": { +"methods": { +"get": { +"description": "Gets an AnnotationSpec.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the AnnotationSpec resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AnnotationSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataItems": { +"methods": { +"list": { +"description": "Lists DataItems in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DataItems from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dataItems", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotations": { +"methods": { +"list": { +"description": "Lists Annotations belongs to a dataitem This RPC is only available in InternalDatasetService. It is only used for exporting conversation data to CCAI Insights.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the DataItem to list Annotations from. Format: `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/annotations", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListAnnotationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"datasetVersions": { +"methods": { +"create": { +"description": "Create a version from a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.datasetVersions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasetVersions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.datasetVersions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DatasetVersions in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"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" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasetVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DatasetVersion.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.datasets.datasetVersions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"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`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:restore", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"savedQueries": { +"methods": { +"delete": { +"description": "Deletes a SavedQuery.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SavedQuery to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SavedQueries in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "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" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list SavedQueries from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/savedQueries", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"deploymentResourcePools": { +"methods": { +"create": { +"description": "Create a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent location resource where this DeploymentResourcePool will be created. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/deploymentResourcePools", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DeploymentResourcePool to delete. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DeploymentResourcePool to retrieve. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List DeploymentResourcePools in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of DeploymentResourcePools to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDeploymentResourcePools` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeploymentResourcePools` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Location which owns this collection of DeploymentResourcePools. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/deploymentResourcePools", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListDeploymentResourcePoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.deploymentResourcePools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryDeployedModels": { +"description": "List DeployedModels that have been deployed on this DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", +"parameterOrder": [ +"deploymentResourcePool" +], +"parameters": { +"deploymentResourcePool": { +"description": "Required. The name of the target DeploymentResourcePool to query. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of DeployedModels to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `QueryDeployedModels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDeployedModels` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+deploymentResourcePool}:queryDeployedModels", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1QueryDeployedModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"edgeDevices": { +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.edgeDevices.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.edgeDevices.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.edgeDevices.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.edgeDevices.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.edgeDevices.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"endpoints": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"create": { +"description": "Creates an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"endpointId": { +"description": "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.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the Endpoint in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/endpoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Endpoint resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deployModel": { +"description": "Deploys a Model into this Endpoint, creating a DeployedModel within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.deployModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to deploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:deployModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeployModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"directPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for Vertex first-party products and frameworks.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.directPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:directPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DirectPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DirectPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"directRawPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for custom containers.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.directRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:directRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"explain": { +"description": "Perform an online explanation. If deployed_model_id is specified, the corresponding DeployModel must have explanation_spec populated. If deployed_model_id is not specified, all DeployedModels must have explanation_spec populated.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.explain", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the explanation. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:explain", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExplainRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExplainResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", +"parameterOrder": [ +"endpoint" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:fetchPredictOperation", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.generateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"get": { +"description": "Gets an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Endpoint resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Endpoints in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint ID, i.e. the last segment of the Endpoint's resource name. * `display_name` 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\"`. * `base_model_name` only supports `=`. Some examples: * `endpoint=1` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListEndpointsResponse.next_page_token of the previous EndpointService.ListEndpoints call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the Endpoints. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/endpoints", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mutateDeployedModel": { +"description": "Updates an existing deployed model. Updatable fields include `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `enable_container_logging` (v1beta1 only).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.mutateDeployedModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to mutate a DeployedModel. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:mutateDeployedModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MutateDeployedModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.endpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Endpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"predict": { +"description": "Perform an online prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.predict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"predictLongRunning": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.predictLongRunning", +"parameterOrder": [ +"endpoint" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.rawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.serverStreamingPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamGenerateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeployModel": { +"description": "Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.undeployModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource from which to undeploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:undeployModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UndeployModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates an Endpoint with a long running operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Endpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:update", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"chat": { +"methods": { +"completions": { +"description": "Exposes an OpenAI-compatible endpoint for chat completions.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.chat.completions", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}/chat/completions", +"request": { +"$ref": "GoogleApiHttpBody" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"evaluationTasks": { +"resources": { +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationTasks/{evaluationTasksId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.evaluationTasks.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationTasks/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationTasks/{evaluationTasksId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.evaluationTasks.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationTasks/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationTasks/{evaluationTasksId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.evaluationTasks.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationTasks/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationTasks/{evaluationTasksId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.evaluationTasks.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationTasks/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"exampleStores": { +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.exampleStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.exampleStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.exampleStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"extensionControllers": { +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensionControllers.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.extensionControllers.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensionControllers.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensionControllers.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensionControllers.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"extensions": { +"methods": { +"delete": { +"description": "Deletes an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.extensions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Extension resource to be deleted. Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"execute": { +"description": "Executes the request against a given extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:execute", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.execute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:execute", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Extension resource. Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to import the Extension in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/extensions:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Extensions in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter. Supported fields: * `display_name` * `create_time` * `update_time` More detail in [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. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Extensions from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/extensions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListExtensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.extensions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the Extension.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `runtime_config` * `tool_use_examples` * `manifest.description`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"query": { +"description": "Queries an extension with a default controller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:query", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.extensions.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensions.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensions.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featureGroups": { +"methods": { +"create": { +"description": "Creates a new FeatureGroup in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureGroupId": { +"description": "Required. The ID to use for this FeatureGroup, which will become the final component of the FeatureGroup'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 the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create FeatureGroups. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureGroups", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any Features under this FeatureGroup will also be deleted. (Otherwise, the request will only work if the FeatureGroup has no Features.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the FeatureGroup to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureGroup resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureGroups in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureGroups that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureGroups created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"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: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureGroups will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list FeatureGroups. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureGroups", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureMonitors": { +"methods": { +"create": { +"description": "Creates a new FeatureMonitor in a given project, location and FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureMonitorId": { +"description": "Required. The ID to use for this FeatureMonitor, which will become the final component of the FeatureGroup's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the FeatureGroup.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of FeatureGroup to create FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featuregroup}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureMonitors", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureMonitor to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureMonitor resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureGroups in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists the FeatureMonitors that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureMonitors created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitors will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitors call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitors must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureGroup to list FeatureMonitors. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureMonitors", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureMonitorJobs": { +"methods": { +"create": { +"description": "Creates a new feature monitor job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureMonitorJobId": { +"description": "Optional. Output only. System-generated ID for feature monitor job.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of FeatureMonitor to create FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureMonitorJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a feature monitor job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs/{featureMonitorJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureMonitorJob resource. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/featureMonitorJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List feature monitor jobs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists the FeatureMonitorJobs that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be Examples: * `create_time > \"2020-01-01\"` FeatureMonitorJobs created after 2020-01-01.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of FeatureMonitorJobs to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitorJobs will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitorJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitorJobs must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureMonitor to list FeatureMonitorJobs. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureMonitorJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Feature in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"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.", +"location": "query", +"type": "string" +}, +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"featureStatsAndAnomalySpec.latestStatsCount": { +"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"featureStatsAndAnomalySpec.statsTimeRange.endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"featureStatsAndAnomalySpec.statsTimeRange.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.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the Feature resource. 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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Features. 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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.features.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featureOnlineStores": { +"methods": { +"create": { +"description": "Creates a new FeatureOnlineStore in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureOnlineStoreId": { +"description": "Required. The ID to use for this FeatureOnlineStore, which will become the final component of the FeatureOnlineStore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureOnlineStores", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain any FeatureViews.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any FeatureViews and Features for this FeatureOnlineStore will also be deleted. (Otherwise, the request will only work if the FeatureOnlineStore has no FeatureViews.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the FeatureOnlineStore to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureOnlineStore resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureOnlineStores in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureOnlineStores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureOnlineStores created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureOnlineStores with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"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: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureOnlineStores to return. The service may return fewer than this value. If unspecified, at most 100 FeatureOnlineStores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureOnlineStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureOnlineStores", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureOnlineStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureOnlineStore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `bigtable` * `bigtable.auto_scaling` * `bigtable.enable_multi_region_replica`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureViews": { +"methods": { +"create": { +"description": "Creates a new FeatureView in a given FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureViewId": { +"description": "Required. The ID to use for the FeatureView, which will become the final component of the FeatureView's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a FeatureOnlineStore.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureOnlineStore to create FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +}, +"runSyncImmediately": { +"description": "Immutable. If set to true, one on demand sync will be run immediately, regardless whether the FeatureView.sync_config is configured or not.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/featureViews", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureView to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchFeatureValues": { +"description": "Fetch feature values under a FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featureView}:fetchFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureView resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureViews in a given FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureViews that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViews created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> FeatureViews having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any FeatureView which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"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: * `feature_view_id` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureViews to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViews will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViews must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureOnlineStore to list FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureViews", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchNearestEntities": { +"description": "Search the nearest entities under a FeatureView. Search only works for indexable feature view; if a feature view isn't indexable, returns Invalid argument response.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featureView}:searchNearestEntities", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamingFetchFeatureValues": { +"description": "Bidirectional streaming RPC to fetch feature values under a FeatureView. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:streamingFetchFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.streamingFetchFeatureValues", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featureView}:streamingFetchFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"sync": { +"description": "Triggers on-demand sync for the FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featureView}:sync", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureViewSyncs": { +"methods": { +"get": { +"description": "Gets details of a single FeatureViewSync.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureViewSync resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/featureViewSyncs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSync" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureViewSyncs in a given FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureViewSyncs that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViewSyncs created after 2020-01-31T15:30:00.000000Z.", +"location": "query", +"type": "string" +}, +"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: * `create_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureViewSyncs to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViewSyncs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureView to list FeatureViewSyncs. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featureViewSyncs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewSyncsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featurestores": { +"methods": { +"batchReadFeatureValues": { +"description": "Batch reads Feature values from a Featurestore. This API enables batch reading Feature values, where each read instance in the batch may read Feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for Feature values of each read instance as of each instance's read timestamp.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.batchReadFeatureValues", +"parameterOrder": [ +"featurestore" +], +"parameters": { +"featurestore": { +"description": "Required. The resource name of the Featurestore from which to query Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featurestore}:batchReadFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Featurestore in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featurestoreId": { +"description": "Required. The ID to use for this Featurestore, which will become the final component of the Featurestore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create Featurestores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featurestores", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any EntityTypes and Features for this Featurestore will also be deleted. (Otherwise, the request will only work if the Featurestore has no EntityTypes.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the Featurestore to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Featurestore resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GoogleIamV1GetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Featurestores in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the featurestores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` Featurestores created or updated after 2020-01-01. * `labels.env = \"prod\"` Featurestores with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"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: * `create_time` * `update_time` * `online_serving_config.fixed_node_count`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Featurestores to return. The service may return fewer than this value. If unspecified, at most 100 Featurestores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeaturestores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeaturestores must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Featurestores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/featurestores", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturestoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Featurestore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `online_serving_config.fixed_node_count` * `online_serving_config.scaling` * `online_storage_ttl_days`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchFeatures": { +"description": "Searches Features matching a query in a given project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.searchFeatures", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The resource name of the Location to search Features. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 100 Features will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.SearchFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.SearchFeatures, except `page_size`, must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"query": { +"description": "Query string that is a conjunction of field-restricted queries and/or field-restricted filters. Field-restricted queries and filters can be combined using `AND` to form a conjunction. A field query is in the form FIELD:QUERY. This implicitly checks if QUERY exists as a substring within Feature's FIELD. The QUERY and the FIELD are converted to a sequence of words (i.e. tokens) for comparison. This is done by: * Removing leading/trailing whitespace and tokenizing the search value. Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated as a wildcard that matches characters within a token. * Ignoring case. * Prepending an asterisk to the first and appending an asterisk to the last token in QUERY. A QUERY must be either a singular token or a phrase. A phrase is one or multiple words enclosed in double quotation marks (\"). With phrases, the order of the words is important. Words in the phrase must be matching in order and consecutively. Supported FIELDs for field-restricted queries: * `feature_id` * `description` * `entity_type_id` Examples: * `feature_id: foo` --> Matches a Feature with ID containing the substring `foo` (eg. `foo`, `foofeature`, `barfoo`). * `feature_id: foo*feature` --> Matches a Feature with ID containing the substring `foo*feature` (eg. `foobarfeature`). * `feature_id: foo AND description: bar` --> Matches a Feature with ID containing the substring `foo` and description containing the substring `bar`. Besides field queries, the following exact-match filters are supported. The exact-match filters do not support wildcards. Unlike field-restricted queries, exact-match filters are case-sensitive. * `feature_id`: Supports = comparisons. * `description`: Supports = comparisons. Multi-token filters should be enclosed in quotes. * `entity_type_id`: Supports = comparisons. * `value_type`: Supports = and != comparisons. * `labels`: Supports key-value equality as well as key presence. * `featurestore_id`: Supports = comparisons. Examples: * `description = \"foo bar\"` --> Any Feature with description exactly equal to `foo bar` * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with `env` as the key.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+location}/featurestores:searchFeatures", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"entityTypes": { +"methods": { +"create": { +"description": "Creates a new EntityType in a given Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"entityTypeId": { +"description": "Required. The ID to use for the EntityType, which will become the final component of the EntityType's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a featurestore.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Featurestore to create EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entityTypes", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any Features for this EntityType will also be deleted. (Otherwise, the request will only work if the EntityType has no Features.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the EntityType to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteFeatureValues": { +"description": "Delete Feature values from Featurestore. The progress of the deletion is tracked by the returned operation. The deleted feature values are guaranteed to be invisible to subsequent read operations after the operation is marked as successfully done. If a delete feature values operation fails, the feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same delete request again and wait till the new operation returned is marked as successfully done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being deleted from. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:deleteFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportFeatureValues": { +"description": "Exports Feature values from all the entities of a target EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType from which to export Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:exportFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EntityType resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importFeatureValues": { +"description": "Imports Feature values into the Featurestore from a source storage. The progress of the import is tracked by the returned operation. The imported features are guaranteed to be visible to subsequent read operations after the operation is marked as successfully done. If an import operation fails, the Feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same import request again and wait till the new operation returned is marked as successfully done. There are also scenarios where the caller can cause inconsistency. - Source data for import contains multiple distinct Feature values for the same entity ID and timestamp. - Source is modified during an import. This includes adding, updating, or removing source data and/or metadata. Examples of updating metadata include but are not limited to changing storage location, storage class, or retention policy. - Online serving cluster is under-provisioned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:importFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists EntityTypes in a given Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the EntityTypes that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> EntityTypes having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any EntityType which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"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: * `entity_type_id` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of EntityTypes to return. The service may return fewer than this value. If unspecified, at most 1000 EntityTypes will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListEntityTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListEntityTypes must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Featurestore to list EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entityTypes", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListEntityTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the EntityType resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `monitoring_config.snapshot_analysis.disabled` * `monitoring_config.snapshot_analysis.monitoring_interval_days` * `monitoring_config.snapshot_analysis.staleness_days` * `monitoring_config.import_features_analysis.state` * `monitoring_config.import_features_analysis.anomaly_detection_baseline` * `monitoring_config.numerical_threshold_config.value` * `monitoring_config.categorical_threshold_config.value` * `offline_storage_ttl_days`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readFeatureValues": { +"description": "Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType for the entity being read. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:readFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamingReadFeatureValues": { +"description": "Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the entities' type. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:streamingReadFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"writeFeatureValues": { +"description": "Writes Feature values of one or more entities of an EntityType. The Feature values are merged into existing entities if any. The Feature values to be written must have timestamp within the online storage retention.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType for the entities being written. Value format: `projects/{project}/locations/{location}/featurestores/ {featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+entityType}:writeFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Feature in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"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.", +"location": "query", +"type": "string" +}, +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"featureStatsAndAnomalySpec.latestStatsCount": { +"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"featureStatsAndAnomalySpec.statsTimeRange.endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"featureStatsAndAnomalySpec.statsTimeRange.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.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the Feature resource. 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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Features. 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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/features", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"hyperparameterTuningJobs": { +"methods": { +"cancel": { +"description": "Cancels a HyperparameterTuningJob. Starts asynchronous cancellation on the HyperparameterTuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetHyperparameterTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the HyperparameterTuningJob is not deleted; instead it becomes a job with a HyperparameterTuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and HyperparameterTuningJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelHyperparameterTuningJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a HyperparameterTuningJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the HyperparameterTuningJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/hyperparameterTuningJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a HyperparameterTuningJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob resource to be deleted. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a HyperparameterTuningJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob resource. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists HyperparameterTuningJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListHyperparameterTuningJobsResponse.next_page_token of the previous JobService.ListHyperparameterTuningJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the HyperparameterTuningJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/hyperparameterTuningJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListHyperparameterTuningJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"indexEndpoints": { +"methods": { +"create": { +"description": "Creates an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the IndexEndpoint in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexEndpoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexEndpoints.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the IndexEndpoint resource to be deleted. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deployIndex": { +"description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it. Only non-empty Indexes can be deployed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.deployIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+indexEndpoint}:deployIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeployIndexRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"findNeighbors": { +"description": "Finds the nearest neighbors of each vector within the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.findNeighbors", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+indexEndpoint}:findNeighbors", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the IndexEndpoint resource. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists IndexEndpoints in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `index_endpoint` supports = and !=. `index_endpoint` represents the IndexEndpoint ID, ie. the last segment of the IndexEndpoint's resourcename. * `display_name` supports =, != and regex() (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) * `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: * `index_endpoint=\"1\"` * `display_name=\"myDisplayName\"` * `regex(display_name, \"^A\") -> The display name starts with an A. * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListIndexEndpointsResponse.next_page_token of the previous IndexEndpointService.ListIndexEndpoints call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the IndexEndpoints. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexEndpoints", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListIndexEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mutateDeployedIndex": { +"description": "Update an existing DeployedIndex under an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+indexEndpoint}:mutateDeployedIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexEndpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the IndexEndpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readIndexDatapoints": { +"description": "Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+indexEndpoint}:readIndexDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeployIndex": { +"description": "Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.undeployIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource from which to undeploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+indexEndpoint}:undeployIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UndeployIndexRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexEndpoints.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"indexes": { +"methods": { +"create": { +"description": "Creates an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Index in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexes", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Index resource to be deleted. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Index resource. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Indexes in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListIndexesResponse.next_page_token of the previous IndexService.ListIndexes call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the Indexes. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexes", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListIndexesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Index.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeDatapoints": { +"description": "Remove Datapoints from an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.removeDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+index}:removeDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upsertDatapoints": { +"description": "Add/update Datapoints into an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.upsertDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+index}:upsertDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataStores": { +"methods": { +"create": { +"description": "Initializes a MetadataStore, including allocation of resources.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataStoreId": { +"description": "The {metadatastore} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataStores in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataStore.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location where the MetadataStore should be created. Format: `projects/{project}/locations/{location}/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/metadataStores", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"deprecated": true, +"description": "Deprecated: Field is no longer supported.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the MetadataStore to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the MetadataStore to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataStores for a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListMetadataStores call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Location whose MetadataStores should be listed. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/metadataStores", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListMetadataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates an Artifact associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "The {artifact} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` If not provided, the Artifact's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Artifacts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Artifact.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Artifact should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/artifacts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Artifact to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Artifact to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Artifact to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Artifacts in the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Artifacts based on the contexts to which they belong, use the function operator with the full resource name `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Artifacts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/artifacts", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.artifacts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Artifact is not found, a new Artifact is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the Artifact.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Artifacts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Artifacts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/artifacts:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PurgeArtifactsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryArtifactLineageSubgraph": { +"description": "Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", +"parameterOrder": [ +"artifact" +], +"parameters": { +"artifact": { +"description": "Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the Lineage Subgraph. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"` Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"maxHops": { +"description": "Specifies the size of the lineage graph in terms of number of hops from the specified artifact. Negative Value: INVALID_ARGUMENT error is returned 0: Only input artifact is returned. No value: Transitive closure is performed to return the complete graph.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1beta1/{+artifact}:queryArtifactLineageSubgraph", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"contexts": { +"methods": { +"addContextArtifactsAndExecutions": { +"description": "Adds a set of Artifacts and Executions to a Context. If any of the Artifacts or Executions have already been added to a Context, they are simply skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the Context that the Artifacts and Executions belong to. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:addContextArtifactsAndExecutions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"addContextChildren": { +"description": "Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:addContextChildren", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Context associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"contextId": { +"description": "The {context} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. If not provided, the Context's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Contexts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Context.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Context should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/contexts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a stored Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.contexts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Context to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"force": { +"description": "The force deletion semantics is still undefined. Users should not use this field.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Context to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Context to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Contexts on the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Contexts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0`. In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Parent Child filtering**: To filter Contexts based on parent-child relationship use the HAS operator as follows: ``` parent_contexts: \"projects//locations//metadataStores//contexts/\" child_contexts: \"projects//locations//metadataStores//contexts/\" ``` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListContexts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Contexts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/contexts", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListContextsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.contexts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Context is not found, a new Context is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The resource name of the Context.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Contexts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Contexts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/contexts:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PurgeContextsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryContextLineageSubgraph": { +"description": "Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the Context whose Artifacts and Executions should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:queryContextLineageSubgraph", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeContextChildren": { +"description": "Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:removeContextChildren", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"executions": { +"methods": { +"addExecutionEvents": { +"description": "Adds Events to the specified Execution. An Event indicates whether an Artifact was used as an input or output for an Execution. If an Event already exists between the Execution and the Artifact, the Event is skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", +"parameterOrder": [ +"execution" +], +"parameters": { +"execution": { +"description": "Required. The resource name of the Execution that the Events connect Artifacts with. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+execution}:addExecutionEvents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates an Execution associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"executionId": { +"description": "The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Execution should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/executions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.executions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Execution to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Execution to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Execution to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Executions in the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Executions to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..` For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Executions based on the contexts to which they belong use the function operator with the full resource name: `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListExecutions call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with an INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Executions should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/executions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.executions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Execution is not found, a new Execution is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the Execution.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Executions.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Executions from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/executions:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PurgeExecutionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryExecutionInputsAndOutputs": { +"description": "Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", +"parameterOrder": [ +"execution" +], +"parameters": { +"execution": { +"description": "Required. The resource name of the Execution whose input and output Artifacts should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+execution}:queryExecutionInputsAndOutputs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataSchemas": { +"methods": { +"create": { +"description": "Creates a MetadataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataSchemaId": { +"description": "The {metadata_schema} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataSchemas in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataSchema.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the MetadataSchema should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/metadataSchemas", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific MetadataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the MetadataSchema to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/metadataSchemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataSchemas.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A query to filter available MetadataSchemas for matching results.", +"location": "query", +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListMetadataSchemas call. Provide this to retrieve the next page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose MetadataSchemas should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/metadataSchemas", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListMetadataSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"migratableResources": { +"methods": { +"batchMigrate": { +"description": "Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.batchMigrate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location of the migrated resource will live in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/migratableResources:batchMigrate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Searches all of the resources in automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com that can be migrated to Vertex AI's given location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:search", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location that the migratable resources should be searched from. It's the Vertex AI location that the resources can be migrated to, not the resources' original location. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/migratableResources:search", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.migratableResources.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.migratableResources.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.migratableResources.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"modelDeploymentMonitoringJobs": { +"methods": { +"create": { +"description": "Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelDeploymentMonitoringJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelDeploymentMonitoringJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask is used to specify the fields to be overwritten in the ModelDeploymentMonitoringJob resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. For the objective config, the user can either provide the update mask for model_deployment_monitoring_objective_configs or any combination of its nested fields, such as: model_deployment_monitoring_objective_configs.objective_config.training_dataset. Updatable fields: * `display_name` * `model_deployment_monitoring_schedule_config` * `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and * `model_deployment_monitoring_objective_configs` . or * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to pause. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to resume. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeModelDeploymentMonitoringJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelDeploymentMonitoringStatsAnomalies": { +"description": "Searches Model Monitoring Statistics generated within a given time window.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", +"parameterOrder": [ +"modelDeploymentMonitoringJob" +], +"parameters": { +"modelDeploymentMonitoringJob": { +"description": "Required. ModelDeploymentMonitoring Job resource name. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"modelMonitors": { +"methods": { +"create": { +"description": "Creates a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"modelMonitorId": { +"description": "Optional. The ID to use for the Model Monitor, which will become the final component of the model monitor resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the ModelMonitor in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelMonitors", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelMonitors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. Force delete the model monitor with schedules.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the ModelMonitor resource to be deleted. Format: `projects/{project}/locations/{location}/modelMonitords/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelMonitor resource. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelMonitors in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the ModelMonitors from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelMonitors", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.modelMonitors.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Resource name of the ModelMonitor. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask specifying which fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelMonitoringAlerts": { +"description": "Returns the Model Monitoring alerts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringAlerts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringAlerts", +"parameterOrder": [ +"modelMonitor" +], +"parameters": { +"modelMonitor": { +"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+modelMonitor}:searchModelMonitoringAlerts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelMonitoringStats": { +"description": "Searches Model Monitoring Stats generated within a given time window.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringStats", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringStats", +"parameterOrder": [ +"modelMonitor" +], +"parameters": { +"modelMonitor": { +"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+modelMonitor}:searchModelMonitoringStats", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"modelMonitoringJobs": { +"methods": { +"create": { +"description": "Creates a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"modelMonitoringJobId": { +"description": "Optional. The ID to use for the Model Monitoring Job, which will become the final component of the model monitoring job resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMoniitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelMonitoringJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelMonitoringJobs. Callers may choose to read across multiple Monitors as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of modelMonitor id in the parent. Format `projects/{project_id}/locations/{location}/moodelMonitors/-/modelMonitoringJobs`", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelMonitoringJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitoringJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelMonitors.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"models": { +"methods": { +"copy": { +"description": "Copies an already existing Vertex AI Model into the specified Location. The source Model must exist in the same Project. When copying custom Models, the users themselves are responsible for Model.metadata content to be region-agnostic, as well as making sure that any resources (e.g. files) it depends on remain accessible.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:copy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.copy", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to copy the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/models:copy", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CopyModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Model resource to be deleted. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteVersion": { +"description": "Deletes a Model version. Model version can only be deleted if there are no DeployedModels created from it. Deleting the only version in the Model is not allowed. Use DeleteModel for deleting the Model instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.deleteVersion", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model version to be deleted, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:deleteVersion", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports a trained, exportable Model to a location specified by the user. A Model is considered to be exportable if it has at least one supported export format.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Model to export. The resource name may contain version id or version alias to specify the version, if no version is specified, the default version will be exported.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Model resource. 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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Models in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `model` supports = and !=. `model` represents the Model ID, i.e. the last segment of the Model's resource name. * `display_name` 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\"`. * `base_model_name` only supports = Some examples: * `model=1234` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelsResponse.next_page_token of the previous ModelService.ListModels call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Models from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/models", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listVersions": { +"description": "Lists versions of the specified model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.listVersions", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `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: * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the model to list versions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"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: * `create_time` * `update_time` Example: `update_time asc, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via next_page_token of the previous ListModelVersions call.", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:listVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mergeVersionAliases": { +"description": "Merges a set of aliases for a Model version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.mergeVersionAliases", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model version to merge aliases, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:mergeVersionAliases", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MergeVersionAliasesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.models.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the Model.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateExplanationDataset": { +"description": "Incrementally update the dataset used for an examples model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.updateExplanationDataset", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The resource name of the Model to update. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:updateExplanationDataset", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads a Model artifact into Vertex AI.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:upload", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to upload the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/models:upload", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UploadModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"evaluations": { +"methods": { +"get": { +"description": "Gets a ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelEvaluation resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports an externally generated ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent model resource. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/evaluations:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelEvaluations in a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelEvaluationsResponse.next_page_token of the previous ModelService.ListModelEvaluations call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Model to list the ModelEvaluations from. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/evaluations", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.evaluations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"slices": { +"methods": { +"batchImport": { +"description": "Imports a list of externally generated EvaluatedAnnotations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.slices.batchImport", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:batchImport", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelEvaluationSlice.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.slices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelEvaluationSlices in a ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.slices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. * `slice.dimension` - for =.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.ListModelEvaluationSlices call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices from. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/slices", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationSlicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"nasJobs": { +"methods": { +"cancel": { +"description": "Cancels a NasJob. Starts asynchronous cancellation on the NasJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetNasJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the NasJob is not deleted; instead it becomes a job with a NasJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.nasJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob to cancel. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelNasJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a NasJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.nasJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the NasJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nasJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NasJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.nasJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob resource to be deleted. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NasJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists NasJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListNasJobsResponse.next_page_token of the previous JobService.ListNasJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the NasJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nasJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListNasJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"nasTrialDetails": { +"methods": { +"get": { +"description": "Gets a NasTrialDetail.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasTrialDetail resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+/nasTrialDetails/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrialDetail" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List top NasTrialDetails of a NasJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of the previous JobService.ListNasTrialDetails call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nasTrialDetails", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListNasTrialDetailsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookExecutionJobs": { +"methods": { +"create": { +"description": "Creates a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"notebookExecutionJobId": { +"description": "Optional. User specified ID for the NotebookExecutionJob.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookExecutionJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookExecutionJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookExecutionJob resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateAccessToken": { +"description": "Internal only: Called from Compute Engine instance to obtain EUC for owner Anonymous access: authenticates caller using VM identity JWT. Design doc: go/colab-on-vertex-euc-dd", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:generateAccessToken", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.generateAccessToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource requesting the OAuth2 token. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}` `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:generateAccessToken", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookExecutionJob resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookExecutionJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookExecutionJob` supports = and !=. `notebookExecutionJob` represents the NotebookExecutionJob ID. * `displayName` supports = and != and regex. * `schedule` supports = and != and regex. Some examples: * `notebookExecutionJob=\"123\"` * `notebookExecutionJob=\"my-execution-job\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookExecutionJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportEvent": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:reportEvent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.reportEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookExecutionJob resource. Format: `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_jobs}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:reportEvent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookRuntimeTemplates": { +"methods": { +"create": { +"description": "Creates a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"notebookRuntimeTemplateId": { +"description": "Optional. User specified ID for the notebook runtime template.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookRuntimeTemplates", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntimeTemplate resource to be deleted. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookRuntimeTemplates in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` 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\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimeTemplatesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimeTemplates call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookRuntimeTemplates. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookRuntimeTemplates", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimeTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the NotebookRuntimeTemplate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Input format: `{paths: \"${updated_filed}\"}` Updatable fields: * `encryption_spec.kms_key_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"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", +"repeated": true, +"type": "string" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookRuntimes": { +"methods": { +"assign": { +"description": "Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.assign", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to get the NotebookRuntime assignment. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookRuntimes:assign", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AssignNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be deleted. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateAccessToken": { +"description": "Internal only: Called from Compute Engine instance to obtain EUC for owner Anonymous access: authenticates caller using VM identity JWT. Design doc: go/colab-on-vertex-euc-dd", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:generateAccessToken", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.generateAccessToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource requesting the OAuth2 token. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}` `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:generateAccessToken", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntime" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookRuntimes in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimes call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookRuntimes. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/notebookRuntimes", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportEvent": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:reportEvent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.reportEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:reportEvent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be started. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:start", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:stop", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgrade": { +"description": "Upgrades a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.upgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be upgrade. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:upgrade", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"persistentResources": { +"methods": { +"create": { +"description": "Creates a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the PersistentResource in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"persistentResourceId": { +"description": "Required. The ID to use for the PersistentResource, which become the final component of the PersistentResource's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/persistentResources", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource to be deleted. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists PersistentResources in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the PersistentResources from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/persistentResources", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListPersistentResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.persistentResources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Resource name of a PersistentResource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Specify the fields to be overwritten in the PersistentResource by the update method.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reboot": { +"description": "Reboots a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.reboot", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:reboot", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"pipelineJobs": { +"methods": { +"batchCancel": { +"description": "Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.batchCancel", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/pipelineJobs:batchCancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchDelete": { +"description": "Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/pipelineJobs:batchDelete", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"cancel": { +"description": "Cancels a PipelineJob. Starts asynchronous cancellation on the PipelineJob. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetPipelineJob or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the PipelineJob is not deleted; instead it becomes a pipeline with a PipelineJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob to cancel. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelPipelineJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a PipelineJob. A PipelineJob will run immediately when created.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"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-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/pipelineJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a PipelineJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.pipelineJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob resource to be deleted. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a PipelineJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob resource. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists PipelineJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the PipelineJobs that match the filter expression. The following fields are supported: * `pipeline_name`: Supports `=` and `!=` comparisons. * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. for example, can check if pipeline's display_name contains *step* by doing display_name:\\\"*step*\\\" * `state`: Supports `=` and `!=` comparisons. * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` wildcard. Filter expressions can be combined together using logical operators (`AND` & `OR`). For example: `pipeline_name=\"test\" AND create_time>\"2020-05-18T13:30:00Z\"`. The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `create_time>\"2021-05-18T00:00:00Z\" OR update_time>\"2020-05-18T00:00:00Z\"` PipelineJobs created or updated after 2020-05-18 00:00:00 UTC. * `labels.env = \"prod\"` PipelineJobs with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided e.g. \"create_time desc, end_time\", \"end_time, start_time, update_time\" For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple jobs having the same create time, order them by the end time in ascending order. if order_by is not specified, it will order by default order is create time in descending order. Supported fields: * `create_time` * `update_time` * `end_time` * `start_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListPipelineJobsResponse.next_page_token of the previous PipelineService.ListPipelineJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the PipelineJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/pipelineJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListPipelineJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.pipelineJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"publishers": { +"resources": { +"models": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", +"parameterOrder": [ +"endpoint" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:fetchPredictOperation", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.generateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"predict": { +"description": "Perform an online prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.predict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"predictLongRunning": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.predictLongRunning", +"parameterOrder": [ +"endpoint" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.rawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.serverStreamingPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.streamGenerateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.streamRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +}, +"ragCorpora": { +"methods": { +"create": { +"description": "Creates a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/ragCorpora", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"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" +}, +"name": { +"description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RagCorpora in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/ragCorpora", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.ragCorpora.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the RagCorpus.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"ragFiles": { +"methods": { +"delete": { +"description": "Deletes a RagFile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a RagFile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RagFile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/ragFiles:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RagFiles in a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"parent": { +"description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/ragFiles", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListRagFilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"reasoningEngines": { +"methods": { +"create": { +"description": "Creates a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/reasoningEngines", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists reasoning engines in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/reasoningEngines", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.reasoningEngines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the ReasoningEngine.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Mask specifying which fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:query", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.streamQuery", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:streamQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"schedules": { +"methods": { +"create": { +"description": "Creates a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/schedules", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.schedules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Schedules in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size. Default to 100 if not specified.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/schedules", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSchedulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.schedules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the Schedule.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PauseScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.schedules.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"solvers": { +"resources": { +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.solvers.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.solvers.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.solvers.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"specialistPools": { +"methods": { +"create": { +"description": "Creates a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Project name for the new SpecialistPool. The form is `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/specialistPools", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SpecialistPool as well as all Specialists in the pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.specialistPools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any specialist managers in this SpecialistPool will also be deleted. (Otherwise, the request will only work if the SpecialistPool has no specialist managers.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the SpecialistPool to delete. Format: `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SpecialistPool resource. The form is `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SpecialistPools in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of the previous SpecialistPoolService.ListSpecialistPools call. Return first page if empty.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the SpecialistPool's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read. FieldMask represents a set of", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/specialistPools", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSpecialistPoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.specialistPools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SpecialistPool.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.specialistPools.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"studies": { +"methods": { +"create": { +"description": "Creates a Study. A resource name will be generated after creation of the Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/studies", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Study" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Study by name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the studies in a region for an associated project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/studies", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListStudiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lookup": { +"description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies:lookup", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/studies:lookup", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1LookupStudyRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"trials": { +"methods": { +"addTrialMeasurement": { +"description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", +"parameterOrder": [ +"trialName" +], +"parameters": { +"trialName": { +"description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+trialName}:addTrialMeasurement", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddTrialMeasurementRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"checkTrialEarlyStoppingState": { +"description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", +"parameterOrder": [ +"trialName" +], +"parameters": { +"trialName": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+trialName}:checkTrialEarlyStoppingState", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"complete": { +"description": "Marks a Trial as complete.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.complete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:complete", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CompleteTrialRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Adds a user provided Trial to a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trials", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.trials.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Trials associated with a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trials", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTrialsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listOptimalTrials": { +"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", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Study that the optimal Trial belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trials:listOptimalTrials", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:stop", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StopTrialRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"suggest": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.suggest", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trials:suggest", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SuggestTrialsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.trials.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"tensorboards": { +"methods": { +"batchRead": { +"description": "Reads multiple TensorboardTimeSeries' data. The data point number limit is 1000 for scalars, 100 for tensors and blob references. If the number of data points stored is less than the limit, all data is returned. Otherwise, the number limit of data points is randomly selected from this time series and returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.batchRead", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The resource name of the Tensorboard containing TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. The TensorboardTimeSeries referenced by time_series must be sub resources of this Tensorboard.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource names of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboard}:batchRead", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Tensorboard in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tensorboards", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Tensorboard to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Tensorboards in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Tensorboards that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Tensorboards to return. The service may return fewer than this value. If unspecified, at most 100 Tensorboards are returned. The maximum value is 100; values above 100 are coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboards call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboards must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Tensorboards. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tensorboards", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the Tensorboard resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readSize": { +"description": "Returns the storage size for a given TensorBoard instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readSize", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboard}:readSize", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardSizeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readUsage": { +"description": "Returns a list of monthly active users for a given TensorBoard instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readUsage", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboard}:readUsage", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"experiments": { +"methods": { +"batchCreate": { +"description": "Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The TensorboardRuns referenced by the parent fields in the CreateTensorboardTimeSeriesRequest messages must be sub resources of this TensorboardExperiment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Tensorboard to create the TensorboardExperiment in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"tensorboardExperimentId": { +"description": "Required. The ID to use for the Tensorboard experiment, which becomes the final component of the Tensorboard experiment's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/experiments", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardExperiment to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardExperiment resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TensorboardExperiments in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardExperiments that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardExperiments to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardExperiments are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardExperiments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardExperiments must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Tensorboard to list TensorboardExperiments. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/experiments", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardExperiment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.write", +"parameterOrder": [ +"tensorboardExperiment" +], +"parameters": { +"tensorboardExperiment": { +"description": "Required. The resource name of the TensorboardExperiment to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardExperiment}:write", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runs": { +"methods": { +"batchCreate": { +"description": "Batch create TensorboardRuns.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRuns in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The parent field in the CreateTensorboardRunRequest messages must match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/runs:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"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-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/runs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardRun to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardRun resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TensorboardRuns in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardRuns that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardRuns to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardRuns are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardRuns call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardRuns must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to list TensorboardRuns. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/runs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardRun resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.write", +"parameterOrder": [ +"tensorboardRun" +], +"parameters": { +"tensorboardRun": { +"description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardRun}:write", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"timeSeries": { +"methods": { +"create": { +"description": "Creates a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"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}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"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}\"", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/timeSeries", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardTimeSeries to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportTensorboardTimeSeries": { +"description": "Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", +"parameterOrder": [ +"tensorboardTimeSeries" +], +"parameters": { +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to export data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardTimeSeries resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TensorboardTimeSeries in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardTimeSeries that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardTimeSeries to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardTimeSeries are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardTimeSeries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardTimeSeries must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/timeSeries", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardTimeSeriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardTimeSeries.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardTimeSeries resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"read": { +"description": "Reads a TensorboardTimeSeries' data. By default, if the number of data points stored is less than 1000, all data is returned. Otherwise, 1000 data points is randomly selected from this time series and returned. This value can be changed by changing max_data_points, which can't be greater than 10k.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", +"parameterOrder": [ +"tensorboardTimeSeries" +], +"parameters": { +"filter": { +"description": "Reads the TensorboardTimeSeries' data that match the filter expression.", +"location": "query", +"type": "string" +}, +"maxDataPoints": { +"description": "The maximum number of TensorboardTimeSeries' data to return. This value should be a positive integer. This value can be set to -1 to return all data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardTimeSeries}:read", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readBlobData": { +"description": "Gets bytes of TensorboardBlobs. This is to allow reading blob data stored in consumer project's Cloud Storage bucket without users having to obtain Cloud Storage access permission.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", +"parameterOrder": [ +"timeSeries" +], +"parameters": { +"blobIds": { +"description": "IDs of the blobs to read.", +"location": "query", +"repeated": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to list Blobs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+timeSeries}:readBlobData", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardBlobDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"trainingPipelines": { +"methods": { +"cancel": { +"description": "Cancels a TrainingPipeline. Starts asynchronous cancellation on the TrainingPipeline. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetTrainingPipeline or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the TrainingPipeline is not deleted; instead it becomes a pipeline with a TrainingPipeline.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TrainingPipeline.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline to cancel. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the TrainingPipeline in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trainingPipelines", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TrainingPipeline.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.trainingPipelines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline resource to be deleted. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TrainingPipeline.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline resource. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TrainingPipelines in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` 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=\"PIPELINE_STATE_SUCCEEDED\" AND display_name:\"my_pipeline_*\"` * `state!=\"PIPELINE_STATE_FAILED\" OR display_name=\"my_pipeline\"` * `NOT display_name=\"my_pipeline\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `training_task_definition:\"*automl_text_classification*\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.ListTrainingPipelines call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the TrainingPipelines from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trainingPipelines", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTrainingPipelinesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.trainingPipelines.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"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.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tuningJobs": { +"methods": { +"cancel": { +"description": "Cancels a TuningJob. Starts asynchronous cancellation on the TuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the TuningJob is not deleted; instead it becomes a job with a TuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TuningJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TuningJob to cancel. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelTuningJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TuningJob. A created TuningJob right away will be attempted to be run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the TuningJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tuningJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TuningJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TuningJob resource. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TuningJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the TuningJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tuningJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTuningJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rebaseTunedModel": { +"description": "Rebase a TunedModel.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to rebase the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tuningJobs:rebaseTunedModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RebaseTunedModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tuningJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"publishers": { +"resources": { +"models": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.generateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"get": { +"description": "Gets a Model Garden publisher model.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}", +"httpMethod": "GET", +"id": "aiplatform.publishers.models.get", +"parameterOrder": [ +"name" +], +"parameters": { +"huggingFaceToken": { +"description": "Optional. Token used to access Hugging Face gated models.", +"location": "query", +"type": "string" +}, +"isHuggingFaceModel": { +"description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", +"location": "query", +"type": "boolean" +}, +"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" +}, +"name": { +"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. PublisherModel view specifying which fields to read.", +"enum": [ +"PUBLISHER_MODEL_VIEW_UNSPECIFIED", +"PUBLISHER_MODEL_VIEW_BASIC", +"PUBLISHER_MODEL_VIEW_FULL", +"PUBLISHER_MODEL_VERSION_VIEW_BASIC" +], +"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." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists publisher models in Model Garden.", +"flatPath": "v1beta1/publishers/{publishersId}/models", +"httpMethod": "GET", +"id": "aiplatform.publishers.models.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher models' text information should be written in. If not set, by default English (en).", +"location": "query", +"type": "string" +}, +"listAllVersions": { +"description": "Optional. List all publisher model versions if the flag is set to true.", +"location": "query", +"type": "boolean" +}, +"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" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListPublisherModelsResponse.next_page_token of the previous ModelGardenService.ListPublisherModels call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Publisher from which to list the PublisherModels. Format: `publishers/{publisher}`", +"location": "path", +"pattern": "^publishers/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. PublisherModel view specifying which fields to read.", +"enum": [ +"PUBLISHER_MODEL_VIEW_UNSPECIFIED", +"PUBLISHER_MODEL_VIEW_BASIC", +"PUBLISHER_MODEL_VIEW_FULL", +"PUBLISHER_MODEL_VERSION_VIEW_BASIC" +], +"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." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/models", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListPublisherModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.streamGenerateContent", +"parameterOrder": [ +"model" +], +"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}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +}, +"revision": "20241214", +"rootUrl": "https://aiplatform.googleapis.com/", +"schemas": { +"CloudAiLargeModelsVisionGenerateVideoResponse": { +"description": "Generate video response.", +"id": "CloudAiLargeModelsVisionGenerateVideoResponse", +"properties": { +"generatedSamples": { +"description": "The generates samples.", +"items": { +"$ref": "CloudAiLargeModelsVisionMedia" +}, +"type": "array" +}, +"raiMediaFilteredCount": { +"description": "Returns if any videos were filtered due to RAI policies.", +"format": "int32", +"type": "integer" +}, +"raiMediaFilteredReasons": { +"description": "Returns rai failure reasons if any.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImage": { +"description": "Image.", +"id": "CloudAiLargeModelsVisionImage", +"properties": { +"encoding": { +"description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", +"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.", +"format": "int32", +"type": "integer" +}, +"image": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +}, +"imageRaiScores": { +"$ref": "CloudAiLargeModelsVisionImageRAIScores", +"description": "RAI scores for generated image." +}, +"imageSize": { +"$ref": "CloudAiLargeModelsVisionImageImageSize", +"description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." +}, +"raiInfo": { +"$ref": "CloudAiLargeModelsVisionRaiInfo", +"description": "RAI info for image." +}, +"semanticFilterResponse": { +"$ref": "CloudAiLargeModelsVisionSemanticFilterResponse", +"description": "Semantic filter info for image." +}, +"text": { +"description": "Text/Expanded text input for imagen.", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageImageSize": { +"description": "Image size.", +"id": "CloudAiLargeModelsVisionImageImageSize", +"properties": { +"channels": { +"format": "int32", +"type": "integer" +}, +"height": { +"format": "int32", +"type": "integer" +}, +"width": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageRAIScores": { +"description": "RAI scores for generated image returned.", +"id": "CloudAiLargeModelsVisionImageRAIScores", +"properties": { +"agileWatermarkDetectionScore": { +"description": "Agile watermark score for image.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionMedia": { +"description": "Media.", +"id": "CloudAiLargeModelsVisionMedia", +"properties": { +"image": { +"$ref": "CloudAiLargeModelsVisionImage", +"description": "Image." +}, +"video": { +"$ref": "CloudAiLargeModelsVisionVideo", +"description": "Video" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionNamedBoundingBox": { +"id": "CloudAiLargeModelsVisionNamedBoundingBox", +"properties": { +"classes": { +"items": { +"type": "string" +}, +"type": "array" +}, +"entities": { +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"x1": { +"format": "float", +"type": "number" +}, +"x2": { +"format": "float", +"type": "number" +}, +"y1": { +"format": "float", +"type": "number" +}, +"y2": { +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfo": { +"description": "Next ID: 6", +"id": "CloudAiLargeModelsVisionRaiInfo", +"properties": { +"blockedEntities": { +"description": "List of blocked entities from the blocklist if it is detected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedLabels": { +"description": "The list of detected labels for different rai categories.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" +}, +"type": "array" +}, +"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" +}, +"raiCategories": { +"description": "List of rai categories' information to return", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabels": { +"description": "Filters returning list of deteceted labels, scores, and bounding boxes.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", +"properties": { +"entities": { +"description": "The list of detected entities for the rai signal.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" +}, +"type": "array" +}, +"raiCategory": { +"description": "The RAI category for the deteceted labels.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { +"description": "An integer bounding box of original pixels of the image for the detected labels.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"properties": { +"x1": { +"description": "The X coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"x2": { +"description": "The X coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y1": { +"description": "The Y coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y2": { +"description": "The Y coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { +"description": "The properties for a detected entity from the rai signal.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", +"properties": { +"boundingBox": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"description": "Bounding box of the label" +}, +"description": { +"description": "Description of the label", +"type": "string" +}, +"iouScore": { +"description": "The intersection ratio between the detection bounding box and the mask.", +"format": "float", +"type": "number" +}, +"mid": { +"description": "MID of the label", +"type": "string" +}, +"score": { +"description": "Confidence score of the label", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionSemanticFilterResponse": { +"id": "CloudAiLargeModelsVisionSemanticFilterResponse", +"properties": { +"namedBoundingBoxes": { +"description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", +"items": { +"$ref": "CloudAiLargeModelsVisionNamedBoundingBox" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionVideo": { +"description": "Video", +"id": "CloudAiLargeModelsVisionVideo", +"properties": { +"encodedVideo": { +"description": "Base 64 encoded video bytes.", +"type": "string" +}, +"encoding": { +"description": "Video encoding, for example \"video/mp4\".", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +}, +"video": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { +"description": "Create API error message for Vertex Pipeline. Next Id: 3.", +"id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", +"properties": { +"errorCause": { +"description": "The error root cause returned by CreatePipelineJob API.", +"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" +], +"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 GCS input uri", +"Invalid GCS 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." +], +"type": "string" +}, +"publicMessage": { +"description": "Public messages contains actionable items for the error cause.", +"type": "string" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleApiHttpBody", +"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.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ActiveLearningConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ActiveLearningConfig", +"properties": { +"maxDataItemCount": { +"description": "Max number of human labeled DataItems.", +"format": "int64", +"type": "string" +}, +"maxDataItemPercentage": { +"description": "Max percent of total DataItems for human labeling.", +"format": "int32", +"type": "integer" +}, +"sampleConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SampleConfig", +"description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy." +}, +"trainingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingConfig", +"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" +}, +"GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest": { +"description": "Request message for MetadataService.AddContextArtifactsAndExecutions.", +"id": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest", +"properties": { +"artifacts": { +"description": "The resource names of the Artifacts to attribute to the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"executions": { +"description": "The resource names of the Executions to associate with the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsResponse": { +"description": "Response message for MetadataService.AddContextArtifactsAndExecutions.", +"id": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddContextChildrenRequest": { +"description": "Request message for MetadataService.AddContextChildren.", +"id": "GoogleCloudAiplatformV1beta1AddContextChildrenRequest", +"properties": { +"childContexts": { +"description": "The resource names of the child Contexts.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddContextChildrenResponse": { +"description": "Response message for MetadataService.AddContextChildren.", +"id": "GoogleCloudAiplatformV1beta1AddContextChildrenResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddExecutionEventsRequest": { +"description": "Request message for MetadataService.AddExecutionEvents.", +"id": "GoogleCloudAiplatformV1beta1AddExecutionEventsRequest", +"properties": { +"events": { +"description": "The Events to create and add.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Event" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddExecutionEventsResponse": { +"description": "Response message for MetadataService.AddExecutionEvents.", +"id": "GoogleCloudAiplatformV1beta1AddExecutionEventsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddTrialMeasurementRequest": { +"description": "Request message for VizierService.AddTrialMeasurement.", +"id": "GoogleCloudAiplatformV1beta1AddTrialMeasurementRequest", +"properties": { +"measurement": { +"$ref": "GoogleCloudAiplatformV1beta1Measurement", +"description": "Required. The measurement to be added to a Trial." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Annotation": { +"description": "Used to assign specific AnnotationSpec to a particular area of a DataItem or the whole part of the DataItem.", +"id": "GoogleCloudAiplatformV1beta1Annotation", +"properties": { +"annotationSource": { +"$ref": "GoogleCloudAiplatformV1beta1UserActionReference", +"description": "Output only. The source of the Annotation.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp when this Annotation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Resource name of the Annotation.", +"readOnly": true, +"type": "string" +}, +"payload": { +"description": "Required. The schema of the payload can be found in payload_schema.", +"type": "any" +}, +"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" +}, +"updateTime": { +"description": "Output only. Timestamp when this Annotation was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AnnotationSpec": { +"description": "Identifies a concept with which DataItems may be annotated with.", +"id": "GoogleCloudAiplatformV1beta1AnnotationSpec", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this AnnotationSpec was created.", +"format": "google-datetime", +"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" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the AnnotationSpec.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when AnnotationSpec was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ApiAuth": { +"description": "The generic reusable api auth config.", +"id": "GoogleCloudAiplatformV1beta1ApiAuth", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", +"description": "The API secret." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig": { +"description": "The API secret.", +"id": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", +"properties": { +"apiKeySecretVersion": { +"description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Artifact": { +"description": "Instance of a general artifact.", +"id": "GoogleCloudAiplatformV1beta1Artifact", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Artifact was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Artifact", +"type": "string" +}, +"displayName": { +"description": "User provided display name of the Artifact. 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": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the Artifact.", +"readOnly": true, +"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" +}, +"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.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"LIVE" +], +"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." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Artifact was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ArtifactTypeSchema": { +"description": "The definition of a artifact type in MLMD.", +"id": "GoogleCloudAiplatformV1beta1ArtifactTypeSchema", +"properties": { +"instanceSchema": { +"description": "Contains a raw YAML string, describing the format of the properties of the type.", +"type": "string" +}, +"schemaTitle": { +"description": "The name of the type. The format of the title must be: `.`. Examples: - `aiplatform.Model` - `acme.CustomModel` When this field is set, the type must be pre-registered in the MLMD store.", +"type": "string" +}, +"schemaUri": { +"deprecated": true, +"description": "Points to a YAML file stored on Cloud Storage describing the format. Deprecated. Use PipelineArtifactTypeSchema.schema_title or PipelineArtifactTypeSchema.instance_schema instead.", +"type": "string" +}, +"schemaVersion": { +"description": "The schema version of the artifact. If the value is not set, it defaults to the latest version in the system.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AssignNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.AssignNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1AssignNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AssignNotebookRuntimeRequest": { +"description": "Request message for NotebookService.AssignNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1AssignNotebookRuntimeRequest", +"properties": { +"notebookRuntime": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntime", +"description": "Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment." +}, +"notebookRuntimeId": { +"description": "Optional. User specified ID for the notebook runtime.", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Attribution": { +"description": "Attribution that explains a particular prediction output.", +"id": "GoogleCloudAiplatformV1beta1Attribution", +"properties": { +"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.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"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 > 1), this is the value in the output located by output_index. If there are multiple baselines, their output values are averaged.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"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" +}, +"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.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"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" +}, +"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.", +"items": { +"format": "int32", +"type": "integer" +}, +"readOnly": true, +"type": "array" +}, +"outputName": { +"description": "Output only. Name of the explain output. Specified as the key in ExplanationMetadata.outputs.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AugmentPromptRequest": { +"description": "Request message for AugmentPrompt.", +"id": "GoogleCloudAiplatformV1beta1AugmentPromptRequest", +"properties": { +"contents": { +"description": "Optional. Input content to augment, only text format is supported for now.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"model": { +"$ref": "GoogleCloudAiplatformV1beta1AugmentPromptRequestModel", +"description": "Optional. Metadata of the backend deployed model." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1beta1VertexRagStore", +"description": "Optional. Retrieves contexts from the Vertex RagStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AugmentPromptRequestModel": { +"description": "Metadata of the backend deployed model.", +"id": "GoogleCloudAiplatformV1beta1AugmentPromptRequestModel", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AugmentPromptResponse": { +"description": "Response message for AugmentPrompt.", +"id": "GoogleCloudAiplatformV1beta1AugmentPromptResponse", +"properties": { +"augmentedPrompt": { +"description": "Augmented prompt, only text format is supported for now.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"facts": { +"description": "Retrieved facts from RAG data sources.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Fact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfig": { +"description": "Auth configuration to run the extension.", +"id": "GoogleCloudAiplatformV1beta1AuthConfig", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfig", +"description": "Config for API key auth." +}, +"authType": { +"description": "Type of auth scheme.", +"enum": [ +"AUTH_TYPE_UNSPECIFIED", +"NO_AUTH", +"API_KEY_AUTH", +"HTTP_BASIC_AUTH", +"GOOGLE_SERVICE_ACCOUNT_AUTH", +"OAUTH", +"OIDC_AUTH" +], +"enumDescriptions": [ +"", +"No Auth.", +"API Key Auth.", +"HTTP Basic Auth.", +"Google Service Account Auth.", +"OAuth auth.", +"OpenID Connect (OIDC) Auth." +], +"type": "string" +}, +"googleServiceAccountConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfigGoogleServiceAccountConfig", +"description": "Config for Google Service Account auth." +}, +"httpBasicAuthConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfigHttpBasicAuthConfig", +"description": "Config for HTTP Basic auth." +}, +"oauthConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfigOauthConfig", +"description": "Config for user oauth." +}, +"oidcConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfigOidcConfig", +"description": "Config for user OIDC auth." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfig": { +"description": "Config for authentication with API key.", +"id": "GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfig", +"properties": { +"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": "Required. The location of the API key.", +"enum": [ +"HTTP_IN_UNSPECIFIED", +"HTTP_IN_QUERY", +"HTTP_IN_HEADER", +"HTTP_IN_PATH", +"HTTP_IN_BODY", +"HTTP_IN_COOKIE" +], +"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." +], +"type": "string" +}, +"name": { +"description": "Required. 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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfigGoogleServiceAccountConfig": { +"description": "Config for Google Service Account Authentication.", +"id": "GoogleCloudAiplatformV1beta1AuthConfigGoogleServiceAccountConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfigHttpBasicAuthConfig": { +"description": "Config for HTTP Basic Authentication.", +"id": "GoogleCloudAiplatformV1beta1AuthConfigHttpBasicAuthConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfigOauthConfig": { +"description": "Config for user oauth.", +"id": "GoogleCloudAiplatformV1beta1AuthConfigOauthConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AuthConfigOidcConfig": { +"description": "Config for user OIDC auth.", +"id": "GoogleCloudAiplatformV1beta1AuthConfigOidcConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AutomaticResources": { +"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.", +"id": "GoogleCloudAiplatformV1beta1AutomaticResources", +"properties": { +"maxReplicaCount": { +"description": "Immutable. The maximum number of replicas this DeployedModel 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 the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel 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.", +"format": "int32", +"type": "integer" +}, +"minReplicaCount": { +"description": "Immutable. The minimum number of replicas this DeployedModel 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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AutoscalingMetricSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1AutoscalingMetricSpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AvroSource": { +"description": "The storage details for Avro input content.", +"id": "GoogleCloudAiplatformV1beta1AvroSource", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsRequest": { +"description": "Request message for PipelineService.BatchCancelPipelineJobs.", +"id": "GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsRequest", +"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}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsResponse": { +"description": "Response message for PipelineService.BatchCancelPipelineJobs.", +"id": "GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsResponse", +"properties": { +"pipelineJobs": { +"description": "PipelineJobs cancelled.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateFeaturesOperationMetadata": { +"description": "Details of operations that perform batch create Features.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest": { +"description": "Request message for FeaturestoreService.BatchCreateFeatures. Request message for FeatureRegistryService.BatchCreateFeatures.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CreateFeatureRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateFeaturesResponse": { +"description": "Response message for FeaturestoreService.BatchCreateFeatures.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesResponse", +"properties": { +"features": { +"description": "The Features created.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsRequest": { +"description": "Request message for TensorboardService.BatchCreateTensorboardRuns.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the TensorboardRuns to create. A maximum of 1000 TensorboardRuns can be created in a batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CreateTensorboardRunRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsResponse": { +"description": "Response message for TensorboardService.BatchCreateTensorboardRuns.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsResponse", +"properties": { +"tensorboardRuns": { +"description": "The created TensorboardRuns.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesRequest": { +"description": "Request message for TensorboardService.BatchCreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the TensorboardTimeSeries to create. A maximum of 1000 TensorboardTimeSeries can be created in a batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CreateTensorboardTimeSeriesRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesResponse": { +"description": "Response message for TensorboardService.BatchCreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesResponse", +"properties": { +"tensorboardTimeSeries": { +"description": "The created TensorboardTimeSeries.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchDedicatedResources": { +"description": "A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration.", +"id": "GoogleCloudAiplatformV1beta1BatchDedicatedResources", +"properties": { +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Required. Immutable. The specification of a single machine." +}, +"maxReplicaCount": { +"description": "Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10.", +"format": "int32", +"type": "integer" +}, +"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", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsRequest": { +"description": "Request message for PipelineService.BatchDeletePipelineJobs.", +"id": "GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsRequest", +"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}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsResponse": { +"description": "Response message for PipelineService.BatchDeletePipelineJobs.", +"id": "GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsResponse", +"properties": { +"pipelineJobs": { +"description": "PipelineJobs deleted.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest": { +"description": "Request message for ModelService.BatchImportEvaluatedAnnotations", +"id": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest", +"properties": { +"evaluatedAnnotations": { +"description": "Required. Evaluated annotations resource to be imported.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluatedAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsResponse": { +"description": "Response message for ModelService.BatchImportEvaluatedAnnotations", +"id": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsResponse", +"properties": { +"importedEvaluatedAnnotationsCount": { +"description": "Output only. Number of EvaluatedAnnotations imported.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchImportModelEvaluationSlicesRequest": { +"description": "Request message for ModelService.BatchImportModelEvaluationSlices", +"id": "GoogleCloudAiplatformV1beta1BatchImportModelEvaluationSlicesRequest", +"properties": { +"modelEvaluationSlices": { +"description": "Required. Model evaluation slice resource to be imported.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchImportModelEvaluationSlicesResponse": { +"description": "Response message for ModelService.BatchImportModelEvaluationSlices", +"id": "GoogleCloudAiplatformV1beta1BatchImportModelEvaluationSlicesResponse", +"properties": { +"importedModelEvaluationSlices": { +"description": "Output only. List of imported ModelEvaluationSlice.name.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchMigrateResourcesOperationMetadata": { +"description": "Runtime operation information for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +}, +"partialResults": { +"description": "Partial results that reflect the latest migration operation progress.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesOperationMetadataPartialResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchMigrateResourcesOperationMetadataPartialResult": { +"description": "Represents a partial result in batch migration operation for one MigrateResourceRequest.", +"id": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesOperationMetadataPartialResult", +"properties": { +"dataset": { +"description": "Migrated dataset resource name.", +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the migration request in case of failure." +}, +"model": { +"description": "Migrated model resource name.", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequest", +"description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchMigrateResourcesRequest": { +"description": "Request message for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesRequest", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchMigrateResourcesResponse": { +"description": "Response message for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesResponse", +"properties": { +"migrateResourceResponses": { +"description": "Successfully migrated resources.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchPredictionJob": { +"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.", +"id": "GoogleCloudAiplatformV1beta1BatchPredictionJob", +"properties": { +"completionStats": { +"$ref": "GoogleCloudAiplatformV1beta1CompletionStats", +"description": "Output only. Statistics on completed and failed prediction instances.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time when the BatchPredictionJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1BatchDedicatedResources", +"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." +}, +"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" +}, +"displayName": { +"description": "Required. The user-defined name of this BatchPredictionJob.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Time when the BatchPredictionJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"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." +}, +"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" +}, +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJobInputConfig", +"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." +}, +"instanceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJobInstanceConfig", +"description": "Configuration for how to convert batch prediction input instances to the prediction instances that are sent to the Model." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"manualBatchTuningParameters": { +"$ref": "GoogleCloudAiplatformV1beta1ManualBatchTuningParameters", +"description": "Immutable. Parameters configuring the batch behavior. Currently only applicable when dedicated_resources are used (in other cases Vertex AI does the tuning itself)." +}, +"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" +}, +"modelMonitoringConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringConfig", +"description": "Model monitoring config will be used for analysis model behaviors, based on the input and output to the batch prediction job, as well as the provided training dataset." +}, +"modelMonitoringStatsAnomalies": { +"description": "Get batch prediction job monitoring statistics.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomalies" +}, +"type": "array" +}, +"modelMonitoringStatus": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The running status of the model monitoring pipeline.", +"readOnly": true +}, +"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" +}, +"modelVersionId": { +"description": "Output only. The version ID of the Model that produces the predictions via this job.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the BatchPredictionJob.", +"readOnly": true, +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJobOutputConfig", +"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." +}, +"outputInfo": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJobOutputInfo", +"description": "Output only. Information further describing the output of this job.", +"readOnly": true +}, +"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.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"resourcesConsumed": { +"$ref": "GoogleCloudAiplatformV1beta1ResourcesConsumed", +"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 +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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" +}, +"startTime": { +"description": "Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"unmanagedContainerModel": { +"$ref": "GoogleCloudAiplatformV1beta1UnmanagedContainerModel", +"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." +}, +"updateTime": { +"description": "Output only. Time when the BatchPredictionJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchPredictionJobInputConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1BatchPredictionJobInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1BigQuerySource", +"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." +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "The Cloud Storage location for the input instances." +}, +"instancesFormat": { +"description": "Required. The format in which instances are given, must be one of the Model's supported_input_storage_formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchPredictionJobInstanceConfig": { +"description": "Configuration defining how to transform batch prediction input instances to the instances that the Model accepts.", +"id": "GoogleCloudAiplatformV1beta1BatchPredictionJobInstanceConfig", +"properties": { +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchPredictionJobOutputConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1BatchPredictionJobOutputConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"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`." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"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." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchPredictionJobOutputInfo": { +"description": "Further describes this job's output. Supplements output_config.", +"id": "GoogleCloudAiplatformV1beta1BatchPredictionJobOutputInfo", +"properties": { +"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" +}, +"gcsOutputDirectory": { +"description": "Output only. The full path of the Cloud Storage directory created, into which the prediction output is written.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadFeatureValuesOperationMetadata": { +"description": "Details of operations that batch reads Feature values.", +"id": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore batch read Features values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.BatchReadFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequest", +"properties": { +"bigqueryReadInstances": { +"$ref": "GoogleCloudAiplatformV1beta1BigQuerySource", +"description": "Similar to csv_read_instances, but from BigQuery source." +}, +"csvReadInstances": { +"$ref": "GoogleCloudAiplatformV1beta1CsvSource", +"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`." +}, +"destination": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValueDestination", +"description": "Required. Specifies output location and format." +}, +"entityTypeSpecs": { +"description": "Required. Specifies EntityType grouping Features to read values of and settings.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestEntityTypeSpec" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestPassThroughField" +}, +"type": "array" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestEntityTypeSpec": { +"description": "Selects Features of an EntityType to read values of and specifies read settings.", +"id": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestEntityTypeSpec", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelector", +"description": "Required. Selectors choosing which Feature values to read from the EntityType." +}, +"settings": { +"description": "Per-Feature settings for the batch read.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DestinationFeatureSetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestPassThroughField": { +"description": "Describe pass-through fields in read_instance source.", +"id": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequestPassThroughField", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.BatchReadFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BatchReadTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.BatchReadTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1beta1BatchReadTensorboardTimeSeriesDataResponse", +"properties": { +"timeSeriesData": { +"description": "The returned time series data.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TimeSeriesData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BigQueryDestination": { +"description": "The BigQuery location for the output content.", +"id": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BigQuerySource": { +"description": "The BigQuery location for the input content.", +"id": "GoogleCloudAiplatformV1beta1BigQuerySource", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BleuInput": { +"description": "Input for bleu metric.", +"id": "GoogleCloudAiplatformV1beta1BleuInput", +"properties": { +"instances": { +"description": "Required. Repeated bleu instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BleuInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1BleuSpec", +"description": "Required. Spec for bleu score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BleuInstance": { +"description": "Spec for bleu instance.", +"id": "GoogleCloudAiplatformV1beta1BleuInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BleuMetricValue": { +"description": "Bleu metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1BleuMetricValue", +"properties": { +"score": { +"description": "Output only. Bleu score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BleuResults": { +"description": "Results for bleu metric.", +"id": "GoogleCloudAiplatformV1beta1BleuResults", +"properties": { +"bleuMetricValues": { +"description": "Output only. Bleu metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BleuMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BleuSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1BleuSpec", +"properties": { +"useEffectiveOrder": { +"description": "Optional. Whether to use_effective_order to compute bleu score.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Blob": { +"description": "Content blob.", +"id": "GoogleCloudAiplatformV1beta1Blob", +"properties": { +"data": { +"description": "Required. Raw bytes.", +"format": "byte", +"type": "string" +}, +"mimeType": { +"description": "Required. The IANA standard MIME type of the source data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BlurBaselineConfig": { +"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", +"id": "GoogleCloudAiplatformV1beta1BlurBaselineConfig", +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BoolArray": { +"description": "A list of boolean values.", +"id": "GoogleCloudAiplatformV1beta1BoolArray", +"properties": { +"values": { +"description": "A list of bool values.", +"items": { +"type": "boolean" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CacheConfig": { +"description": "Config of GenAI caching features. This is a singleton resource.", +"id": "GoogleCloudAiplatformV1beta1CacheConfig", +"properties": { +"disableCache": { +"description": "If set to true, disables GenAI caching. Otherwise caching is enabled.", +"type": "boolean" +}, +"name": { +"description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CachedContent": { +"description": "A resource used in LLM queries for users to explicitly specify what to cache and how to cache.", +"id": "GoogleCloudAiplatformV1beta1CachedContent", +"properties": { +"contents": { +"description": "Optional. Input only. Immutable. The content to cache", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Creatation time of the cache entry.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Immutable. The user-generated meaningful display name of the cached content.", +"type": "string" +}, +"expireTime": { +"description": "Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input.", +"format": "google-datetime", +"type": "string" +}, +"model": { +"description": "Immutable. The name of the publisher model to use for cached content. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model}", +"type": "string" +}, +"name": { +"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", +"type": "string" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Optional. Input only. Immutable. Developer set system instruction. Currently, text only" +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ToolConfig", +"description": "Optional. Input only. Immutable. Tool config. This config is shared for all tools" +}, +"tools": { +"description": "Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tool" +}, +"type": "array" +}, +"ttl": { +"description": "Input only. The TTL for this resource. The expiration time is computed: now + TTL.", +"format": "google-duration", +"type": "string" +}, +"updateTime": { +"description": "Output only. When the cache entry was last updated in UTC time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"usageMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContentUsageMetadata", +"description": "Output only. Metadata on the usage of the cached content.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CachedContentUsageMetadata": { +"description": "Metadata on the usage of the cached content.", +"id": "GoogleCloudAiplatformV1beta1CachedContentUsageMetadata", +"properties": { +"audioDurationSeconds": { +"description": "Duration of audio in seconds.", +"format": "int32", +"type": "integer" +}, +"imageCount": { +"description": "Number of images.", +"format": "int32", +"type": "integer" +}, +"textCount": { +"description": "Number of text characters.", +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"description": "Total number of tokens that the cached content consumes.", +"format": "int32", +"type": "integer" +}, +"videoDurationSeconds": { +"description": "Duration of video in seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelBatchPredictionJobRequest": { +"description": "Request message for JobService.CancelBatchPredictionJob.", +"id": "GoogleCloudAiplatformV1beta1CancelBatchPredictionJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelCustomJobRequest": { +"description": "Request message for JobService.CancelCustomJob.", +"id": "GoogleCloudAiplatformV1beta1CancelCustomJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelDataLabelingJobRequest": { +"description": "Request message for JobService.CancelDataLabelingJob.", +"id": "GoogleCloudAiplatformV1beta1CancelDataLabelingJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelHyperparameterTuningJobRequest": { +"description": "Request message for JobService.CancelHyperparameterTuningJob.", +"id": "GoogleCloudAiplatformV1beta1CancelHyperparameterTuningJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelNasJobRequest": { +"description": "Request message for JobService.CancelNasJob.", +"id": "GoogleCloudAiplatformV1beta1CancelNasJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelPipelineJobRequest": { +"description": "Request message for PipelineService.CancelPipelineJob.", +"id": "GoogleCloudAiplatformV1beta1CancelPipelineJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest": { +"description": "Request message for PipelineService.CancelTrainingPipeline.", +"id": "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CancelTuningJobRequest": { +"description": "Request message for GenAiTuningService.CancelTuningJob.", +"id": "GoogleCloudAiplatformV1beta1CancelTuningJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Candidate": { +"description": "A response candidate generated from the model.", +"id": "GoogleCloudAiplatformV1beta1Candidate", +"properties": { +"avgLogprobs": { +"description": "Output only. Average log probability score of the candidate.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"citationMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1CitationMetadata", +"description": "Output only. Source attribution of the generated content.", +"readOnly": true +}, +"content": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Output only. Content parts of the candidate.", +"readOnly": true +}, +"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" +}, +"finishReason": { +"description": "Output only. The reason why the model stopped generating tokens. If empty, the model has not stopped generating the tokens.", +"enum": [ +"FINISH_REASON_UNSPECIFIED", +"STOP", +"MAX_TOKENS", +"SAFETY", +"RECITATION", +"OTHER", +"BLOCKLIST", +"PROHIBITED_CONTENT", +"SPII", +"MALFORMED_FUNCTION_CALL" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"groundingMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GroundingMetadata", +"description": "Output only. Metadata specifies sources used to ground generated content.", +"readOnly": true +}, +"index": { +"description": "Output only. Index of the candidate.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"logprobsResult": { +"$ref": "GoogleCloudAiplatformV1beta1LogprobsResult", +"description": "Output only. Log-likelihood scores for the response tokens and top tokens", +"readOnly": true +}, +"safetyRatings": { +"description": "Output only. List of ratings for the safety of a response candidate. There is at most one rating per category.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SafetyRating" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateMetatdata": { +"description": "This message will be placed in the metadata field of a google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.", +"id": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateMetatdata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for suggesting Trials." +}, +"study": { +"description": "The name of the Study that the Trial belongs to.", +"type": "string" +}, +"trial": { +"description": "The Trial name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateRequest": { +"description": "Request message for VizierService.CheckTrialEarlyStoppingState.", +"id": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateResponse": { +"description": "Response message for VizierService.CheckTrialEarlyStoppingState.", +"id": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateResponse", +"properties": { +"shouldStop": { +"description": "True if the Trial should stop.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Citation": { +"description": "Source attributions for content.", +"id": "GoogleCloudAiplatformV1beta1Citation", +"properties": { +"endIndex": { +"description": "Output only. End index into the content.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"license": { +"description": "Output only. License of the attribution.", +"readOnly": true, +"type": "string" +}, +"publicationDate": { +"$ref": "GoogleTypeDate", +"description": "Output only. Publication date of the attribution.", +"readOnly": true +}, +"startIndex": { +"description": "Output only. Start index into the content.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"title": { +"description": "Output only. Title of the attribution.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Output only. Url reference of the attribution.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CitationMetadata": { +"description": "A collection of source attributions for a piece of content.", +"id": "GoogleCloudAiplatformV1beta1CitationMetadata", +"properties": { +"citations": { +"description": "Output only. List of citations.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Citation" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Claim": { +"description": "Claim that is extracted from the input text and facts that support it.", +"id": "GoogleCloudAiplatformV1beta1Claim", +"properties": { +"endIndex": { +"description": "Index in the input text where the claim ends (exclusive).", +"format": "int32", +"type": "integer" +}, +"factIndexes": { +"description": "Indexes of the facts supporting this claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"score": { +"description": "Confidence score of this corroboration.", +"format": "float", +"type": "number" +}, +"startIndex": { +"description": "Index in the input text where the claim starts (inclusive).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ClientConnectionConfig": { +"description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", +"id": "GoogleCloudAiplatformV1beta1ClientConnectionConfig", +"properties": { +"inferenceTimeout": { +"description": "Customizable online prediction request timeout.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CodeExecutionResult": { +"description": "Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode].", +"id": "GoogleCloudAiplatformV1beta1CodeExecutionResult", +"properties": { +"outcome": { +"description": "Required. Outcome of the code execution.", +"enum": [ +"OUTCOME_UNSPECIFIED", +"OUTCOME_OK", +"OUTCOME_FAILED", +"OUTCOME_DEADLINE_EXCEEDED" +], +"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." +], +"type": "string" +}, +"output": { +"description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CoherenceInput": { +"description": "Input for coherence metric.", +"id": "GoogleCloudAiplatformV1beta1CoherenceInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1CoherenceInstance", +"description": "Required. Coherence instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CoherenceSpec", +"description": "Required. Spec for coherence score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CoherenceInstance": { +"description": "Spec for coherence instance.", +"id": "GoogleCloudAiplatformV1beta1CoherenceInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CoherenceResult": { +"description": "Spec for coherence result.", +"id": "GoogleCloudAiplatformV1beta1CoherenceResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for coherence score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for coherence score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Coherence score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CoherenceSpec": { +"description": "Spec for coherence score metric.", +"id": "GoogleCloudAiplatformV1beta1CoherenceSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CometInput": { +"description": "Input for Comet metric.", +"id": "GoogleCloudAiplatformV1beta1CometInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1CometInstance", +"description": "Required. Comet instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CometSpec", +"description": "Required. Spec for comet metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CometInstance": { +"description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", +"id": "GoogleCloudAiplatformV1beta1CometInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CometResult": { +"description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", +"id": "GoogleCloudAiplatformV1beta1CometResult", +"properties": { +"score": { +"description": "Output only. Comet score. Range depends on version.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CometSpec": { +"description": "Spec for Comet metric.", +"id": "GoogleCloudAiplatformV1beta1CometSpec", +"properties": { +"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" +}, +"version": { +"description": "Required. Which version to use for evaluation.", +"enum": [ +"COMET_VERSION_UNSPECIFIED", +"COMET_22_SRC_REF" +], +"enumDescriptions": [ +"Comet version unspecified.", +"Comet 22 for translation + source + reference (source-reference-combined)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CompleteTrialRequest": { +"description": "Request message for VizierService.CompleteTrial.", +"id": "GoogleCloudAiplatformV1beta1CompleteTrialRequest", +"properties": { +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1beta1Measurement", +"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" +}, +"infeasibleReason": { +"description": "Optional. A human readable reason why the trial was infeasible. This should only be provided if `trial_infeasible` is true.", +"type": "string" +}, +"trialInfeasible": { +"description": "Optional. True if the Trial cannot be run with the given Parameter, and final_measurement will be ignored.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CompletionStats": { +"description": "Success and error statistics of processing multiple entities (for example, DataItems or structured data rows) in batch.", +"id": "GoogleCloudAiplatformV1beta1CompletionStats", +"properties": { +"failedCount": { +"description": "Output only. The number of entities for which any error was encountered.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"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).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"successfulCount": { +"description": "Output only. The number of entities that had been processed successfully.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"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.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ComputeTokensRequest": { +"description": "Request message for ComputeTokens RPC call.", +"id": "GoogleCloudAiplatformV1beta1ComputeTokensRequest", +"properties": { +"contents": { +"description": "Optional. Input content.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"model": { +"description": "Optional. The name of the publisher model requested to serve the prediction. Format: projects/{project}/locations/{location}/publishers/*/models/*", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ComputeTokensResponse": { +"description": "Response message for ComputeTokens RPC call.", +"id": "GoogleCloudAiplatformV1beta1ComputeTokensResponse", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TokensInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ContainerRegistryDestination": { +"description": "The Container Registry location for the container image.", +"id": "GoogleCloudAiplatformV1beta1ContainerRegistryDestination", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ContainerSpec": { +"description": "The spec of a Container.", +"id": "GoogleCloudAiplatformV1beta1ContainerSpec", +"properties": { +"args": { +"description": "The arguments to be passed when starting the container.", +"items": { +"type": "string" +}, +"type": "array" +}, +"command": { +"description": "The command to be invoked when the container is started. It overrides the entrypoint instruction in Dockerfile when provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"description": "Environment variables to be passed to the container. Maximum limit is 100.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EnvVar" +}, +"type": "array" +}, +"imageUri": { +"description": "Required. The URI of a container image in the Container Registry that is to be run on each worker replica.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Content": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Content", +"properties": { +"parts": { +"description": "Required. Ordered `Parts` that constitute a single message. Parts may have different IANA MIME types.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Part" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Context": { +"description": "Instance of a general context.", +"id": "GoogleCloudAiplatformV1beta1Context", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Context was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description 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": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"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" +}, +"name": { +"description": "Immutable. The resource name of the Context.", +"type": "string" +}, +"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.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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" +}, +"updateTime": { +"description": "Output only. Timestamp when this Context was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CopyModelOperationMetadata": { +"description": "Details of ModelService.CopyModel operation.", +"id": "GoogleCloudAiplatformV1beta1CopyModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CopyModelRequest": { +"description": "Request message for ModelService.CopyModel.", +"id": "GoogleCloudAiplatformV1beta1CopyModelRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Customer-managed encryption key options. If this is set, then the Model copy will be encrypted with the provided encryption key." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CopyModelResponse": { +"description": "Response message of ModelService.CopyModel operation.", +"id": "GoogleCloudAiplatformV1beta1CopyModelResponse", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CorpusStatus": { +"description": "RagCorpus status.", +"id": "GoogleCloudAiplatformV1beta1CorpusStatus", +"properties": { +"errorStatus": { +"description": "Output only. Only when the `state` field is ERROR.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. RagCorpus life state.", +"enum": [ +"UNKNOWN", +"INITIALIZED", +"ACTIVE", +"ERROR" +], +"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." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CorroborateContentRequest": { +"description": "Request message for CorroborateContent.", +"id": "GoogleCloudAiplatformV1beta1CorroborateContentRequest", +"properties": { +"content": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Optional. Input content to corroborate, only text format is supported for now." +}, +"facts": { +"description": "Optional. Facts used to generate the text can also be used to corroborate the text.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Fact" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1CorroborateContentRequestParameters", +"description": "Optional. Parameters that can be set to override default settings per request." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CorroborateContentRequestParameters": { +"description": "Parameters that can be overrided per request.", +"id": "GoogleCloudAiplatformV1beta1CorroborateContentRequestParameters", +"properties": { +"citationThreshold": { +"description": "Optional. Only return claims with citation score larger than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CorroborateContentResponse": { +"description": "Response message for CorroborateContent.", +"id": "GoogleCloudAiplatformV1beta1CorroborateContentResponse", +"properties": { +"claims": { +"description": "Claims that are extracted from the input content and facts that support the claims.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Claim" +}, +"type": "array" +}, +"corroborationScore": { +"description": "Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CountTokensRequest": { +"description": "Request message for PredictionService.CountTokens.", +"id": "GoogleCloudAiplatformV1beta1CountTokensRequest", +"properties": { +"contents": { +"description": "Optional. Input content.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", +"description": "Optional. Generation config that the model will use to generate the response." +}, +"instances": { +"description": "Optional. The instances that are the input to token counting call. Schema is identical to the prediction schema of the underlying model.", +"items": { +"type": "any" +}, +"type": "array" +}, +"model": { +"description": "Optional. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", +"type": "string" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"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." +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CountTokensResponse": { +"description": "Response message for PredictionService.CountTokens.", +"id": "GoogleCloudAiplatformV1beta1CountTokensResponse", +"properties": { +"totalBillableCharacters": { +"description": "The total number of billable characters counted across all instances from the request.", +"format": "int32", +"type": "integer" +}, +"totalTokens": { +"description": "The total number of tokens counted across all instances from the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateDatasetOperationMetadata": { +"description": "Runtime operation information for DatasetService.CreateDataset.", +"id": "GoogleCloudAiplatformV1beta1CreateDatasetOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateDatasetVersionOperationMetadata": { +"description": "Runtime operation information for DatasetService.CreateDatasetVersion.", +"id": "GoogleCloudAiplatformV1beta1CreateDatasetVersionOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolOperationMetadata": { +"description": "Runtime operation information for CreateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolRequest": { +"description": "Request message for CreateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolRequest", +"properties": { +"deploymentResourcePool": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool", +"description": "Required. The DeploymentResourcePool to create." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata": { +"description": "Runtime operation information for EndpointService.CreateEndpoint.", +"id": "GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateEntityTypeOperationMetadata": { +"description": "Details of operations that perform create EntityType.", +"id": "GoogleCloudAiplatformV1beta1CreateEntityTypeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateExtensionControllerOperationMetadata": { +"description": "Details of ExtensionControllerService.CreateExtensionController operation.", +"id": "GoogleCloudAiplatformV1beta1CreateExtensionControllerOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeatureGroupOperationMetadata": { +"description": "Details of operations that perform create FeatureGroup.", +"id": "GoogleCloudAiplatformV1beta1CreateFeatureGroupOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureGroup." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeatureOnlineStoreOperationMetadata": { +"description": "Details of operations that perform create FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1beta1CreateFeatureOnlineStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureOnlineStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeatureOperationMetadata": { +"description": "Details of operations that perform create Feature.", +"id": "GoogleCloudAiplatformV1beta1CreateFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeatureRequest": { +"description": "Request message for FeaturestoreService.CreateFeature. Request message for FeatureRegistryService.CreateFeature.", +"id": "GoogleCloudAiplatformV1beta1CreateFeatureRequest", +"properties": { +"feature": { +"$ref": "GoogleCloudAiplatformV1beta1Feature", +"description": "Required. The Feature to create." +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeatureViewOperationMetadata": { +"description": "Details of operations that perform create FeatureView.", +"id": "GoogleCloudAiplatformV1beta1CreateFeatureViewOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureView Create." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateFeaturestoreOperationMetadata": { +"description": "Details of operations that perform create Featurestore.", +"id": "GoogleCloudAiplatformV1beta1CreateFeaturestoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateIndexEndpointOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.CreateIndexEndpoint.", +"id": "GoogleCloudAiplatformV1beta1CreateIndexEndpointOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateIndexOperationMetadata": { +"description": "Runtime operation information for IndexService.CreateIndex.", +"id": "GoogleCloudAiplatformV1beta1CreateIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"nearestNeighborSearchOperationMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadata", +"description": "The operation metadata with regard to Matching Engine Index operation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateMetadataStoreOperationMetadata": { +"description": "Details of operations that perform MetadataService.CreateMetadataStore.", +"id": "GoogleCloudAiplatformV1beta1CreateMetadataStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for creating a MetadataStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateModelMonitorOperationMetadata": { +"description": "Runtime operation information for ModelMonitoringService.CreateModelMonitor.", +"id": "GoogleCloudAiplatformV1beta1CreateModelMonitorOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest": { +"description": "Request message for ModelMonitoringService.CreateModelMonitoringJob.", +"id": "GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest", +"properties": { +"modelMonitoringJob": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob", +"description": "Required. The ModelMonitoringJob to create" +}, +"modelMonitoringJobId": { +"description": "Optional. The ID to use for the Model Monitoring Job, which will become the final component of the model monitoring job resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMoniitors/{model_monitor}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobOperationMetadata": { +"description": "Metadata information for NotebookService.CreateNotebookExecutionJob.", +"id": "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest": { +"description": "Request message for [NotebookService.CreateNotebookExecutionJob]", +"id": "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest", +"properties": { +"notebookExecutionJob": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob", +"description": "Required. The NotebookExecutionJob to create." +}, +"notebookExecutionJobId": { +"description": "Optional. User specified ID for the NotebookExecutionJob.", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata": { +"description": "Metadata information for NotebookService.CreateNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreatePersistentResourceOperationMetadata": { +"description": "Details of operations that perform create PersistentResource.", +"id": "GoogleCloudAiplatformV1beta1CreatePersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Create LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreatePipelineJobRequest": { +"description": "Request message for PipelineService.CreatePipelineJob.", +"id": "GoogleCloudAiplatformV1beta1CreatePipelineJobRequest", +"properties": { +"parent": { +"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", +"type": "string" +}, +"pipelineJob": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob", +"description": "Required. The PipelineJob to create." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateRegistryFeatureOperationMetadata": { +"description": "Details of operations that perform create FeatureGroup.", +"id": "GoogleCloudAiplatformV1beta1CreateRegistryFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateSolverOperationMetadata": { +"description": "Runtime operation information for SolverService.CreateSolver.", +"id": "GoogleCloudAiplatformV1beta1CreateSolverOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The generic operation information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateSpecialistPoolOperationMetadata": { +"description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", +"id": "GoogleCloudAiplatformV1beta1CreateSpecialistPoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateTensorboardOperationMetadata": { +"description": "Details of operations that perform create Tensorboard.", +"id": "GoogleCloudAiplatformV1beta1CreateTensorboardOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Tensorboard." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateTensorboardRunRequest": { +"description": "Request message for TensorboardService.CreateTensorboardRun.", +"id": "GoogleCloudAiplatformV1beta1CreateTensorboardRunRequest", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun", +"description": "Required. The TensorboardRun to create." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CreateTensorboardTimeSeriesRequest": { +"description": "Request message for TensorboardService.CreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1CreateTensorboardTimeSeriesRequest", +"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" +}, +"tensorboardTimeSeries": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries", +"description": "Required. The TensorboardTimeSeries to create." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CsvDestination": { +"description": "The storage details for CSV output content.", +"id": "GoogleCloudAiplatformV1beta1CsvDestination", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CsvSource": { +"description": "The storage details for CSV input content.", +"id": "GoogleCloudAiplatformV1beta1CsvSource", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomJob": { +"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).", +"id": "GoogleCloudAiplatformV1beta1CustomJob", +"properties": { +"createTime": { +"description": "Output only. Time when the CustomJob was created.", +"format": "google-datetime", +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Time when the CustomJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"jobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "Required. Job spec." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Resource name of a CustomJob.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the CustomJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the CustomJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"webAccessUris": { +"additionalProperties": { +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomJobSpec": { +"description": "Represents the spec of a CustomJob.", +"id": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"properties": { +"baseOutputDirectory": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"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/`" +}, +"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" +}, +"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" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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" +}, +"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" +}, +"pscInterfaceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", +"description": "Optional. Configuration for PSC-I for CustomJob." +}, +"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'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "GoogleCloudAiplatformV1beta1Scheduling", +"description": "Scheduling options for a CustomJob." +}, +"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" +}, +"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" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1WorkerPoolSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DataItem": { +"description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", +"id": "GoogleCloudAiplatformV1beta1DataItem", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this DataItem was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the DataItem.", +"readOnly": true, +"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" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this DataItem was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DataItemView": { +"description": "A container for a single DataItem and Annotations on it.", +"id": "GoogleCloudAiplatformV1beta1DataItemView", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Annotation" +}, +"type": "array" +}, +"dataItem": { +"$ref": "GoogleCloudAiplatformV1beta1DataItem", +"description": "The DataItem." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DataLabelingJob": { +"description": "DataLabelingJob is used to trigger a human labeling job on unlabeled data from the following Dataset:", +"id": "GoogleCloudAiplatformV1beta1DataLabelingJob", +"properties": { +"activeLearningConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ActiveLearningConfig", +"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." +}, +"annotationLabels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"createTime": { +"description": "Output only. Timestamp when this DataLabelingJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currentSpend": { +"$ref": "GoogleTypeMoney", +"description": "Output only. Estimated cost(in US dollars) that the DataLabelingJob has incurred to date.", +"readOnly": true +}, +"datasets": { +"description": "Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. DataLabelingJob errors. It is only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"inputs": { +"description": "Required. Input config parameters for the DataLabelingJob.", +"type": "any" +}, +"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" +}, +"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" +}, +"labelerCount": { +"description": "Required. Number of labelers to work on each DataItem.", +"format": "int32", +"type": "integer" +}, +"labelingProgress": { +"description": "Output only. Current labeling job progress percentage scaled in interval [0, 100], indicating the percentage of DataItems that has been finished.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Resource name of the DataLabelingJob.", +"readOnly": true, +"type": "string" +}, +"specialistPools": { +"description": "The SpecialistPools' resource names associated with this job.", +"items": { +"type": "string" +}, +"type": "array" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this DataLabelingJob was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Dataset": { +"description": "A collection of DataItems and Annotations on them.", +"id": "GoogleCloudAiplatformV1beta1Dataset", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Dataset was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataItemCount": { +"description": "Output only. The number of DataItems in this Dataset. Only apply for non-structured Dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the Dataset.", +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"metadata": { +"description": "Required. Additional information about the Dataset.", +"type": "any" +}, +"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" +}, +"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" +}, +"modelReference": { +"description": "Optional. Reference to the public base model last used by the dataset. Only set for prompt datasets.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SavedQuery" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Timestamp when this Dataset was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DatasetDistribution": { +"description": "Distribution computed over a tuning dataset.", +"id": "GoogleCloudAiplatformV1beta1DatasetDistribution", +"properties": { +"buckets": { +"description": "Output only. Defines the histogram bucket.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetDistributionDistributionBucket" +}, +"readOnly": true, +"type": "array" +}, +"max": { +"description": "Output only. The maximum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"mean": { +"description": "Output only. The arithmetic mean of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"median": { +"description": "Output only. The median of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"min": { +"description": "Output only. The minimum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p5": { +"description": "Output only. The 5th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p95": { +"description": "Output only. The 95th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"sum": { +"description": "Output only. Sum of a given population of values.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DatasetDistributionDistributionBucket": { +"description": "Dataset bucket used to create a histogram for the distribution given a population of values.", +"id": "GoogleCloudAiplatformV1beta1DatasetDistributionDistributionBucket", +"properties": { +"count": { +"description": "Output only. Number of values in the bucket.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"left": { +"description": "Output only. Left bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"right": { +"description": "Output only. Right bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DatasetStats": { +"description": "Statistics computed over a tuning dataset.", +"id": "GoogleCloudAiplatformV1beta1DatasetStats", +"properties": { +"totalBillableCharacterCount": { +"description": "Output only. Number of billable characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalTuningCharacterCount": { +"description": "Output only. Number of tuning characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tuningDatasetExampleCount": { +"description": "Output only. Number of examples in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tuningStepCount": { +"description": "Output only. Number of tuning steps for this Tuning Job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"userDatasetExamples": { +"description": "Output only. Sample user messages in the training dataset uri.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"readOnly": true, +"type": "array" +}, +"userInputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", +"description": "Output only. Dataset distributions for the user input tokens.", +"readOnly": true +}, +"userMessagePerExampleDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", +"description": "Output only. Dataset distributions for the messages per example.", +"readOnly": true +}, +"userOutputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", +"description": "Output only. Dataset distributions for the user output tokens.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DatasetVersion": { +"description": "Describes the dataset version.", +"id": "GoogleCloudAiplatformV1beta1DatasetVersion", +"properties": { +"bigQueryDatasetName": { +"description": "Output only. Name of the associated BigQuery dataset.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when this DatasetVersion was created.", +"format": "google-datetime", +"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" +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"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" +}, +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this DatasetVersion was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DedicatedResources": { +"description": "A description of resources that are dedicated to a DeployedModel, and that need a higher degree of manual configuration.", +"id": "GoogleCloudAiplatformV1beta1DedicatedResources", +"properties": { +"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`.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1AutoscalingMetricSpec" +}, +"type": "array" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Required. Immutable. The specification of a single machine used by the prediction." +}, +"maxReplicaCount": { +"description": "Immutable. The maximum number of replicas this DeployedModel 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 the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel 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).", +"format": "int32", +"type": "integer" +}, +"minReplicaCount": { +"description": "Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1. If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", +"format": "int32", +"type": "integer" +}, +"requiredReplicaCount": { +"description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model 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.", +"format": "int32", +"type": "integer" +}, +"spot": { +"description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesOperationMetadata": { +"description": "Details of operations that delete Feature values.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore delete Features values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.DeleteFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequest", +"properties": { +"selectEntity": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectEntity", +"description": "Select feature values to be deleted by specifying entities." +}, +"selectTimeRangeAndFeature": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", +"description": "Select feature values to be deleted by specifying time range and features." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectEntity": { +"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.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectEntity", +"properties": { +"entityIdSelector": { +"$ref": "GoogleCloudAiplatformV1beta1EntityIdSelector", +"description": "Required. Selectors choosing feature values of which entity id to be deleted from the EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectTimeRangeAndFeature": { +"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.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", +"properties": { +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelector", +"description": "Required. Selectors choosing which feature values to be deleted from the EntityType." +}, +"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" +}, +"timeRange": { +"$ref": "GoogleTypeInterval", +"description": "Required. Select feature generated within a half-inclusive time range. The time range is lower inclusive and upper exclusive." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.DeleteFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponse", +"properties": { +"selectEntity": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectEntity", +"description": "Response for request specifying the entities to delete" +}, +"selectTimeRangeAndFeature": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", +"description": "Response for request specifying time range and feature" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectEntity": { +"description": "Response message if the request uses the SelectEntity option.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectEntity", +"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.", +"format": "int64", +"type": "string" +}, +"onlineStorageDeletedEntityCount": { +"description": "The count of deleted entities in the online storage. Each entity ID corresponds to one entity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectTimeRangeAndFeature": { +"description": "Response message if the request uses the SelectTimeRangeAndFeature option.", +"id": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", +"properties": { +"impactedFeatureCount": { +"description": "The count of the features or columns impacted. This is the same as the feature count in the request.", +"format": "int64", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteMetadataStoreOperationMetadata": { +"description": "Details of operations that perform MetadataService.DeleteMetadataStore.", +"id": "GoogleCloudAiplatformV1beta1DeleteMetadataStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for deleting a MetadataStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteOperationMetadata": { +"description": "Details of operations that perform deletes of any entities.", +"id": "GoogleCloudAiplatformV1beta1DeleteOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1beta1DeployIndexOperationMetadata", +"properties": { +"deployedIndexId": { +"description": "The unique index id specified by user", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployIndexRequest": { +"description": "Request message for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1beta1DeployIndexRequest", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex", +"description": "Required. The DeployedIndex to be created within the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployIndexResponse": { +"description": "Response message for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1beta1DeployIndexResponse", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex", +"description": "The DeployedIndex that had been deployed in the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1beta1DeployModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployModelRequest": { +"description": "Request message for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1beta1DeployModelRequest", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel", +"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." +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployModelResponse": { +"description": "Response message for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1beta1DeployModelResponse", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel", +"description": "The DeployedModel that had been deployed in the Endpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployPublisherModelRequest": { +"description": "Request message for ModelGardenService.DeployPublisherModel.", +"id": "GoogleCloudAiplatformV1beta1DeployPublisherModelRequest", +"properties": { +"acceptEula": { +"description": "Optional. Whether the user accepts the End User License Agreement (EULA) for the model.", +"type": "boolean" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", +"description": "Optional. The dedicated resources to use for the endpoint. If not set, the default resources will be used." +}, +"endpointDisplayName": { +"description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", +"type": "string" +}, +"huggingFaceAccessToken": { +"description": "Optional. The Hugging Face read access token used to access the model artifacts of gated models.", +"type": "string" +}, +"model": { +"description": "Required. 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`", +"type": "string" +}, +"modelDisplayName": { +"description": "Optional. The user-specified display name of the uploaded model. If not set, a default name will be used.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeploySolverOperationMetadata": { +"description": "Runtime operation information for SolverService.DeploySolver.", +"id": "GoogleCloudAiplatformV1beta1DeploySolverOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The generic operation information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedIndex": { +"description": "A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.", +"id": "GoogleCloudAiplatformV1beta1DeployedIndex", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1beta1AutomaticResources", +"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." +}, +"createTime": { +"description": "Output only. Timestamp when the DeployedIndex was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", +"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." +}, +"deployedIndexAuthConfig": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndexAuthConfig", +"description": "Optional. If set, the authentication is enabled for the private endpoint." +}, +"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" +}, +"displayName": { +"description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", +"type": "string" +}, +"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" +}, +"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" +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"privateEndpoints": { +"$ref": "GoogleCloudAiplatformV1beta1IndexPrivateEndpoints", +"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 +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PSCAutomationConfig" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedIndexAuthConfig": { +"description": "Used to set up the auth on the DeployedIndex's private endpoint.", +"id": "GoogleCloudAiplatformV1beta1DeployedIndexAuthConfig", +"properties": { +"authProvider": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndexAuthConfigAuthProvider", +"description": "Defines the authentication provider that the DeployedIndex uses." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedIndexAuthConfigAuthProvider": { +"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).", +"id": "GoogleCloudAiplatformV1beta1DeployedIndexAuthConfigAuthProvider", +"properties": { +"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`", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedIndexRef": { +"description": "Points to a DeployedIndex.", +"id": "GoogleCloudAiplatformV1beta1DeployedIndexRef", +"properties": { +"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" +}, +"indexEndpoint": { +"description": "Immutable. A resource name of the IndexEndpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedModel": { +"description": "A deployment of a Model. Endpoints contain one or more DeployedModels.", +"id": "GoogleCloudAiplatformV1beta1DeployedModel", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1beta1AutomaticResources", +"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration." +}, +"createTime": { +"description": "Output only. Timestamp when the DeployedModel was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", +"description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration." +}, +"disableExplanations": { +"description": "If true, deploy the model without explainable feature, regardless the existence of Model.explanation_spec or explanation_spec.", +"type": "boolean" +}, +"displayName": { +"description": "The display name of the DeployedModel. If not provided upon creation, the Model's display_name is used.", +"type": "string" +}, +"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" +}, +"enableContainerLogging": { +"description": "If true, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging. Only supported for custom-trained Models and AutoML Tabular Models.", +"type": "boolean" +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"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." +}, +"fasterDeploymentConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FasterDeploymentConfig", +"description": "Configuration for faster model deployment." +}, +"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": "Required. 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" +}, +"modelVersionId": { +"description": "Output only. The version ID of the model that is deployed.", +"readOnly": true, +"type": "string" +}, +"privateEndpoints": { +"$ref": "GoogleCloudAiplatformV1beta1PrivateEndpoints", +"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 +}, +"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" +}, +"sharedResources": { +"description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"status": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModelStatus", +"description": "Output only. Runtime status of the deployed model.", +"readOnly": true +}, +"systemLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedModelRef": { +"description": "Points to a DeployedModel.", +"id": "GoogleCloudAiplatformV1beta1DeployedModelRef", +"properties": { +"deployedModelId": { +"description": "Immutable. An ID of a DeployedModel in the above Endpoint.", +"type": "string" +}, +"endpoint": { +"description": "Immutable. A resource name of an Endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeployedModelStatus": { +"description": "Runtime status of the deployed model.", +"id": "GoogleCloudAiplatformV1beta1DeployedModelStatus", +"properties": { +"availableReplicaCount": { +"description": "Output only. The number of available replicas of the deployed model.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"lastUpdateTime": { +"description": "Output only. The time at which the status was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"message": { +"description": "Output only. The latest deployed model's status message (if any).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeploymentResourcePool": { +"description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", +"id": "GoogleCloudAiplatformV1beta1DeploymentResourcePool", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this DeploymentResourcePool was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", +"description": "Required. The underlying DedicatedResources that the DeploymentResourcePool uses." +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"name": { +"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DestinationFeatureSetting": { +"id": "GoogleCloudAiplatformV1beta1DestinationFeatureSetting", +"properties": { +"destinationField": { +"description": "Specify the field name in the export destination. If not specified, Feature ID is used.", +"type": "string" +}, +"featureId": { +"description": "Required. The ID of the Feature to apply the setting to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DirectPredictRequest": { +"description": "Request message for PredictionService.DirectPredict.", +"id": "GoogleCloudAiplatformV1beta1DirectPredictRequest", +"properties": { +"inputs": { +"description": "The prediction input.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DirectPredictResponse": { +"description": "Response message for PredictionService.DirectPredict.", +"id": "GoogleCloudAiplatformV1beta1DirectPredictResponse", +"properties": { +"outputs": { +"description": "The prediction output.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DirectRawPredictRequest": { +"description": "Request message for PredictionService.DirectRawPredict.", +"id": "GoogleCloudAiplatformV1beta1DirectRawPredictRequest", +"properties": { +"input": { +"description": "The prediction input.", +"format": "byte", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DirectRawPredictResponse": { +"description": "Response message for PredictionService.DirectRawPredict.", +"id": "GoogleCloudAiplatformV1beta1DirectRawPredictResponse", +"properties": { +"output": { +"description": "The prediction output.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DirectUploadSource": { +"description": "The input content is encapsulated and uploaded in the request.", +"id": "GoogleCloudAiplatformV1beta1DirectUploadSource", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DiskSpec": { +"description": "Represents the spec of disk options.", +"id": "GoogleCloudAiplatformV1beta1DiskSpec", +"properties": { +"bootDiskSizeGb": { +"description": "Size in GB of the boot disk (default is 100GB).", +"format": "int32", +"type": "integer" +}, +"bootDiskType": { +"description": "Type of the boot disk (default is \"pd-ssd\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) or \"pd-standard\" (Persistent Disk Hard Disk Drive).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DistillationDataStats": { +"description": "Statistics computed for datasets used for distillation.", +"id": "GoogleCloudAiplatformV1beta1DistillationDataStats", +"properties": { +"trainingDatasetStats": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetStats", +"description": "Output only. Statistics computed for the training dataset.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DistillationHyperParameters": { +"description": "Hyperparameters for Distillation.", +"id": "GoogleCloudAiplatformV1beta1DistillationHyperParameters", +"properties": { +"adapterSize": { +"description": "Optional. Adapter size for distillation.", +"enum": [ +"ADAPTER_SIZE_UNSPECIFIED", +"ADAPTER_SIZE_ONE", +"ADAPTER_SIZE_FOUR", +"ADAPTER_SIZE_EIGHT", +"ADAPTER_SIZE_SIXTEEN", +"ADAPTER_SIZE_THIRTY_TWO" +], +"enumDescriptions": [ +"Adapter size is unspecified.", +"Adapter size 1.", +"Adapter size 4.", +"Adapter size 8.", +"Adapter size 16.", +"Adapter size 32." +], +"type": "string" +}, +"epochCount": { +"description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", +"format": "int64", +"type": "string" +}, +"learningRateMultiplier": { +"description": "Optional. Multiplier for adjusting the default learning rate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DistillationSpec": { +"description": "Tuning Spec for Distillation.", +"id": "GoogleCloudAiplatformV1beta1DistillationSpec", +"properties": { +"baseTeacherModel": { +"description": "The base teacher model that is being distilled, e.g., \"gemini-1.0-pro-002\".", +"type": "string" +}, +"hyperParameters": { +"$ref": "GoogleCloudAiplatformV1beta1DistillationHyperParameters", +"description": "Optional. Hyperparameters for Distillation." +}, +"pipelineRootDirectory": { +"deprecated": true, +"description": "Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.", +"type": "string" +}, +"studentModel": { +"deprecated": true, +"description": "The student model that is being tuned, e.g., \"google/gemma-2b-1.1-it\". Deprecated. Use base_model instead.", +"type": "string" +}, +"trainingDatasetUri": { +"deprecated": true, +"description": "Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +}, +"tunedTeacherModelSource": { +"description": "The resource name of the Tuned teacher model. Format: `projects/{project}/locations/{location}/models/{model}`.", +"type": "string" +}, +"validationDatasetUri": { +"description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DoubleArray": { +"description": "A list of double values.", +"id": "GoogleCloudAiplatformV1beta1DoubleArray", +"properties": { +"values": { +"description": "A list of double values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DynamicRetrievalConfig": { +"description": "Describes the options to customize dynamic retrieval.", +"id": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", +"properties": { +"dynamicThreshold": { +"description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", +"format": "float", +"type": "number" +}, +"mode": { +"description": "The mode of the predictor to be used in dynamic retrieval.", +"enum": [ +"MODE_UNSPECIFIED", +"MODE_DYNAMIC" +], +"enumDescriptions": [ +"Always trigger retrieval.", +"Run retrieval only when system decides it is necessary." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EncryptionSpec": { +"description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", +"id": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Endpoint": { +"description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", +"id": "GoogleCloudAiplatformV1beta1Endpoint", +"properties": { +"clientConnectionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ClientConnectionConfig", +"description": "Configurations that are applied to the endpoint for online prediction." +}, +"createTime": { +"description": "Output only. Timestamp when this Endpoint was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedEndpointDns": { +"description": "Output only. DNS of the dedicated endpoint. Will only be populated if dedicated_endpoint_enabled is true. Format: `https://{endpoint_id}.{region}-{project_number}.prediction.vertexai.goog`.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"deployedModels": { +"description": "Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Endpoint.", +"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" +}, +"enablePrivateServiceConnect": { +"deprecated": true, +"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.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the Endpoint.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"predictRequestResponseLoggingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig", +"description": "Configures the request-response logging for online prediction." +}, +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig", +"description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"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" +}, +"updateTime": { +"description": "Output only. Timestamp when this Endpoint was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EntityIdSelector": { +"description": "Selector for entityId. Getting ids from the given source.", +"id": "GoogleCloudAiplatformV1beta1EntityIdSelector", +"properties": { +"csvSource": { +"$ref": "GoogleCloudAiplatformV1beta1CsvSource", +"description": "Source of Csv" +}, +"entityIdField": { +"description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EntityType": { +"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.", +"id": "GoogleCloudAiplatformV1beta1EntityType", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this EntityType was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the EntityType.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"monitoringConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig", +"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." +}, +"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" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this EntityType was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EnvVar": { +"description": "Represents an environment variable present in a Container or Python Module.", +"id": "GoogleCloudAiplatformV1beta1EnvVar", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotation": { +"description": "Model error analysis for each annotation.", +"id": "GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotation", +"properties": { +"attributedItems": { +"description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotationAttributedItem" +}, +"type": "array" +}, +"outlierScore": { +"description": "The outlier score of this annotated item. Usually defined as the min of all distances from attributed items.", +"format": "double", +"type": "number" +}, +"outlierThreshold": { +"description": "The threshold used to determine if this annotation is an outlier or not.", +"format": "double", +"type": "number" +}, +"queryType": { +"description": "The query type used for finding the attributed items.", +"enum": [ +"QUERY_TYPE_UNSPECIFIED", +"ALL_SIMILAR", +"SAME_CLASS_SIMILAR", +"SAME_CLASS_DISSIMILAR" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotationAttributedItem": { +"description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", +"id": "GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotationAttributedItem", +"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.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EvaluateInstancesRequest": { +"description": "Request message for EvaluationService.EvaluateInstances.", +"id": "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest", +"properties": { +"bleuInput": { +"$ref": "GoogleCloudAiplatformV1beta1BleuInput", +"description": "Instances and metric spec for bleu metric." +}, +"coherenceInput": { +"$ref": "GoogleCloudAiplatformV1beta1CoherenceInput", +"description": "Input for coherence metric." +}, +"cometInput": { +"$ref": "GoogleCloudAiplatformV1beta1CometInput", +"description": "Translation metrics. Input for Comet metric." +}, +"exactMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1ExactMatchInput", +"description": "Auto metric instances. Instances and metric spec for exact match metric." +}, +"fluencyInput": { +"$ref": "GoogleCloudAiplatformV1beta1FluencyInput", +"description": "LLM-based metric instance. General text generation metrics, applicable to other categories. Input for fluency metric." +}, +"fulfillmentInput": { +"$ref": "GoogleCloudAiplatformV1beta1FulfillmentInput", +"description": "Input for fulfillment metric." +}, +"groundednessInput": { +"$ref": "GoogleCloudAiplatformV1beta1GroundednessInput", +"description": "Input for groundedness metric." +}, +"metricxInput": { +"$ref": "GoogleCloudAiplatformV1beta1MetricxInput", +"description": "Input for Metricx metric." +}, +"pairwiseMetricInput": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricInput", +"description": "Input for pairwise metric." +}, +"pairwiseQuestionAnsweringQualityInput": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInput", +"description": "Input for pairwise question answering quality metric." +}, +"pairwiseSummarizationQualityInput": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInput", +"description": "Input for pairwise summarization quality metric." +}, +"pointwiseMetricInput": { +"$ref": "GoogleCloudAiplatformV1beta1PointwiseMetricInput", +"description": "Input for pointwise metric." +}, +"questionAnsweringCorrectnessInput": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInput", +"description": "Input for question answering correctness metric." +}, +"questionAnsweringHelpfulnessInput": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInput", +"description": "Input for question answering helpfulness metric." +}, +"questionAnsweringQualityInput": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInput", +"description": "Input for question answering quality metric." +}, +"questionAnsweringRelevanceInput": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInput", +"description": "Input for question answering relevance metric." +}, +"rougeInput": { +"$ref": "GoogleCloudAiplatformV1beta1RougeInput", +"description": "Instances and metric spec for rouge metric." +}, +"safetyInput": { +"$ref": "GoogleCloudAiplatformV1beta1SafetyInput", +"description": "Input for safety metric." +}, +"summarizationHelpfulnessInput": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInput", +"description": "Input for summarization helpfulness metric." +}, +"summarizationQualityInput": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationQualityInput", +"description": "Input for summarization quality metric." +}, +"summarizationVerbosityInput": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationVerbosityInput", +"description": "Input for summarization verbosity metric." +}, +"toolCallValidInput": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCallValidInput", +"description": "Tool call metric instances. Input for tool call valid metric." +}, +"toolNameMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1ToolNameMatchInput", +"description": "Input for tool name match metric." +}, +"toolParameterKeyMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInput", +"description": "Input for tool parameter key match metric." +}, +"toolParameterKvMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchInput", +"description": "Input for tool parameter key value match metric." +}, +"trajectoryAnyOrderMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput", +"description": "Input for trajectory match any order metric." +}, +"trajectoryExactMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput", +"description": "Input for trajectory exact match metric." +}, +"trajectoryInOrderMatchInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput", +"description": "Input for trajectory in order match metric." +}, +"trajectoryPrecisionInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput", +"description": "Input for trajectory precision metric." +}, +"trajectoryRecallInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallInput", +"description": "Input for trajectory recall metric." +}, +"trajectorySingleToolUseInput": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput", +"description": "Input for trajectory single tool use metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EvaluateInstancesResponse": { +"description": "Response message for EvaluationService.EvaluateInstances.", +"id": "GoogleCloudAiplatformV1beta1EvaluateInstancesResponse", +"properties": { +"bleuResults": { +"$ref": "GoogleCloudAiplatformV1beta1BleuResults", +"description": "Results for bleu metric." +}, +"coherenceResult": { +"$ref": "GoogleCloudAiplatformV1beta1CoherenceResult", +"description": "Result for coherence metric." +}, +"cometResult": { +"$ref": "GoogleCloudAiplatformV1beta1CometResult", +"description": "Translation metrics. Result for Comet metric." +}, +"exactMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1ExactMatchResults", +"description": "Auto metric evaluation results. Results for exact match metric." +}, +"fluencyResult": { +"$ref": "GoogleCloudAiplatformV1beta1FluencyResult", +"description": "LLM-based metric evaluation result. General text generation metrics, applicable to other categories. Result for fluency metric." +}, +"fulfillmentResult": { +"$ref": "GoogleCloudAiplatformV1beta1FulfillmentResult", +"description": "Result for fulfillment metric." +}, +"groundednessResult": { +"$ref": "GoogleCloudAiplatformV1beta1GroundednessResult", +"description": "Result for groundedness metric." +}, +"metricxResult": { +"$ref": "GoogleCloudAiplatformV1beta1MetricxResult", +"description": "Result for Metricx metric." +}, +"pairwiseMetricResult": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricResult", +"description": "Result for pairwise metric." +}, +"pairwiseQuestionAnsweringQualityResult": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityResult", +"description": "Result for pairwise question answering quality metric." +}, +"pairwiseSummarizationQualityResult": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityResult", +"description": "Result for pairwise summarization quality metric." +}, +"pointwiseMetricResult": { +"$ref": "GoogleCloudAiplatformV1beta1PointwiseMetricResult", +"description": "Generic metrics. Result for pointwise metric." +}, +"questionAnsweringCorrectnessResult": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessResult", +"description": "Result for question answering correctness metric." +}, +"questionAnsweringHelpfulnessResult": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessResult", +"description": "Result for question answering helpfulness metric." +}, +"questionAnsweringQualityResult": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityResult", +"description": "Question answering only metrics. Result for question answering quality metric." +}, +"questionAnsweringRelevanceResult": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceResult", +"description": "Result for question answering relevance metric." +}, +"rougeResults": { +"$ref": "GoogleCloudAiplatformV1beta1RougeResults", +"description": "Results for rouge metric." +}, +"safetyResult": { +"$ref": "GoogleCloudAiplatformV1beta1SafetyResult", +"description": "Result for safety metric." +}, +"summarizationHelpfulnessResult": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessResult", +"description": "Result for summarization helpfulness metric." +}, +"summarizationQualityResult": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationQualityResult", +"description": "Summarization only metrics. Result for summarization quality metric." +}, +"summarizationVerbosityResult": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationVerbosityResult", +"description": "Result for summarization verbosity metric." +}, +"toolCallValidResults": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCallValidResults", +"description": "Tool call metrics. Results for tool call valid metric." +}, +"toolNameMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1ToolNameMatchResults", +"description": "Results for tool name match metric." +}, +"toolParameterKeyMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchResults", +"description": "Results for tool parameter key match metric." +}, +"toolParameterKvMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults", +"description": "Results for tool parameter key value match metric." +}, +"trajectoryAnyOrderMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults", +"description": "Result for trajectory any order match metric." +}, +"trajectoryExactMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults", +"description": "Result for trajectory exact match metric." +}, +"trajectoryInOrderMatchResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults", +"description": "Result for trajectory in order match metric." +}, +"trajectoryPrecisionResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults", +"description": "Result for trajectory precision metric." +}, +"trajectoryRecallResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallResults", +"description": "Results for trajectory recall metric." +}, +"trajectorySingleToolUseResults": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults", +"description": "Results for trajectory single tool use metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EvaluatedAnnotation": { +"description": "True positive, false positive, or false negative. EvaluatedAnnotation is only available under ModelEvaluationSlice with slice of `annotationSpec` dimension.", +"id": "GoogleCloudAiplatformV1beta1EvaluatedAnnotation", +"properties": { +"dataItemPayload": { +"description": "Output only. The data item payload that the Model predicted this EvaluatedAnnotation on.", +"readOnly": true, +"type": "any" +}, +"errorAnalysisAnnotations": { +"description": "Annotations of model error analysis results.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ErrorAnalysisAnnotation" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluatedAnnotationExplanation" +}, +"type": "array" +}, +"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", +"items": { +"type": "any" +}, +"readOnly": true, +"type": "array" +}, +"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", +"items": { +"type": "any" +}, +"readOnly": true, +"type": "array" +}, +"type": { +"description": "Output only. Type of the EvaluatedAnnotation.", +"enum": [ +"EVALUATED_ANNOTATION_TYPE_UNSPECIFIED", +"TRUE_POSITIVE", +"FALSE_POSITIVE", +"FALSE_NEGATIVE" +], +"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." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1EvaluatedAnnotationExplanation": { +"description": "Explanation result of the prediction produced by the Model.", +"id": "GoogleCloudAiplatformV1beta1EvaluatedAnnotationExplanation", +"properties": { +"explanation": { +"$ref": "GoogleCloudAiplatformV1beta1Explanation", +"description": "Explanation attribution response details." +}, +"explanationType": { +"description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Event": { +"description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", +"id": "GoogleCloudAiplatformV1beta1Event", +"properties": { +"artifact": { +"description": "Required. The relative resource name of the Artifact in the Event.", +"type": "string" +}, +"eventTime": { +"description": "Output only. Time the Event occurred.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"execution": { +"description": "Output only. The relative resource name of the Execution in the Event.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"type": { +"description": "Required. The type of the Event.", +"enum": [ +"TYPE_UNSPECIFIED", +"INPUT", +"OUTPUT" +], +"enumDescriptions": [ +"Unspecified whether input or output of the Execution.", +"An input of the Execution.", +"An output of the Execution." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExactMatchInput": { +"description": "Input for exact match metric.", +"id": "GoogleCloudAiplatformV1beta1ExactMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated exact match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ExactMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExactMatchSpec", +"description": "Required. Spec for exact match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExactMatchInstance": { +"description": "Spec for exact match instance.", +"id": "GoogleCloudAiplatformV1beta1ExactMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExactMatchMetricValue": { +"description": "Exact match metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1ExactMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Exact match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExactMatchResults": { +"description": "Results for exact match metric.", +"id": "GoogleCloudAiplatformV1beta1ExactMatchResults", +"properties": { +"exactMatchMetricValues": { +"description": "Output only. Exact match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ExactMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExactMatchSpec": { +"description": "Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0.", +"id": "GoogleCloudAiplatformV1beta1ExactMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Examples": { +"description": "Example-based explainability that returns the nearest neighbors from the provided dataset.", +"id": "GoogleCloudAiplatformV1beta1Examples", +"properties": { +"exampleGcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1ExamplesExampleGcsSource", +"description": "The Cloud Storage input instances." +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "The Cloud Storage locations that contain the instances to be indexed for approximate nearest neighbor search." +}, +"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" +}, +"neighborCount": { +"description": "The number of neighbors to return when querying for examples.", +"format": "int32", +"type": "integer" +}, +"presets": { +"$ref": "GoogleCloudAiplatformV1beta1Presets", +"description": "Simplified preset configuration, which automatically sets configuration values based on the desired query speed-precision trade-off and modality." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExamplesExampleGcsSource": { +"description": "The Cloud Storage input instances.", +"id": "GoogleCloudAiplatformV1beta1ExamplesExampleGcsSource", +"properties": { +"dataFormat": { +"description": "The format in which instances are given, if not specified, assume it's JSONL format. Currently only JSONL format is supported.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"JSONL" +], +"enumDescriptions": [ +"Format unspecified, used when unset.", +"Examples are stored in JSONL files." +], +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "The Cloud Storage location for the input instances." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExamplesOverride": { +"description": "Overrides for example-based explanations.", +"id": "GoogleCloudAiplatformV1beta1ExamplesOverride", +"properties": { +"crowdingCount": { +"description": "The number of neighbors to return that have the same crowding tag.", +"format": "int32", +"type": "integer" +}, +"dataFormat": { +"description": "The format of the data being provided with each call.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"INSTANCES", +"EMBEDDINGS" +], +"enumDescriptions": [ +"Unspecified format. Must not be used.", +"Provided data is a set of model inputs.", +"Provided data is a set of embeddings." +], +"type": "string" +}, +"neighborCount": { +"description": "The number of neighbors to return.", +"format": "int32", +"type": "integer" +}, +"restrictions": { +"description": "Restrict the resulting nearest neighbors to respect these constraints.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ExamplesRestrictionsNamespace" +}, +"type": "array" +}, +"returnEmbeddings": { +"description": "If true, return the embeddings instead of neighbors.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExamplesRestrictionsNamespace": { +"description": "Restrictions namespace for example-based explanations overrides.", +"id": "GoogleCloudAiplatformV1beta1ExamplesRestrictionsNamespace", +"properties": { +"allow": { +"description": "The list of allowed tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deny": { +"description": "The list of deny tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespaceName": { +"description": "The namespace name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExecutableCode": { +"description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE].", +"id": "GoogleCloudAiplatformV1beta1ExecutableCode", +"properties": { +"code": { +"description": "Required. The code to be executed.", +"type": "string" +}, +"language": { +"description": "Required. Programming language of the `code`.", +"enum": [ +"LANGUAGE_UNSPECIFIED", +"PYTHON" +], +"enumDescriptions": [ +"Unspecified language. This value should not be used.", +"Python >= 3.10, with numpy and simpy available." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExecuteExtensionRequest": { +"description": "Request message for ExtensionExecutionService.ExecuteExtension.", +"id": "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest", +"properties": { +"operationId": { +"description": "Required. The desired ID of the operation to be executed in this extension as defined in ExtensionOperation.operation_id.", +"type": "string" +}, +"operationParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Request parameters that will be used for executing this operation. The struct should be in a form of map with param name as the key and actual param value as the value. E.g. If this operation requires a param \"name\" to be set to \"abc\". you can set this to something like {\"name\": \"abc\"}.", +"type": "object" +}, +"runtimeAuthConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfig", +"description": "Optional. Auth config provided at runtime to override the default value in Extension.manifest.auth_config. The AuthConfig.auth_type should match the value in Extension.manifest.auth_config." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExecuteExtensionResponse": { +"description": "Response message for ExtensionExecutionService.ExecuteExtension.", +"id": "GoogleCloudAiplatformV1beta1ExecuteExtensionResponse", +"properties": { +"content": { +"description": "Response content from the extension. The content should be conformant to the response.content schema in the extension's manifest/OpenAPI spec.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Execution": { +"description": "Instance of a general execution.", +"id": "GoogleCloudAiplatformV1beta1Execution", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Execution was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Execution", +"type": "string" +}, +"displayName": { +"description": "User provided display name of the Execution. 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": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the Execution.", +"readOnly": true, +"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_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" +}, +"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.", +"enum": [ +"STATE_UNSPECIFIED", +"NEW", +"RUNNING", +"COMPLETE", +"FAILED", +"CACHED", +"CANCELLED" +], +"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." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Execution was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplainRequest": { +"description": "Request message for PredictionService.Explain.", +"id": "GoogleCloudAiplatformV1beta1ExplainRequest", +"properties": { +"concurrentExplanationSpecOverride": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpecOverride" +}, +"description": "Optional. This field is the same as the one above, but supports multiple explanations to occur in parallel. The key can be any string. Each override will be run against the model, then its explanations will be grouped together. Note - these explanations are run **In Addition** to the default Explanation in the deployed model.", +"type": "object" +}, +"deployedModelId": { +"description": "If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding Endpoint.traffic_split.", +"type": "string" +}, +"explanationSpecOverride": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpecOverride", +"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." +}, +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplainResponse": { +"description": "Response message for PredictionService.Explain.", +"id": "GoogleCloudAiplatformV1beta1ExplainResponse", +"properties": { +"concurrentExplanations": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ExplainResponseConcurrentExplanation" +}, +"description": "This field stores the results of the explanations run in parallel with The default explanation strategy/method.", +"type": "object" +}, +"deployedModelId": { +"description": "ID of the Endpoint's DeployedModel that served this explanation.", +"type": "string" +}, +"explanations": { +"description": "The explanations of the Model's PredictResponse.predictions. It has the same number of elements as instances to be explained.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Explanation" +}, +"type": "array" +}, +"predictions": { +"description": "The predictions that are the output of the predictions call. Same as PredictResponse.predictions.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplainResponseConcurrentExplanation": { +"description": "This message is a wrapper grouping Concurrent Explanations.", +"id": "GoogleCloudAiplatformV1beta1ExplainResponseConcurrentExplanation", +"properties": { +"explanations": { +"description": "The explanations of the Model's PredictResponse.predictions. It has the same number of elements as instances to be explained.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Explanation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Explanation": { +"description": "Explanation of a prediction (provided in PredictResponse.predictions) produced by the Model on a given instance.", +"id": "GoogleCloudAiplatformV1beta1Explanation", +"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 > 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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Attribution" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Neighbor" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadata": { +"description": "Metadata describing the Model's input and output for explanation.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadata", +"properties": { +"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" +}, +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata" +}, +"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" +}, +"latentSpaceSource": { +"description": "Name of the source to generate embeddings for example based explanations.", +"type": "string" +}, +"outputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata", +"properties": { +"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" +}, +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"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" +}, +"encoding": { +"description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", +"enum": [ +"ENCODING_UNSPECIFIED", +"IDENTITY", +"BAG_OF_FEATURES", +"BAG_OF_FEATURES_SPARSE", +"INDICATOR", +"COMBINED_EMBEDDING", +"CONCAT_EMBEDDING" +], +"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]] ```" +], +"type": "string" +}, +"featureValueDomain": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain", +"description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." +}, +"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" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"inputTensorName": { +"description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow.", +"type": "string" +}, +"modality": { +"description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric.", +"type": "string" +}, +"visualization": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization", +"description": "Visualization configurations for image explanation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain", +"properties": { +"maxValue": { +"description": "The maximum permissible value for this feature.", +"format": "float", +"type": "number" +}, +"minValue": { +"description": "The minimum permissible value for this feature.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization": { +"description": "Visualization configurations for image explanation.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization", +"properties": { +"clipPercentLowerbound": { +"description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"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.", +"enum": [ +"COLOR_MAP_UNSPECIFIED", +"PINK_GREEN", +"VIRIDIS", +"RED", +"GREEN", +"RED_GREEN", +"PINK_WHITE_GREEN" +], +"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." +], +"type": "string" +}, +"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.", +"enum": [ +"OVERLAY_TYPE_UNSPECIFIED", +"NONE", +"ORIGINAL", +"GRAYSCALE", +"MASK_BLACK" +], +"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." +], +"type": "string" +}, +"polarity": { +"description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", +"enum": [ +"POLARITY_UNSPECIFIED", +"POSITIVE", +"NEGATIVE", +"BOTH" +], +"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." +], +"type": "string" +}, +"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.", +"enum": [ +"TYPE_UNSPECIFIED", +"PIXELS", +"OUTLINES" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata": { +"description": "Metadata of the prediction output to be explained.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata", +"properties": { +"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" +}, +"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" +}, +"outputTensorName": { +"description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataOverride": { +"description": "The ExplanationMetadata entries that can be overridden at online explanation time.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataOverride", +"properties": { +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataOverrideInputMetadataOverride" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationMetadataOverrideInputMetadataOverride": { +"description": "The input metadata entries to be overridden.", +"id": "GoogleCloudAiplatformV1beta1ExplanationMetadataOverrideInputMetadataOverride", +"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.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationParameters": { +"description": "Parameters to configure explaining for Model's predictions.", +"id": "GoogleCloudAiplatformV1beta1ExplanationParameters", +"properties": { +"examples": { +"$ref": "GoogleCloudAiplatformV1beta1Examples", +"description": "Example-based explanations that returns the nearest neighbors from the provided dataset." +}, +"integratedGradientsAttribution": { +"$ref": "GoogleCloudAiplatformV1beta1IntegratedGradientsAttribution", +"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" +}, +"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).", +"items": { +"type": "any" +}, +"type": "array" +}, +"sampledShapleyAttribution": { +"$ref": "GoogleCloudAiplatformV1beta1SampledShapleyAttribution", +"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." +}, +"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.", +"format": "int32", +"type": "integer" +}, +"xraiAttribution": { +"$ref": "GoogleCloudAiplatformV1beta1XraiAttribution", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationSpec": { +"description": "Specification of Model explanation.", +"id": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"properties": { +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadata", +"description": "Optional. Metadata describing the Model's input and output for explanation." +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationParameters", +"description": "Required. Parameters that configure explaining of the Model's predictions." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExplanationSpecOverride": { +"description": "The ExplanationSpec entries that can be overridden at online explanation time.", +"id": "GoogleCloudAiplatformV1beta1ExplanationSpecOverride", +"properties": { +"examplesOverride": { +"$ref": "GoogleCloudAiplatformV1beta1ExamplesOverride", +"description": "The example-based explanations parameter overrides." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationMetadataOverride", +"description": "The metadata to be overridden. If not specified, no metadata is overridden." +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationParameters", +"description": "The parameters to be overridden. Note that the attribution method cannot be changed. If not specified, no parameter is overridden." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportDataConfig": { +"description": "Describes what part of the Dataset is to be exported, the destination of the export and how to export.", +"id": "GoogleCloudAiplatformV1beta1ExportDataConfig", +"properties": { +"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" +}, +"fractionSplit": { +"$ref": "GoogleCloudAiplatformV1beta1ExportFractionSplit", +"description": "Split based on fractions defining the size of each set." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportDataOperationMetadata": { +"description": "Runtime operation information for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1beta1ExportDataOperationMetadata", +"properties": { +"gcsOutputDirectory": { +"description": "A Google Cloud Storage directory which path ends with '/'. The exported data is stored in the directory.", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportDataRequest": { +"description": "Request message for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1beta1ExportDataRequest", +"properties": { +"exportConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ExportDataConfig", +"description": "Required. The desired output location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportDataResponse": { +"description": "Response message for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1beta1ExportDataResponse", +"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-*).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFeatureValuesOperationMetadata": { +"description": "Details of operations that exports Features values.", +"id": "GoogleCloudAiplatformV1beta1ExportFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore export Feature values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.ExportFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequest", +"properties": { +"destination": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValueDestination", +"description": "Required. Specifies destination location and format." +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelector", +"description": "Required. Selects Features to export values of." +}, +"fullExport": { +"$ref": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestFullExport", +"description": "Exports all historical values of all entities of the EntityType within a time range" +}, +"settings": { +"description": "Per-Feature export settings.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DestinationFeatureSetting" +}, +"type": "array" +}, +"snapshotExport": { +"$ref": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestSnapshotExport", +"description": "Exports the latest Feature values of all entities of the EntityType within a time range." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestFullExport": { +"description": "Describes exporting all historical Feature values of all entities of the EntityType between [start_time, end_time].", +"id": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestFullExport", +"properties": { +"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.", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestSnapshotExport": { +"description": "Describes exporting the latest Feature values of all entities of the EntityType between [start_time, snapshot_time].", +"id": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequestSnapshotExport", +"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.", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.ExportFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ExportFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportFractionSplit": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ExportFractionSplit", +"properties": { +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportModelOperationMetadata": { +"description": "Details of ModelService.ExportModel operation.", +"id": "GoogleCloudAiplatformV1beta1ExportModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +}, +"outputInfo": { +"$ref": "GoogleCloudAiplatformV1beta1ExportModelOperationMetadataOutputInfo", +"description": "Output only. Information further describing the output of this Model export.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportModelOperationMetadataOutputInfo": { +"description": "Further describes the output of the ExportModel. Supplements ExportModelRequest.OutputConfig.", +"id": "GoogleCloudAiplatformV1beta1ExportModelOperationMetadataOutputInfo", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportModelRequest": { +"description": "Request message for ModelService.ExportModel.", +"id": "GoogleCloudAiplatformV1beta1ExportModelRequest", +"properties": { +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ExportModelRequestOutputConfig", +"description": "Required. The desired output location and configuration." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportModelRequestOutputConfig": { +"description": "Output configuration for the Model export.", +"id": "GoogleCloudAiplatformV1beta1ExportModelRequestOutputConfig", +"properties": { +"artifactDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"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`." +}, +"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" +}, +"imageDestination": { +"$ref": "GoogleCloudAiplatformV1beta1ContainerRegistryDestination", +"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`." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportModelResponse": { +"description": "Response message of ModelService.ExportModel operation.", +"id": "GoogleCloudAiplatformV1beta1ExportModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataRequest": { +"description": "Request message for TensorboardService.ExportTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataRequest", +"properties": { +"filter": { +"description": "Exports the TensorboardTimeSeries' data that match the filter expression.", +"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" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.ExportTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataResponse", +"properties": { +"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" +}, +"timeSeriesDataPoints": { +"description": "The returned time series data points.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TimeSeriesDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Extension": { +"description": "Extensions are tools for large language models to access external data, run computations, etc.", +"id": "GoogleCloudAiplatformV1beta1Extension", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Extension was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the Extension.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Extension. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"extensionOperations": { +"description": "Output only. Supported operations.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ExtensionOperation" +}, +"readOnly": true, +"type": "array" +}, +"manifest": { +"$ref": "GoogleCloudAiplatformV1beta1ExtensionManifest", +"description": "Required. Manifest of the Extension." +}, +"name": { +"description": "Identifier. The resource name of the Extension.", +"type": "string" +}, +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ExtensionPrivateServiceConnectConfig", +"description": "Optional. The PrivateServiceConnect config for the extension. If specified, the service endpoints associated with the Extension should be [registered with private network access in the provided Service Directory](https://cloud.google.com/service-directory/docs/configuring-private-network-access). If the service contains more than one endpoint with a network, the service will arbitrarilty choose one of the endpoints to use for extension execution." +}, +"runtimeConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RuntimeConfig", +"description": "Optional. Runtime config controlling the runtime behavior of this Extension." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"toolUseExamples": { +"description": "Optional. Examples to illustrate the usage of the extension as a tool.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolUseExample" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Timestamp when this Extension was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExtensionManifest": { +"description": "Manifest spec of an Extension needed for runtime execution.", +"id": "GoogleCloudAiplatformV1beta1ExtensionManifest", +"properties": { +"apiSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExtensionManifestApiSpec", +"description": "Required. Immutable. The API specification shown to the LLM." +}, +"authConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AuthConfig", +"description": "Required. Immutable. Type of auth supported by this extension." +}, +"description": { +"description": "Required. The natural language description shown to the LLM. It should describe the usage of the extension, and is essential for the LLM to perform reasoning. e.g., if the extension is a data store, you can let the LLM know what data it contains.", +"type": "string" +}, +"name": { +"description": "Required. Extension name shown to the LLM. The name can be up to 128 characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExtensionManifestApiSpec": { +"description": "The API specification shown to the LLM.", +"id": "GoogleCloudAiplatformV1beta1ExtensionManifestApiSpec", +"properties": { +"openApiGcsUri": { +"description": "Cloud Storage URI pointing to the OpenAPI spec.", +"type": "string" +}, +"openApiYaml": { +"description": "The API spec in Open API standard and YAML format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExtensionOperation": { +"description": "Operation of an extension.", +"id": "GoogleCloudAiplatformV1beta1ExtensionOperation", +"properties": { +"functionDeclaration": { +"$ref": "GoogleCloudAiplatformV1beta1FunctionDeclaration", +"description": "Output only. Structured representation of a function declaration as defined by the OpenAPI Spec.", +"readOnly": true +}, +"operationId": { +"description": "Operation ID that uniquely identifies the operations among the extension. See: \"Operation Object\" in https://swagger.io/specification/. This field is parsed from the OpenAPI spec. For HTTP extensions, if it does not exist in the spec, we will generate one from the HTTP method and path.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExtensionPrivateServiceConnectConfig": { +"description": "PrivateExtensionConfig configuration for the extension.", +"id": "GoogleCloudAiplatformV1beta1ExtensionPrivateServiceConnectConfig", +"properties": { +"serviceDirectory": { +"description": "Required. The Service Directory resource name in which the service endpoints associated to the extension are registered. Format: `projects/{project_id}/locations/{location_id}/namespaces/{namespace_id}/services/{service_id}` - The Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) should be granted `servicedirectory.viewer` and `servicedirectory.pscAuthorizedService` roles on the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Fact": { +"description": "The fact used in grounding.", +"id": "GoogleCloudAiplatformV1beta1Fact", +"properties": { +"query": { +"description": "Query that is used to retrieve this fact.", +"type": "string" +}, +"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.", +"format": "double", +"type": "number" +}, +"summary": { +"description": "If present, the summary/snippet of the 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" +}, +"vectorDistance": { +"deprecated": true, +"description": "If present, the distance between the query vector and this fact vector.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FasterDeploymentConfig": { +"description": "Configuration for faster model deployment.", +"id": "GoogleCloudAiplatformV1beta1FasterDeploymentConfig", +"properties": { +"fastTryoutEnabled": { +"description": "If true, enable fast tryout feature for this deployed model.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Feature": { +"description": "Feature Metadata information. For example, color is a feature that describes an apple.", +"id": "GoogleCloudAiplatformV1beta1Feature", +"properties": { +"createTime": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Feature.", +"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" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"featureStatsAndAnomaly": { +"description": "Output only. Only applicable for Vertex AI Feature Store. The list of historical stats and anomalies.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly" +}, +"readOnly": true, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"monitoringConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig", +"deprecated": true, +"description": "Optional. Only applicable for Vertex AI Feature Store (Legacy). Deprecated: The custom monitoring configuration for this Feature, 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 this is populated with FeaturestoreMonitoringConfig.disabled = true, snapshot analysis monitoring is disabled; if FeaturestoreMonitoringConfig.monitoring_interval specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring config is same as the EntityType's this Feature belongs to." +}, +"monitoringStats": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). A list of historical SnapshotAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly" +}, +"readOnly": true, +"type": "array" +}, +"monitoringStatsAnomalies": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). The list of historical stats and anomalies with specified objectives.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitoringStatsAnomaly" +}, +"readOnly": true, +"type": "array" +}, +"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" +}, +"pointOfContact": { +"description": "Entity responsible for maintaining this feature. Can be comma separated list of email addresses or URIs.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"valueType": { +"description": "Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type of Feature value.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"BOOL_ARRAY", +"DOUBLE", +"DOUBLE_ARRAY", +"INT64", +"INT64_ARRAY", +"STRING", +"STRING_ARRAY", +"BYTES", +"STRUCT" +], +"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." +], +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureGroup": { +"description": "Vertex AI Feature Group.", +"id": "GoogleCloudAiplatformV1beta1FeatureGroup", +"properties": { +"bigQuery": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroupBigQuery", +"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`." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureGroup was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the FeatureGroup.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"type": "string" +}, +"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" +}, +"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.", +"enum": [ +"SERVICE_AGENT_TYPE_UNSPECIFIED", +"SERVICE_AGENT_TYPE_PROJECT", +"SERVICE_AGENT_TYPE_FEATURE_GROUP" +], +"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." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureGroup was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureGroupBigQuery": { +"description": "Input source type for BigQuery Tables and Views.", +"id": "GoogleCloudAiplatformV1beta1FeatureGroupBigQuery", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudAiplatformV1beta1BigQuerySource", +"description": "Required. Immutable. The BigQuery source URI that points to either a BigQuery Table or View." +}, +"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" +}, +"entityIdColumns": { +"description": "Optional. Columns to construct entity_id / row keys. If not provided defaults to `entity_id`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"staticDataSource": { +"description": "Optional. Set if the data source is not a time-series.", +"type": "boolean" +}, +"timeSeries": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroupBigQueryTimeSeries", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureGroupBigQueryTimeSeries": { +"id": "GoogleCloudAiplatformV1beta1FeatureGroupBigQueryTimeSeries", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureMonitor": { +"description": "Vertex AI Feature Monitor.", +"id": "GoogleCloudAiplatformV1beta1FeatureMonitor", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this FeatureMonitor was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the FeatureMonitor.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"featureSelectionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", +"description": "Required. Feature selection config for the FeatureMonitor." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your FeatureMonitor. 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 FeatureMonitor(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}/featureMonitors/{featureMonitor}`", +"type": "string" +}, +"scheduleConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ScheduleConfig", +"description": "Required. Schedule config for the FeatureMonitor." +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureMonitor was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureMonitorJob": { +"description": "Vertex AI Feature Monitor Job.", +"id": "GoogleCloudAiplatformV1beta1FeatureMonitorJob", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this FeatureMonitorJob was created. Creation of a FeatureMonitorJob means that the job is pending / waiting for sufficient resources but may not have started running yet.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the FeatureMonitor.", +"type": "string" +}, +"driftBaseFeatureMonitorJobId": { +"description": "Output only. FeatureMonitorJob ID comparing to which the drift is calculated.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"driftBaseSnapshotTime": { +"description": "Output only. Data snapshot time comparing to which the drift is calculated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"featureSelectionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", +"description": "Output only. Feature selection config used when creating FeatureMonitorJob.", +"readOnly": true +}, +"finalStatus": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Final status of the FeatureMonitorJob.", +"readOnly": true +}, +"jobSummary": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary", +"description": "Output only. Summary from the FeatureMonitorJob.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your FeatureMonitorJob. 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 FeatureMonitor(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`.", +"type": "string" +}, +"triggerType": { +"description": "Output only. Trigger type of the Feature Monitor Job.", +"enum": [ +"FEATURE_MONITOR_JOB_TRIGGER_UNSPECIFIED", +"FEATURE_MONITOR_JOB_TRIGGER_PERIODIC", +"FEATURE_MONITOR_JOB_TRIGGER_ON_DEMAND" +], +"enumDescriptions": [ +"Trigger type unspecified.", +"Triggered by periodic schedule.", +"Triggered on demand by CreateFeatureMonitorJob request." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary": { +"description": "Summary from the FeatureMonitorJob.", +"id": "GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary", +"properties": { +"featureStatsAndAnomalies": { +"description": "Output only. Features and their stats and anomalies", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly" +}, +"readOnly": true, +"type": "array" +}, +"totalSlotMs": { +"description": "Output only. BigQuery slot milliseconds consumed.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureMonitoringStatsAnomaly": { +"description": "A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", +"id": "GoogleCloudAiplatformV1beta1FeatureMonitoringStatsAnomaly", +"properties": { +"featureStatsAnomaly": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly", +"description": "Output only. The stats and anomalies generated at specific timestamp.", +"readOnly": true +}, +"objective": { +"description": "Output only. The objective for each stats.", +"enum": [ +"OBJECTIVE_UNSPECIFIED", +"IMPORT_FEATURE_ANALYSIS", +"SNAPSHOT_ANALYSIS" +], +"enumDescriptions": [ +"If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty.", +"Stats are generated by Import Feature Analysis.", +"Stats are generated by Snapshot Analysis." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureNoiseSigma": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeatureNoiseSigma", +"properties": { +"noiseSigma": { +"description": "Noise sigma per feature. No noise is added to features that are not set.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureNoiseSigmaNoiseSigmaForFeature" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureNoiseSigmaNoiseSigmaForFeature": { +"description": "Noise sigma for a single feature.", +"id": "GoogleCloudAiplatformV1beta1FeatureNoiseSigmaNoiseSigmaForFeature", +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStore": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStore", +"properties": { +"bigtable": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtable", +"description": "Contains settings for the Cloud Bigtable instance that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureOnlineStore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedServingEndpoint": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint", +"description": "Optional. The dedicated serving endpoint for this FeatureOnlineStore, which is different from common Vertex service endpoint." +}, +"embeddingManagement": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreEmbeddingManagement", +"deprecated": true, +"description": "Optional. Deprecated: This field is no longer needed anymore and embedding management is automatically enabled when specifying Optimized storage type." +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Optional. Customer-managed encryption key spec for data storage. If set, online store will be secured by this key." +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", +"type": "string" +}, +"optimized": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized", +"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." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. State of the featureOnlineStore.", +"enum": [ +"STATE_UNSPECIFIED", +"STABLE", +"UPDATING" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureOnlineStore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtable": { +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtable", +"properties": { +"autoScaling": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtableAutoScaling", +"description": "Required. Autoscaling config applied to Bigtable Instance." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtableAutoScaling": { +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreBigtableAutoScaling", +"properties": { +"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%.", +"format": "int32", +"type": "integer" +}, +"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'.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint": { +"description": "The dedicated serving endpoint for this FeatureOnlineStore. Only need to set when you choose Optimized storage type. Public endpoint is provisioned by default.", +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint", +"properties": { +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig", +"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." +}, +"publicEndpointDomainName": { +"description": "Output only. This field will be populated with the domain name to use for this FeatureOnlineStore", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStoreEmbeddingManagement": { +"deprecated": true, +"description": "Deprecated: This sub message is no longer needed anymore and embedding management is automatically enabled when specifying Optimized storage type. Contains settings for embedding management.", +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreEmbeddingManagement", +"properties": { +"enabled": { +"description": "Optional. Immutable. Whether to enable embedding management in this FeatureOnlineStore. It's immutable after creation to ensure the FeatureOnlineStore availability.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized": { +"description": "Optimized storage type", +"id": "GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureSelectionConfig": { +"description": "Feature selection configuration for the FeatureMonitor.", +"id": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", +"properties": { +"featureConfigs": { +"description": "Optional. A list of features to be monitored and each feature's drift threshold.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig": { +"description": "Feature configuration.", +"id": "GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig", +"properties": { +"driftThreshold": { +"description": "Optional. Drift threshold. If calculated difference with baseline data larger than threshold, it will be considered as the feature has drift. If not present, the threshold will be default to 0.3.", +"format": "double", +"type": "number" +}, +"featureId": { +"description": "Required. The ID of the feature resource. Final component of the Feature's resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureSelector": { +"description": "Selector for Features of an EntityType.", +"id": "GoogleCloudAiplatformV1beta1FeatureSelector", +"properties": { +"idMatcher": { +"$ref": "GoogleCloudAiplatformV1beta1IdMatcher", +"description": "Required. Matches Features based on ID." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly": { +"description": "Stats and Anomaly generated by FeatureMonitorJobs. Anomaly only includes Drift.", +"id": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly", +"properties": { +"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\u2013Shannon divergence.", +"format": "double", +"type": "number" +}, +"driftDetected": { +"description": "If set to true, indicates current stats is detected as and comparing with baseline stats.", +"type": "boolean" +}, +"driftDetectionThreshold": { +"description": "This is the threshold used when detecting drifts, which is set in FeatureMonitor.FeatureSelectionConfig.FeatureConfig.drift_threshold", +"format": "double", +"type": "number" +}, +"featureId": { +"description": "Feature Id.", +"type": "string" +}, +"featureMonitorId": { +"description": "The ID of the FeatureMonitor that this FeatureStatsAndAnomaly generated according to.", +"type": "string" +}, +"featureMonitorJobId": { +"description": "The ID of the FeatureMonitorJob that generated this FeatureStatsAndAnomaly.", +"format": "int64", +"type": "string" +}, +"featureStats": { +"description": "Feature stats. e.g. histogram buckets. In the format of tensorflow.metadata.v0.DatasetFeatureStatistics.", +"type": "any" +}, +"statsTime": { +"description": "The timestamp we take snapshot for feature values to generate stats.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureStatsAnomaly": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly", +"properties": { +"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.", +"format": "double", +"type": "number" +}, +"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\u2013Shannon divergence.", +"format": "double", +"type": "number" +}, +"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).", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "double", +"type": "number" +}, +"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).", +"format": "google-datetime", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureValue": { +"description": "Value for a feature.", +"id": "GoogleCloudAiplatformV1beta1FeatureValue", +"properties": { +"boolArrayValue": { +"$ref": "GoogleCloudAiplatformV1beta1BoolArray", +"description": "A list of bool type feature value." +}, +"boolValue": { +"description": "Bool type feature value.", +"type": "boolean" +}, +"bytesValue": { +"description": "Bytes feature value.", +"format": "byte", +"type": "string" +}, +"doubleArrayValue": { +"$ref": "GoogleCloudAiplatformV1beta1DoubleArray", +"description": "A list of double type feature value." +}, +"doubleValue": { +"description": "Double type feature value.", +"format": "double", +"type": "number" +}, +"int64ArrayValue": { +"$ref": "GoogleCloudAiplatformV1beta1Int64Array", +"description": "A list of int64 type feature value." +}, +"int64Value": { +"description": "Int64 feature value.", +"format": "int64", +"type": "string" +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValueMetadata", +"description": "Metadata of feature value." +}, +"stringArrayValue": { +"$ref": "GoogleCloudAiplatformV1beta1StringArray", +"description": "A list of string type feature value." +}, +"stringValue": { +"description": "String feature value.", +"type": "string" +}, +"structValue": { +"$ref": "GoogleCloudAiplatformV1beta1StructValue", +"description": "A struct type feature value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureValueDestination": { +"description": "A destination location for Feature values and format.", +"id": "GoogleCloudAiplatformV1beta1FeatureValueDestination", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"description": "Output in BigQuery format. BigQueryDestination.output_uri in FeatureValueDestination.bigquery_destination must refer to a table." +}, +"csvDestination": { +"$ref": "GoogleCloudAiplatformV1beta1CsvDestination", +"description": "Output in CSV format. Array Feature value types are not allowed in CSV format." +}, +"tfrecordDestination": { +"$ref": "GoogleCloudAiplatformV1beta1TFRecordDestination", +"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 -> byte_string(\"true\"), false -> byte_string(\"false\") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureValueList": { +"description": "Container for list of values.", +"id": "GoogleCloudAiplatformV1beta1FeatureValueList", +"properties": { +"values": { +"description": "A list of feature values. All of them should be the same data type.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureValueMetadata": { +"description": "Metadata of feature value.", +"id": "GoogleCloudAiplatformV1beta1FeatureValueMetadata", +"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. 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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureView": { +"description": "FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.", +"id": "GoogleCloudAiplatformV1beta1FeatureView", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewBigQuerySource", +"description": "Optional. Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureView was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"featureRegistrySource": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySource", +"description": "Optional. Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore." +}, +"indexConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfig", +"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." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"type": "string" +}, +"optimizedConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewOptimizedConfig", +"description": "Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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" +}, +"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.", +"enum": [ +"SERVICE_AGENT_TYPE_UNSPECIFIED", +"SERVICE_AGENT_TYPE_PROJECT", +"SERVICE_AGENT_TYPE_FEATURE_VIEW" +], +"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." +], +"type": "string" +}, +"syncConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSyncConfig", +"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." +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureView was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vectorSearchConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfig", +"deprecated": true, +"description": "Optional. Deprecated: please use FeatureView.index_config instead." +}, +"vertexRagSource": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewVertexRagSource", +"description": "Optional. The Vertex RAG Source that the FeatureView is linked to." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewBigQuerySource": { +"id": "GoogleCloudAiplatformV1beta1FeatureViewBigQuerySource", +"properties": { +"entityIdColumns": { +"description": "Required. Columns to construct entity_id / row keys.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewDataKey": { +"description": "Lookup key for a feature view.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewDataKey", +"properties": { +"compositeKey": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDataKeyCompositeKey", +"description": "The actual Entity ID will be composed from this struct. This should match with the way ID is defined in the FeatureView spec." +}, +"key": { +"description": "String key to use for lookup.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewDataKeyCompositeKey": { +"description": "ID that is comprised from several parts (columns).", +"id": "GoogleCloudAiplatformV1beta1FeatureViewDataKeyCompositeKey", +"properties": { +"parts": { +"description": "Parts to construct Entity ID. Should match with the same ID columns as defined in FeatureView in the same order.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySource": { +"description": "A Feature Registry source for features that need to be synced to Online Store.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySource", +"properties": { +"featureGroups": { +"description": "Required. List of features that need to be synced to Online Store.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySourceFeatureGroup" +}, +"type": "array" +}, +"projectNumber": { +"description": "Optional. The project number of the parent project of the Feature Groups.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySourceFeatureGroup": { +"description": "Features belonging to a single feature group that will be synced to Online Store.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySourceFeatureGroup", +"properties": { +"featureGroupId": { +"description": "Required. Identifier of the feature group.", +"type": "string" +}, +"featureIds": { +"description": "Required. Identifiers of features under the feature group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewIndexConfig": { +"description": "Configuration for vector indexing.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfig", +"properties": { +"bruteForceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfigBruteForceConfig", +"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." +}, +"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" +}, +"distanceMeasureType": { +"description": "Optional. The distance measure used in nearest neighbor search.", +"enum": [ +"DISTANCE_MEASURE_TYPE_UNSPECIFIED", +"SQUARED_L2_DISTANCE", +"COSINE_DISTANCE", +"DOT_PRODUCT_DISTANCE" +], +"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." +], +"type": "string" +}, +"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" +}, +"embeddingDimension": { +"description": "Optional. The number of dimensions of the input embedding.", +"format": "int32", +"type": "integer" +}, +"filterColumns": { +"description": "Optional. Columns of features that're used to filter vector search results.", +"items": { +"type": "string" +}, +"type": "array" +}, +"treeAhConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfigTreeAHConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewIndexConfigBruteForceConfig": { +"description": "Configuration options for using brute force search.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfigBruteForceConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewIndexConfigTreeAHConfig": { +"description": "Configuration options for the tree-AH algorithm.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewIndexConfigTreeAHConfig", +"properties": { +"leafNodeEmbeddingCount": { +"description": "Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewOptimizedConfig": { +"description": "Configuration for FeatureViews created in Optimized FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewOptimizedConfig", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1beta1AutomaticResources", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewSync": { +"description": "FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewSync", +"properties": { +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalStatus": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Final status of the FeatureViewSync.", +"readOnly": true +}, +"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" +}, +"runTime": { +"$ref": "GoogleTypeInterval", +"description": "Output only. Time when this FeatureViewSync is finished.", +"readOnly": true +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"syncSummary": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSyncSyncSummary", +"description": "Output only. Summary of the sync job.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewSyncConfig": { +"description": "Configuration for Sync. Only one option is set.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewSyncConfig", +"properties": { +"continuous": { +"description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", +"type": "boolean" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewSyncSyncSummary": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewSyncSyncSummary", +"properties": { +"rowSynced": { +"description": "Output only. Total number of rows synced.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"systemWatermarkTime": { +"description": "Lower bound of the system time watermark for the sync job. This is only set for continuously syncing feature views.", +"format": "google-datetime", +"type": "string" +}, +"totalSlot": { +"description": "Output only. BigQuery slot milliseconds consumed for the sync job.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfig": { +"deprecated": true, +"description": "Deprecated. Use IndexConfig instead.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfig", +"properties": { +"bruteForceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigBruteForceConfig", +"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." +}, +"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" +}, +"distanceMeasureType": { +"description": "Optional. The distance measure used in nearest neighbor search.", +"enum": [ +"DISTANCE_MEASURE_TYPE_UNSPECIFIED", +"SQUARED_L2_DISTANCE", +"COSINE_DISTANCE", +"DOT_PRODUCT_DISTANCE" +], +"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." +], +"type": "string" +}, +"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" +}, +"embeddingDimension": { +"description": "Optional. The number of dimensions of the input embedding.", +"format": "int32", +"type": "integer" +}, +"filterColumns": { +"description": "Optional. Columns of features that're used to filter vector search results.", +"items": { +"type": "string" +}, +"type": "array" +}, +"treeAhConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigTreeAHConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigBruteForceConfig": { +"id": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigBruteForceConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigTreeAHConfig": { +"id": "GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigTreeAHConfig", +"properties": { +"leafNodeEmbeddingCount": { +"description": "Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeatureViewVertexRagSource": { +"description": "A Vertex Rag source for features that need to be synced to Online Store.", +"id": "GoogleCloudAiplatformV1beta1FeatureViewVertexRagSource", +"properties": { +"ragCorpusId": { +"description": "Optional. The RAG corpus id corresponding to this FeatureView.", +"format": "int64", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Featurestore": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Featurestore", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Featurestore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"readOnly": true, +"type": "string" +}, +"onlineServingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfig", +"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." +}, +"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", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. State of the featurestore.", +"enum": [ +"STATE_UNSPECIFIED", +"STABLE", +"UPDATING" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Featurestore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig": { +"description": "Configuration of how features in Featurestore are monitored.", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig", +"properties": { +"categoricalThresholdConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigThresholdConfig", +"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)." +}, +"importFeaturesAnalysis": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysis", +"description": "The config for ImportFeatures Analysis Based Feature Monitoring." +}, +"numericalThresholdConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigThresholdConfig", +"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)." +}, +"snapshotAnalysis": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigSnapshotAnalysis", +"description": "The config for Snapshot Analysis Based Feature Monitoring." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysis": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysis", +"properties": { +"anomalyDetectionBaseline": { +"description": "The baseline used to do anomaly detection for the statistics generated by import features analysis.", +"enum": [ +"BASELINE_UNSPECIFIED", +"LATEST_STATS", +"MOST_RECENT_SNAPSHOT_STATS", +"PREVIOUS_IMPORT_FEATURES_STATS" +], +"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." +], +"type": "string" +}, +"state": { +"description": "Whether to enable / disable / inherite default hebavior for import features analysis.", +"enum": [ +"STATE_UNSPECIFIED", +"DEFAULT", +"ENABLED", +"DISABLED" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigSnapshotAnalysis": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigSnapshotAnalysis", +"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" +}, +"monitoringInterval": { +"deprecated": true, +"description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value is rolled up to full day. If both monitoring_interval_days and the deprecated `monitoring_interval` field are set when creating/updating EntityTypes/Features, monitoring_interval_days will be used.", +"format": "google-duration", +"type": "string" +}, +"monitoringIntervalDays": { +"description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value indicates number of days.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigThresholdConfig": { +"description": "The config for Featurestore Monitoring threshold.", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigThresholdConfig", +"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\u2013Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfig": { +"description": "OnlineServingConfig specifies the details for provisioning online serving resources.", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfig", +"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.", +"format": "int32", +"type": "integer" +}, +"scaling": { +"$ref": "GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfigScaling", +"description": "Online serving scaling configuration. Only one of `fixed_node_count` and `scaling` can be set. Setting one will reset the other." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfigScaling": { +"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).", +"id": "GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfigScaling", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"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'.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FetchFeatureValuesRequest": { +"description": "Request message for FeatureOnlineStoreService.FetchFeatureValues. All the features under the requested feature view will be returned.", +"id": "GoogleCloudAiplatformV1beta1FetchFeatureValuesRequest", +"properties": { +"dataFormat": { +"description": "Optional. Response data format. If not set, FeatureViewDataFormat.KEY_VALUE will be used.", +"enum": [ +"FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", +"KEY_VALUE", +"PROTO_STRUCT" +], +"enumDescriptions": [ +"Not set. Will be treated as the KeyValue format.", +"Return response data in key-value format.", +"Return response data in proto Struct format." +], +"type": "string" +}, +"dataKey": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDataKey", +"description": "Optional. The request key to fetch feature values for." +}, +"format": { +"deprecated": true, +"description": "Specify response data format. If not set, KeyValue format will be used. Deprecated. Use FetchFeatureValuesRequest.data_format.", +"enum": [ +"FORMAT_UNSPECIFIED", +"KEY_VALUE", +"PROTO_STRUCT" +], +"enumDescriptions": [ +"Not set. Will be treated as the KeyValue format.", +"Return response data in key-value format.", +"Return response data in proto Struct format." +], +"type": "string" +}, +"id": { +"deprecated": true, +"description": "Simple ID. The whole string will be used as is to identify Entity to fetch feature values for.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse": { +"description": "Response message for FeatureOnlineStoreService.FetchFeatureValues", +"id": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse", +"properties": { +"dataKey": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDataKey", +"description": "The data key associated with this response. Will only be populated for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs." +}, +"keyValues": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairList", +"description": "Feature values in KeyValue format." +}, +"protoStruct": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Feature values in proto Struct format.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairList": { +"description": "Response structure in the format of key (feature name) and (feature) value pair.", +"id": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairList", +"properties": { +"features": { +"description": "List of feature names and values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair": { +"description": "Feature name & value pair.", +"id": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair", +"properties": { +"name": { +"description": "Feature short name.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValue", +"description": "Feature value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FetchPredictOperationRequest": { +"description": "Request message for PredictionService.FetchPredictOperation.", +"id": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest", +"properties": { +"operationName": { +"description": "Required. The server-assigned name for the operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FileData": { +"description": "URI based data.", +"id": "GoogleCloudAiplatformV1beta1FileData", +"properties": { +"fileUri": { +"description": "Required. URI.", +"type": "string" +}, +"mimeType": { +"description": "Required. The IANA standard MIME type of the source data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FileStatus": { +"description": "RagFile status.", +"id": "GoogleCloudAiplatformV1beta1FileStatus", +"properties": { +"errorStatus": { +"description": "Output only. Only when the `state` field is ERROR.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. RagFile state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"ERROR" +], +"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." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FilterSplit": { +"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. ", +"id": "GoogleCloudAiplatformV1beta1FilterSplit", +"properties": { +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsRequest": { +"description": "The request message for MatchService.FindNeighbors.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsRequest", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQuery" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsRequestQuery": { +"description": "A query to find a number of the nearest neighbors (most similar vectors) of a vector.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQuery", +"properties": { +"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 > 0.", +"format": "int32", +"type": "integer" +}, +"datapoint": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapoint", +"description": "Required. The datapoint/vector whose nearest neighbors should be searched for." +}, +"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.", +"format": "double", +"type": "number" +}, +"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).", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"rrf": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF", +"description": "Optional. Represents RRF algorithm that combines search results." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF": { +"description": "Parameters for RRF algorithm that combines search results.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF", +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsResponse": { +"description": "The response message for MatchService.FindNeighbors.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsResponse", +"properties": { +"nearestNeighbors": { +"description": "The nearest neighbors of the query datapoints.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsResponseNearestNeighbors" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsResponseNearestNeighbors": { +"description": "Nearest neighbors for one query.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsResponseNearestNeighbors", +"properties": { +"id": { +"description": "The ID of the query datapoint.", +"type": "string" +}, +"neighbors": { +"description": "All its neighbors.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor": { +"description": "A neighbor of the query vector.", +"id": "GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor", +"properties": { +"datapoint": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapoint", +"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." +}, +"distance": { +"description": "The distance between the neighbor and the dense embedding query.", +"format": "double", +"type": "number" +}, +"sparseDistance": { +"description": "The distance between the neighbor and the query sparse_embedding.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FluencyInput": { +"description": "Input for fluency metric.", +"id": "GoogleCloudAiplatformV1beta1FluencyInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1FluencyInstance", +"description": "Required. Fluency instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1FluencySpec", +"description": "Required. Spec for fluency score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FluencyInstance": { +"description": "Spec for fluency instance.", +"id": "GoogleCloudAiplatformV1beta1FluencyInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FluencyResult": { +"description": "Spec for fluency result.", +"id": "GoogleCloudAiplatformV1beta1FluencyResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for fluency score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for fluency score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Fluency score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FluencySpec": { +"description": "Spec for fluency score metric.", +"id": "GoogleCloudAiplatformV1beta1FluencySpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FractionSplit": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FractionSplit", +"properties": { +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FulfillmentInput": { +"description": "Input for fulfillment metric.", +"id": "GoogleCloudAiplatformV1beta1FulfillmentInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1FulfillmentInstance", +"description": "Required. Fulfillment instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1FulfillmentSpec", +"description": "Required. Spec for fulfillment score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FulfillmentInstance": { +"description": "Spec for fulfillment instance.", +"id": "GoogleCloudAiplatformV1beta1FulfillmentInstance", +"properties": { +"instruction": { +"description": "Required. Inference instruction prompt to compare prediction with.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FulfillmentResult": { +"description": "Spec for fulfillment result.", +"id": "GoogleCloudAiplatformV1beta1FulfillmentResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for fulfillment score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for fulfillment score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Fulfillment score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FulfillmentSpec": { +"description": "Spec for fulfillment metric.", +"id": "GoogleCloudAiplatformV1beta1FulfillmentSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FunctionCall": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FunctionCall", +"properties": { +"args": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Required. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.", +"type": "object" +}, +"name": { +"description": "Required. The name of the function to call. Matches [FunctionDeclaration.name].", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FunctionCallingConfig": { +"description": "Function calling config.", +"id": "GoogleCloudAiplatformV1beta1FunctionCallingConfig", +"properties": { +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "Optional. Function calling mode.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"ANY", +"NONE" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FunctionDeclaration": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FunctionDeclaration", +"properties": { +"description": { +"description": "Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.", +"type": "string" +}, +"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" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1Schema", +"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" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schema", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1FunctionResponse": { +"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.", +"id": "GoogleCloudAiplatformV1beta1FunctionResponse", +"properties": { +"name": { +"description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GcsDestination": { +"description": "The Google Cloud Storage location where the output is to be written to.", +"id": "GoogleCloudAiplatformV1beta1GcsDestination", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GcsSource": { +"description": "The Google Cloud Storage location for the input content.", +"id": "GoogleCloudAiplatformV1beta1GcsSource", +"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/gsutil/addlhelp/WildcardNames.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest": { +"description": "Request message for NotebookInternalService.GenerateAccessToken.", +"id": "GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest", +"properties": { +"vmToken": { +"description": "Required. The VM identity token (a JWT) for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse": { +"description": "Response message for NotebookInternalService.GenerateToken.", +"id": "GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse", +"properties": { +"accessToken": { +"description": "Short-lived access token string which may be used to access Google APIs.", +"type": "string" +}, +"expiresIn": { +"description": "The time in seconds when the access token expires. Typically that's 3600.", +"format": "int32", +"type": "integer" +}, +"scope": { +"description": "Space-separated list of scopes contained in the returned token. https://cloud.google.com/docs/authentication/token-types#access-contents", +"type": "string" +}, +"tokenType": { +"description": "Type of the returned access token (e.g. \"Bearer\"). It specifies how the token must be used. Bearer tokens may be used by any entity without proof of identity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateContentRequest": { +"description": "Request message for [PredictionService.GenerateContent].", +"id": "GoogleCloudAiplatformV1beta1GenerateContentRequest", +"properties": { +"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" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", +"description": "Optional. Generation config." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"safetySettings": { +"description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SafetySetting" +}, +"type": "array" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"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." +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ToolConfig", +"description": "Optional. Tool config. This config is shared for all tools provided in the request." +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateContentResponse": { +"description": "Response message for [PredictionService.GenerateContent].", +"id": "GoogleCloudAiplatformV1beta1GenerateContentResponse", +"properties": { +"candidates": { +"description": "Output only. Generated candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Candidate" +}, +"readOnly": true, +"type": "array" +}, +"modelVersion": { +"description": "Output only. The model version used to generate the response.", +"readOnly": true, +"type": "string" +}, +"promptFeedback": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback", +"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 +}, +"usageMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata", +"description": "Usage metadata about the response(s)." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback": { +"description": "Content filter results for a prompt sent in the request.", +"id": "GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback", +"properties": { +"blockReason": { +"description": "Output only. Blocked reason.", +"enum": [ +"BLOCKED_REASON_UNSPECIFIED", +"SAFETY", +"OTHER", +"BLOCKLIST", +"PROHIBITED_CONTENT" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"blockReasonMessage": { +"description": "Output only. A readable block reason message.", +"readOnly": true, +"type": "string" +}, +"safetyRatings": { +"description": "Output only. Safety ratings.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SafetyRating" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata": { +"description": "Usage metadata about response(s).", +"id": "GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata", +"properties": { +"cachedContentTokenCount": { +"description": "Output only. Number of tokens in the cached part in the input (the cached content).", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"candidatesTokenCount": { +"description": "Number of tokens in the response(s).", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"description": "Total token count for prompt and response candidates.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerateVideoResponse": { +"description": "Generate video response.", +"id": "GoogleCloudAiplatformV1beta1GenerateVideoResponse", +"properties": { +"generatedSamples": { +"description": "The cloud storage uris of the generated videos.", +"items": { +"type": "string" +}, +"type": "array" +}, +"raiMediaFilteredCount": { +"description": "Returns if any videos were filtered due to RAI policies.", +"format": "int32", +"type": "integer" +}, +"raiMediaFilteredReasons": { +"description": "Returns rai failure reasons if any.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerationConfig": { +"description": "Generation config.", +"id": "GoogleCloudAiplatformV1beta1GenerationConfig", +"properties": { +"audioTimestamp": { +"description": "Optional. If enabled, audio timestamp will be included in the request to the model.", +"type": "boolean" +}, +"candidateCount": { +"description": "Optional. Number of candidates to generate.", +"format": "int32", +"type": "integer" +}, +"frequencyPenalty": { +"description": "Optional. Frequency penalties.", +"format": "float", +"type": "number" +}, +"logprobs": { +"description": "Optional. Logit probabilities.", +"format": "int32", +"type": "integer" +}, +"maxOutputTokens": { +"description": "Optional. The maximum number of output tokens to generate per message.", +"format": "int32", +"type": "integer" +}, +"mediaResolution": { +"description": "Optional. If specified, the media resolution specified will be used.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"MEDIA_RESOLUTION_LOW", +"MEDIA_RESOLUTION_MEDIUM", +"MEDIA_RESOLUTION_HIGH" +], +"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)." +], +"type": "string" +}, +"presencePenalty": { +"description": "Optional. Positive penalties.", +"format": "float", +"type": "number" +}, +"responseLogprobs": { +"description": "Optional. If true, export the logprobs results in response.", +"type": "boolean" +}, +"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" +}, +"responseModalities": { +"description": "Optional. The modalities of the response.", +"items": { +"enum": [ +"MODALITY_UNSPECIFIED", +"TEXT", +"IMAGE", +"AUDIO" +], +"enumDescriptions": [ +"Unspecified modality. Will be processed as text.", +"Text modality.", +"Image modality.", +"Audio modality." +], +"type": "string" +}, +"type": "array" +}, +"responseSchema": { +"$ref": "GoogleCloudAiplatformV1beta1Schema", +"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." +}, +"routingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfig", +"description": "Optional. Routing configuration." +}, +"seed": { +"description": "Optional. Seed.", +"format": "int32", +"type": "integer" +}, +"speechConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SpeechConfig", +"description": "Optional. The speech generation config." +}, +"stopSequences": { +"description": "Optional. Stop sequences.", +"items": { +"type": "string" +}, +"type": "array" +}, +"temperature": { +"description": "Optional. Controls the randomness of predictions.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "Optional. If specified, top-k sampling will be used.", +"format": "float", +"type": "number" +}, +"topP": { +"description": "Optional. If specified, nucleus sampling will be used.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfig": { +"description": "The configuration for routing the request to a specific model.", +"id": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfig", +"properties": { +"autoMode": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingMode", +"description": "Automated routing." +}, +"manualMode": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigManualRoutingMode", +"description": "Manual routing." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingMode": { +"description": "When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference.", +"id": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingMode", +"properties": { +"modelRoutingPreference": { +"description": "The model routing preference.", +"enum": [ +"UNKNOWN", +"PRIORITIZE_QUALITY", +"BALANCED", +"PRIORITIZE_COST" +], +"enumDescriptions": [ +"Unspecified model routing preference.", +"Prefer higher quality over low cost.", +"Balanced model routing preference.", +"Prefer lower cost over higher quality." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigManualRoutingMode": { +"description": "When manual routing is set, the specified model will be used directly.", +"id": "GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigManualRoutingMode", +"properties": { +"modelName": { +"description": "The model name to use. Only the public LLM models are accepted. e.g. 'gemini-1.5-pro-001'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenericOperationMetadata": { +"description": "Generic Metadata shared by all operations.", +"id": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"properties": { +"createTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GenieSource": { +"description": "Contains information about the source of the models generated from Generative AI Studio.", +"id": "GoogleCloudAiplatformV1beta1GenieSource", +"properties": { +"baseModelUri": { +"description": "Required. The public base model URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GoogleDriveSource": { +"description": "The Google Drive location for the input content.", +"id": "GoogleCloudAiplatformV1beta1GoogleDriveSource", +"properties": { +"resourceIds": { +"description": "Required. Google Drive resource IDs.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId": { +"description": "The type and ID of the Google Drive resource.", +"id": "GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId", +"properties": { +"resourceId": { +"description": "Required. The ID of the Google Drive resource.", +"type": "string" +}, +"resourceType": { +"description": "Required. The type of the Google Drive resource.", +"enum": [ +"RESOURCE_TYPE_UNSPECIFIED", +"RESOURCE_TYPE_FILE", +"RESOURCE_TYPE_FOLDER" +], +"enumDescriptions": [ +"Unspecified resource type.", +"File resource type.", +"Folder resource type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GoogleSearchRetrieval": { +"description": "Tool to retrieve public web data for grounding, powered by Google.", +"id": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", +"properties": { +"dynamicRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", +"description": "Specifies the dynamic retrieval configuration for the given source." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundednessInput": { +"description": "Input for groundedness metric.", +"id": "GoogleCloudAiplatformV1beta1GroundednessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1GroundednessInstance", +"description": "Required. Groundedness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1GroundednessSpec", +"description": "Required. Spec for groundedness metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundednessInstance": { +"description": "Spec for groundedness instance.", +"id": "GoogleCloudAiplatformV1beta1GroundednessInstance", +"properties": { +"context": { +"description": "Required. Background information provided in context used to compare against the prediction.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundednessResult": { +"description": "Spec for groundedness result.", +"id": "GoogleCloudAiplatformV1beta1GroundednessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for groundedness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for groundedness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Groundedness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundednessSpec": { +"description": "Spec for groundedness metric.", +"id": "GoogleCloudAiplatformV1beta1GroundednessSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundingChunk": { +"description": "Grounding chunk.", +"id": "GoogleCloudAiplatformV1beta1GroundingChunk", +"properties": { +"retrievedContext": { +"$ref": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", +"description": "Grounding chunk from context retrieved by the retrieval tools." +}, +"web": { +"$ref": "GoogleCloudAiplatformV1beta1GroundingChunkWeb", +"description": "Grounding chunk from the web." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext": { +"description": "Chunk from context retrieved by the retrieval tools.", +"id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", +"properties": { +"text": { +"description": "Text of the attribution.", +"type": "string" +}, +"title": { +"description": "Title of the attribution.", +"type": "string" +}, +"uri": { +"description": "URI reference of the attribution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundingChunkWeb": { +"description": "Chunk from the web.", +"id": "GoogleCloudAiplatformV1beta1GroundingChunkWeb", +"properties": { +"title": { +"description": "Title of the chunk.", +"type": "string" +}, +"uri": { +"description": "URI reference of the chunk.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundingMetadata": { +"description": "Metadata returned to client when grounding is enabled.", +"id": "GoogleCloudAiplatformV1beta1GroundingMetadata", +"properties": { +"groundingChunks": { +"description": "List of supporting references retrieved from specified grounding source.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1GroundingChunk" +}, +"type": "array" +}, +"groundingSupports": { +"description": "Optional. List of grounding support.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1GroundingSupport" +}, +"type": "array" +}, +"retrievalMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1RetrievalMetadata", +"description": "Optional. Output only. Retrieval metadata.", +"readOnly": true +}, +"retrievalQueries": { +"description": "Optional. Queries executed by the retrieval tools.", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchEntryPoint": { +"$ref": "GoogleCloudAiplatformV1beta1SearchEntryPoint", +"description": "Optional. Google search entry for the following-up web searches." +}, +"webSearchQueries": { +"description": "Optional. Web search queries for the following-up web search.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1GroundingSupport": { +"description": "Grounding support.", +"id": "GoogleCloudAiplatformV1beta1GroundingSupport", +"properties": { +"confidenceScores": { +"description": "Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. This list must have the same size as the grounding_chunk_indices.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"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.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudAiplatformV1beta1Segment", +"description": "Segment of the content this support belongs to." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1HyperparameterTuningJob": { +"description": "Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification and multiple CustomJobs with identical CustomJob specification.", +"id": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob", +"properties": { +"createTime": { +"description": "Output only. Time when the HyperparameterTuningJob was created.", +"format": "google-datetime", +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Time when the HyperparameterTuningJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "Required. The desired total number of Trials.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Resource name of the HyperparameterTuningJob.", +"readOnly": true, +"type": "string" +}, +"parallelTrialCount": { +"description": "Required. The desired number of Trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the HyperparameterTuningJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpec", +"description": "Required. Study configuration of the HyperparameterTuningJob." +}, +"trialJobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "Required. The spec of a trial job. The same spec applies to the CustomJobs created in all the trials." +}, +"trials": { +"description": "Output only. Trials of the HyperparameterTuningJob.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. Time when the HyperparameterTuningJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IdMatcher": { +"description": "Matcher for Features of an EntityType by Feature ID.", +"id": "GoogleCloudAiplatformV1beta1IdMatcher", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportDataConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ImportDataConfig", +"properties": { +"annotationLabels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"dataItemLabels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "The Google Cloud Storage location for the input content." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportDataOperationMetadata": { +"description": "Runtime operation information for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1beta1ImportDataOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportDataRequest": { +"description": "Request message for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1beta1ImportDataRequest", +"properties": { +"importConfigs": { +"description": "Required. The desired input locations. The contents of all input locations will be imported in one batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ImportDataConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportDataResponse": { +"description": "Response message for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1beta1ImportDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportExtensionOperationMetadata": { +"description": "Details of ExtensionRegistryService.ImportExtension operation.", +"id": "GoogleCloudAiplatformV1beta1ImportExtensionOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportFeatureValuesOperationMetadata": { +"description": "Details of operations that perform import Feature values.", +"id": "GoogleCloudAiplatformV1beta1ImportFeatureValuesOperationMetadata", +"properties": { +"blockingOperationIds": { +"description": "List of ImportFeatureValues operations running under a single EntityType that are blocking this operation.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore import Feature values." +}, +"importedEntityCount": { +"description": "Number of entities that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"importedFeatureValueCount": { +"description": "Number of Feature values that have been imported by the operation.", +"format": "int64", +"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).", +"format": "int64", +"type": "string" +}, +"sourceUris": { +"description": "The source URI from where Feature values are imported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timestampOutsideRetentionRowsCount": { +"description": "The number rows that weren't ingested due to having timestamps outside the retention boundary.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.ImportFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequest", +"properties": { +"avroSource": { +"$ref": "GoogleCloudAiplatformV1beta1AvroSource" +}, +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1BigQuerySource" +}, +"csvSource": { +"$ref": "GoogleCloudAiplatformV1beta1CsvSource" +}, +"disableIngestionAnalysis": { +"description": "If true, API doesn't start ingestion analysis pipeline.", +"type": "boolean" +}, +"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" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequestFeatureSpec" +}, +"type": "array" +}, +"featureTime": { +"description": "Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +}, +"featureTimeField": { +"description": "Source column that holds the Feature timestamp for all Feature values in each entity.", +"type": "string" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportFeatureValuesRequestFeatureSpec": { +"description": "Defines the Feature value(s) to import.", +"id": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequestFeatureSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.ImportFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ImportFeatureValuesResponse", +"properties": { +"importedEntityCount": { +"description": "Number of entities that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"importedFeatureValueCount": { +"description": "Number of Feature values that have been imported by the operation.", +"format": "int64", +"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).", +"format": "int64", +"type": "string" +}, +"timestampOutsideRetentionRowsCount": { +"description": "The number rows that weren't ingested due to having feature timestamps outside the retention boundary.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest": { +"description": "Request message for ModelService.ImportModelEvaluation", +"id": "GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest", +"properties": { +"modelEvaluation": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation", +"description": "Required. Model evaluation resource to be imported." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportRagFilesConfig": { +"description": "Config for importing RagFiles.", +"id": "GoogleCloudAiplatformV1beta1ImportRagFilesConfig", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"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`" +}, +"googleDriveSource": { +"$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSource", +"description": "Google Drive location. Supports importing individual files as well as Google Drive folders." +}, +"jiraSource": { +"$ref": "GoogleCloudAiplatformV1beta1JiraSource", +"description": "Jira queries with their corresponding authentication." +}, +"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.", +"format": "int32", +"type": "integer" +}, +"partialFailureBigquerySink": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"deprecated": true, +"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`." +}, +"partialFailureGcsSink": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"deprecated": true, +"description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`." +}, +"ragFileChunkingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", +"deprecated": true, +"description": "Specifies the size and overlap of chunks after importing RagFiles." +}, +"ragFileParsingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfig", +"description": "Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set." +}, +"ragFileTransformationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", +"description": "Specifies the transformation config for RagFiles." +}, +"sharePointSources": { +"$ref": "GoogleCloudAiplatformV1beta1SharePointSources", +"description": "SharePoint sources." +}, +"slackSource": { +"$ref": "GoogleCloudAiplatformV1beta1SlackSource", +"description": "Slack channels with their corresponding access tokens." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ImportRagFilesRequest": { +"description": "Request message for VertexRagDataService.ImportRagFiles.", +"id": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest", +"properties": { +"importRagFilesConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesConfig", +"description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Index": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Index", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Index was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndexRef" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Index.", +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"indexStats": { +"$ref": "GoogleCloudAiplatformV1beta1IndexStats", +"description": "Output only. Stats of the index resource.", +"readOnly": true +}, +"indexUpdateMethod": { +"description": "Immutable. The update method to use with this Index. If not set, BATCH_UPDATE will be used by default.", +"enum": [ +"INDEX_UPDATE_METHOD_UNSPECIFIED", +"BATCH_UPDATE", +"STREAM_UPDATE" +], +"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." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"metadata": { +"description": "An additional information about the Index; the schema of the metadata can be found in metadata_schema.", +"type": "any" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the Index.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexDatapoint": { +"description": "A datapoint of Index.", +"id": "GoogleCloudAiplatformV1beta1IndexDatapoint", +"properties": { +"crowdingTag": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapointCrowdingTag", +"description": "Optional. CrowdingTag of the datapoint, the number of neighbors to return in each crowding can be configured during query." +}, +"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].", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapointNumericRestriction" +}, +"type": "array" +}, +"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", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapointRestriction" +}, +"type": "array" +}, +"sparseEmbedding": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding", +"description": "Optional. Feature embedding vector for sparse index." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexDatapointCrowdingTag": { +"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.", +"id": "GoogleCloudAiplatformV1beta1IndexDatapointCrowdingTag", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexDatapointNumericRestriction": { +"description": "This field allows restricts to be based on numeric comparisons rather than categorical tokens.", +"id": "GoogleCloudAiplatformV1beta1IndexDatapointNumericRestriction", +"properties": { +"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.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS", +"LESS_EQUAL", +"EQUAL", +"GREATER_EQUAL", +"GREATER", +"NOT_EQUAL" +], +"enumDescriptions": [ +"Default value of the enum.", +"Datapoints are eligible iff their value is < the query's.", +"Datapoints are eligible iff their value is <= the query's.", +"Datapoints are eligible iff their value is == the query's.", +"Datapoints are eligible iff their value is >= the query's.", +"Datapoints are eligible iff their value is > the query's.", +"Datapoints are eligible iff their value is != the query's." +], +"type": "string" +}, +"valueDouble": { +"description": "Represents 64 bit float.", +"format": "double", +"type": "number" +}, +"valueFloat": { +"description": "Represents 32 bit float.", +"format": "float", +"type": "number" +}, +"valueInt": { +"description": "Represents 64 bit integer.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexDatapointRestriction": { +"description": "Restriction of a datapoint which describe its attributes(tokens) from each of several attribute categories(namespaces).", +"id": "GoogleCloudAiplatformV1beta1IndexDatapointRestriction", +"properties": { +"allowList": { +"description": "The attributes to allow in this namespace. e.g.: 'red'", +"items": { +"type": "string" +}, +"type": "array" +}, +"denyList": { +"description": "The attributes to deny in this namespace. e.g.: 'blue'", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespace": { +"description": "The namespace of this restriction. e.g.: color.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding": { +"description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", +"id": "GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding", +"properties": { +"dimensions": { +"description": "Required. The list of indexes for the embedding values of the sparse vector.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"values": { +"description": "Required. The list of embedding values of the sparse vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexEndpoint": { +"description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", +"id": "GoogleCloudAiplatformV1beta1IndexEndpoint", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this IndexEndpoint was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployedIndexes": { +"description": "Output only. The indexes deployed in this endpoint.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the IndexEndpoint.", +"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" +}, +"enablePrivateServiceConnect": { +"deprecated": true, +"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.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the IndexEndpoint.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig", +"description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive." +}, +"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" +}, +"publicEndpointEnabled": { +"description": "Optional. If true, the deployed index will be accessible through public endpoint.", +"type": "boolean" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexPrivateEndpoints": { +"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.", +"id": "GoogleCloudAiplatformV1beta1IndexPrivateEndpoints", +"properties": { +"matchGrpcAddress": { +"description": "Output only. The ip address used to send match gRPC requests.", +"readOnly": true, +"type": "string" +}, +"pscAutomatedEndpoints": { +"description": "Output only. PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints" +}, +"readOnly": true, +"type": "array" +}, +"serviceAttachment": { +"description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IndexStats": { +"description": "Stats of the Index.", +"id": "GoogleCloudAiplatformV1beta1IndexStats", +"properties": { +"shardsCount": { +"description": "Output only. The number of shards in the Index.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sparseVectorsCount": { +"description": "Output only. The number of sparse vectors in the Index.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"vectorsCount": { +"description": "Output only. The number of dense vectors in the Index.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1InputDataConfig": { +"description": "Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model.", +"id": "GoogleCloudAiplatformV1beta1InputDataConfig", +"properties": { +"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" +}, +"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" +}, +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"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\"" +}, +"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" +}, +"filterSplit": { +"$ref": "GoogleCloudAiplatformV1beta1FilterSplit", +"description": "Split based on the provided filters for each set." +}, +"fractionSplit": { +"$ref": "GoogleCloudAiplatformV1beta1FractionSplit", +"description": "Split based on fractions defining the size of each set." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"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}\"" +}, +"persistMlUseAssignment": { +"description": "Whether to persist the ML use assignment to data item system labels.", +"type": "boolean" +}, +"predefinedSplit": { +"$ref": "GoogleCloudAiplatformV1beta1PredefinedSplit", +"description": "Supported only for tabular Datasets. Split based on a predefined key." +}, +"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" +}, +"stratifiedSplit": { +"$ref": "GoogleCloudAiplatformV1beta1StratifiedSplit", +"description": "Supported only for tabular Datasets. Split based on the distribution of the specified column." +}, +"timestampSplit": { +"$ref": "GoogleCloudAiplatformV1beta1TimestampSplit", +"description": "Supported only for tabular Datasets. Split based on the timestamp of the input data pieces." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Int64Array": { +"description": "A list of int64 values.", +"id": "GoogleCloudAiplatformV1beta1Int64Array", +"properties": { +"values": { +"description": "A list of int64 values.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1IntegratedGradientsAttribution": { +"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", +"id": "GoogleCloudAiplatformV1beta1IntegratedGradientsAttribution", +"properties": { +"blurBaselineConfig": { +"$ref": "GoogleCloudAiplatformV1beta1BlurBaselineConfig", +"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" +}, +"smoothGradConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SmoothGradConfig", +"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" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance": { +"description": "Request message for [InternalOsServiceStateInstance].", +"id": "GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance", +"properties": { +"serviceName": { +"description": "Required. internal service name.", +"enum": [ +"INTERNAL_OS_SERVICE_ENUM_UNSPECIFIED", +"DOCKER_SERVICE_STATE", +"CONTROL_PLANE_API_DNS_STATE", +"PROXY_REGISTRATION_DNS_STATE", +"JUPYTER_STATE", +"JUPYTER_API_STATE", +"EUC_METADATA_API_STATE", +"EUC_AGENT_API_STATE", +"IDLE_SHUTDOWN_AGENT_STATE", +"PROXY_AGENT_STATE", +"GCR_DNS_STATE", +"GUEST_ATTRIBUTE_STATE" +], +"enumDescriptions": [ +"Service name unknown.", +"Represents the internal os docker client.", +"Represents resolving DNS for the control plane api endpoint.", +"Represents resolving DNS for the proxy registration endpoint.", +"Represents the jupyter endpoint.", +"Represents the jupyter/api endpoint.", +"Represents the EUC metadata server API endpoint.", +"Represents the EUC agent server API endpoint.", +"Represents the idle shutdown agent sidecar container.", +"Represents the proxy agent sidecar container.", +"Represents resolving DNS for the gcr.io endpoint.", +"Represents if the guest attribute service is enabled." +], +"type": "string" +}, +"serviceState": { +"description": "Required. internal service state.", +"enum": [ +"UNKNOWN", +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"Health status is unknown: not initialized or failed to retrieve.", +"The resource is healthy.", +"The resource is unhealthy." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1JiraSource": { +"description": "The Jira source for the ImportRagFilesRequest.", +"id": "GoogleCloudAiplatformV1beta1JiraSource", +"properties": { +"jiraQueries": { +"description": "Required. The Jira queries.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1JiraSourceJiraQueries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1JiraSourceJiraQueries": { +"description": "JiraQueries contains the Jira queries and corresponding authentication.", +"id": "GoogleCloudAiplatformV1beta1JiraSourceJiraQueries", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", +"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/)." +}, +"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/", +"items": { +"type": "string" +}, +"type": "array" +}, +"email": { +"description": "Required. The Jira email address.", +"type": "string" +}, +"projects": { +"description": "A list of Jira projects to import in their entirety.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serverUri": { +"description": "Required. The Jira server URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LargeModelReference": { +"description": "Contains information about the Large Model.", +"id": "GoogleCloudAiplatformV1beta1LargeModelReference", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LineageSubgraph": { +"description": "A subgraph of the overall lineage graph. Event edges connect Artifact and Execution nodes.", +"id": "GoogleCloudAiplatformV1beta1LineageSubgraph", +"properties": { +"artifacts": { +"description": "The Artifact nodes in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"type": "array" +}, +"events": { +"description": "The Event edges between Artifacts and Executions in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Event" +}, +"type": "array" +}, +"executions": { +"description": "The Execution nodes in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListAnnotationsResponse": { +"description": "Response message for DatasetService.ListAnnotations.", +"id": "GoogleCloudAiplatformV1beta1ListAnnotationsResponse", +"properties": { +"annotations": { +"description": "A list of Annotations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Annotation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListArtifactsResponse": { +"description": "Response message for MetadataService.ListArtifacts.", +"id": "GoogleCloudAiplatformV1beta1ListArtifactsResponse", +"properties": { +"artifacts": { +"description": "The Artifacts retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListBatchPredictionJobsResponse": { +"description": "Response message for JobService.ListBatchPredictionJobs", +"id": "GoogleCloudAiplatformV1beta1ListBatchPredictionJobsResponse", +"properties": { +"batchPredictionJobs": { +"description": "List of BatchPredictionJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListBatchPredictionJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListCachedContentsResponse": { +"description": "Response with a list of CachedContents.", +"id": "GoogleCloudAiplatformV1beta1ListCachedContentsResponse", +"properties": { +"cachedContents": { +"description": "List of cached contents.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListContextsResponse": { +"description": "Response message for MetadataService.ListContexts.", +"id": "GoogleCloudAiplatformV1beta1ListContextsResponse", +"properties": { +"contexts": { +"description": "The Contexts retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Context" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListCustomJobsResponse": { +"description": "Response message for JobService.ListCustomJobs", +"id": "GoogleCloudAiplatformV1beta1ListCustomJobsResponse", +"properties": { +"customJobs": { +"description": "List of CustomJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListCustomJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDataItemsResponse": { +"description": "Response message for DatasetService.ListDataItems.", +"id": "GoogleCloudAiplatformV1beta1ListDataItemsResponse", +"properties": { +"dataItems": { +"description": "A list of DataItems that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DataItem" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDataLabelingJobsResponse": { +"description": "Response message for JobService.ListDataLabelingJobs.", +"id": "GoogleCloudAiplatformV1beta1ListDataLabelingJobsResponse", +"properties": { +"dataLabelingJobs": { +"description": "A list of DataLabelingJobs that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse": { +"description": "Response message for DatasetService.ListDatasetVersions.", +"id": "GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse", +"properties": { +"datasetVersions": { +"description": "A list of DatasetVersions that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDatasetsResponse": { +"description": "Response message for DatasetService.ListDatasets.", +"id": "GoogleCloudAiplatformV1beta1ListDatasetsResponse", +"properties": { +"datasets": { +"description": "A list of Datasets that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDeploymentResourcePoolsResponse": { +"description": "Response message for ListDeploymentResourcePools method.", +"id": "GoogleCloudAiplatformV1beta1ListDeploymentResourcePoolsResponse", +"properties": { +"deploymentResourcePools": { +"description": "The DeploymentResourcePools from the specified location.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListEndpointsResponse": { +"description": "Response message for EndpointService.ListEndpoints.", +"id": "GoogleCloudAiplatformV1beta1ListEndpointsResponse", +"properties": { +"endpoints": { +"description": "List of Endpoints in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListEndpointsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListEntityTypesResponse": { +"description": "Response message for FeaturestoreService.ListEntityTypes.", +"id": "GoogleCloudAiplatformV1beta1ListEntityTypesResponse", +"properties": { +"entityTypes": { +"description": "The EntityTypes matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListExecutionsResponse": { +"description": "Response message for MetadataService.ListExecutions.", +"id": "GoogleCloudAiplatformV1beta1ListExecutionsResponse", +"properties": { +"executions": { +"description": "The Executions retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Execution" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListExtensionsResponse": { +"description": "Response message for ExtensionRegistryService.ListExtensions", +"id": "GoogleCloudAiplatformV1beta1ListExtensionsResponse", +"properties": { +"extensions": { +"description": "List of Extension in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListExtensionsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureGroupsResponse": { +"description": "Response message for FeatureRegistryService.ListFeatureGroups.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureGroupsResponse", +"properties": { +"featureGroups": { +"description": "The FeatureGroups matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse": { +"description": "Response message for FeatureRegistryService.ListFeatureMonitorJobs.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse", +"properties": { +"featureMonitorJobs": { +"description": "The FeatureMonitorJobs matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureMonitorJobsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse": { +"description": "Response message for FeatureRegistryService.ListFeatureMonitors.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse", +"properties": { +"featureMonitors": { +"description": "The FeatureMonitors matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureMonitorsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse", +"properties": { +"featureOnlineStores": { +"description": "The FeatureOnlineStores matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureViewSyncsResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViewSyncs.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureViewSyncsResponse", +"properties": { +"featureViewSyncs": { +"description": "The FeatureViewSyncs matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSync" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeatureViewsResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViews.", +"id": "GoogleCloudAiplatformV1beta1ListFeatureViewsResponse", +"properties": { +"featureViews": { +"description": "The FeatureViews matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeaturesResponse": { +"description": "Response message for FeaturestoreService.ListFeatures. Response message for FeatureRegistryService.ListFeatures.", +"id": "GoogleCloudAiplatformV1beta1ListFeaturesResponse", +"properties": { +"features": { +"description": "The Features matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListFeaturestoresResponse": { +"description": "Response message for FeaturestoreService.ListFeaturestores.", +"id": "GoogleCloudAiplatformV1beta1ListFeaturestoresResponse", +"properties": { +"featurestores": { +"description": "The Featurestores matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListHyperparameterTuningJobsResponse": { +"description": "Response message for JobService.ListHyperparameterTuningJobs", +"id": "GoogleCloudAiplatformV1beta1ListHyperparameterTuningJobsResponse", +"properties": { +"hyperparameterTuningJobs": { +"description": "List of HyperparameterTuningJobs in the requested page. HyperparameterTuningJob.trials of the jobs will be not be returned.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListHyperparameterTuningJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListIndexEndpointsResponse": { +"description": "Response message for IndexEndpointService.ListIndexEndpoints.", +"id": "GoogleCloudAiplatformV1beta1ListIndexEndpointsResponse", +"properties": { +"indexEndpoints": { +"description": "List of IndexEndpoints in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListIndexEndpointsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListIndexesResponse": { +"description": "Response message for IndexService.ListIndexes.", +"id": "GoogleCloudAiplatformV1beta1ListIndexesResponse", +"properties": { +"indexes": { +"description": "List of indexes in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListIndexesRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListMetadataSchemasResponse": { +"description": "Response message for MetadataService.ListMetadataSchemas.", +"id": "GoogleCloudAiplatformV1beta1ListMetadataSchemasResponse", +"properties": { +"metadataSchemas": { +"description": "The MetadataSchemas found for the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListMetadataStoresResponse": { +"description": "Response message for MetadataService.ListMetadataStores.", +"id": "GoogleCloudAiplatformV1beta1ListMetadataStoresResponse", +"properties": { +"metadataStores": { +"description": "The MetadataStores found for the Location.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelDeploymentMonitoringJobsResponse": { +"description": "Response message for JobService.ListModelDeploymentMonitoringJobs.", +"id": "GoogleCloudAiplatformV1beta1ListModelDeploymentMonitoringJobsResponse", +"properties": { +"modelDeploymentMonitoringJobs": { +"description": "A list of ModelDeploymentMonitoringJobs that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelEvaluationSlicesResponse": { +"description": "Response message for ModelService.ListModelEvaluationSlices.", +"id": "GoogleCloudAiplatformV1beta1ListModelEvaluationSlicesResponse", +"properties": { +"modelEvaluationSlices": { +"description": "List of ModelEvaluations in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelEvaluationSlicesRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelEvaluationsResponse": { +"description": "Response message for ModelService.ListModelEvaluations.", +"id": "GoogleCloudAiplatformV1beta1ListModelEvaluationsResponse", +"properties": { +"modelEvaluations": { +"description": "List of ModelEvaluations in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelEvaluationsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelMonitoringJobsResponse": { +"description": "Response message for ModelMonitoringService.ListModelMonitoringJobs.", +"id": "GoogleCloudAiplatformV1beta1ListModelMonitoringJobsResponse", +"properties": { +"modelMonitoringJobs": { +"description": "A list of ModelMonitoringJobs that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelMonitorsResponse": { +"description": "Response message for ModelMonitoringService.ListModelMonitors", +"id": "GoogleCloudAiplatformV1beta1ListModelMonitorsResponse", +"properties": { +"modelMonitors": { +"description": "List of ModelMonitor in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListModelMonitorsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelVersionsResponse": { +"description": "Response message for ModelService.ListModelVersions", +"id": "GoogleCloudAiplatformV1beta1ListModelVersionsResponse", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListModelVersionsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListModelsResponse": { +"description": "Response message for ModelService.ListModels", +"id": "GoogleCloudAiplatformV1beta1ListModelsResponse", +"properties": { +"models": { +"description": "List of Models in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListNasJobsResponse": { +"description": "Response message for JobService.ListNasJobs", +"id": "GoogleCloudAiplatformV1beta1ListNasJobsResponse", +"properties": { +"nasJobs": { +"description": "List of NasJobs in the requested page. NasJob.nas_job_output of the jobs will not be returned.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListNasJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListNasTrialDetailsResponse": { +"description": "Response message for JobService.ListNasTrialDetails", +"id": "GoogleCloudAiplatformV1beta1ListNasTrialDetailsResponse", +"properties": { +"nasTrialDetails": { +"description": "List of top NasTrials in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrialDetail" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListNasTrialDetailsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse": { +"description": "Response message for [NotebookService.CreateNotebookExecutionJob]", +"id": "GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookExecutionJobs": { +"description": "List of NotebookExecutionJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListNotebookRuntimeTemplatesResponse": { +"description": "Response message for NotebookService.ListNotebookRuntimeTemplates.", +"id": "GoogleCloudAiplatformV1beta1ListNotebookRuntimeTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookRuntimeTemplates": { +"description": "List of NotebookRuntimeTemplates in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListNotebookRuntimesResponse": { +"description": "Response message for NotebookService.ListNotebookRuntimes.", +"id": "GoogleCloudAiplatformV1beta1ListNotebookRuntimesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookRuntimesRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookRuntimes": { +"description": "List of NotebookRuntimes in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntime" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListOptimalTrialsRequest": { +"description": "Request message for VizierService.ListOptimalTrials.", +"id": "GoogleCloudAiplatformV1beta1ListOptimalTrialsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListOptimalTrialsResponse": { +"description": "Response message for VizierService.ListOptimalTrials.", +"id": "GoogleCloudAiplatformV1beta1ListOptimalTrialsResponse", +"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", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListPersistentResourcesResponse": { +"description": "Response message for PersistentResourceService.ListPersistentResources", +"id": "GoogleCloudAiplatformV1beta1ListPersistentResourcesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListPersistentResourcesRequest.page_token to obtain that page.", +"type": "string" +}, +"persistentResources": { +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListPipelineJobsResponse": { +"description": "Response message for PipelineService.ListPipelineJobs", +"id": "GoogleCloudAiplatformV1beta1ListPipelineJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListPipelineJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"pipelineJobs": { +"description": "List of PipelineJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListPublisherModelsResponse": { +"description": "Response message for ModelGardenService.ListPublisherModels.", +"id": "GoogleCloudAiplatformV1beta1ListPublisherModelsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListPublisherModels.page_token to obtain that page.", +"type": "string" +}, +"publisherModels": { +"description": "List of PublisherModels in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListRagCorporaResponse": { +"description": "Response message for VertexRagDataService.ListRagCorpora.", +"id": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", +"type": "string" +}, +"ragCorpora": { +"description": "List of RagCorpora in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListRagFilesResponse": { +"description": "Response message for VertexRagDataService.ListRagFiles.", +"id": "GoogleCloudAiplatformV1beta1ListRagFilesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", +"type": "string" +}, +"ragFiles": { +"description": "List of RagFiles in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RagFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse": { +"description": "Response message for ReasoningEngineService.ListReasoningEngines", +"id": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page.", +"type": "string" +}, +"reasoningEngines": { +"description": "List of ReasoningEngines in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListSavedQueriesResponse": { +"description": "Response message for DatasetService.ListSavedQueries.", +"id": "GoogleCloudAiplatformV1beta1ListSavedQueriesResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"savedQueries": { +"description": "A list of SavedQueries that match the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SavedQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListSchedulesResponse": { +"description": "Response message for ScheduleService.ListSchedules", +"id": "GoogleCloudAiplatformV1beta1ListSchedulesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListSchedulesRequest.page_token to obtain that page.", +"type": "string" +}, +"schedules": { +"description": "List of Schedules in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListSpecialistPoolsResponse": { +"description": "Response message for SpecialistPoolService.ListSpecialistPools.", +"id": "GoogleCloudAiplatformV1beta1ListSpecialistPoolsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"specialistPools": { +"description": "A list of SpecialistPools that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListStudiesResponse": { +"description": "Response message for VizierService.ListStudies.", +"id": "GoogleCloudAiplatformV1beta1ListStudiesResponse", +"properties": { +"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" +}, +"studies": { +"description": "The studies associated with the project.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Study" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse": { +"description": "Response message for TensorboardService.ListTensorboardExperiments.", +"id": "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse", +"properties": { +"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" +}, +"tensorboardExperiments": { +"description": "The TensorboardExperiments mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTensorboardRunsResponse": { +"description": "Response message for TensorboardService.ListTensorboardRuns.", +"id": "GoogleCloudAiplatformV1beta1ListTensorboardRunsResponse", +"properties": { +"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" +}, +"tensorboardRuns": { +"description": "The TensorboardRuns mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTensorboardTimeSeriesResponse": { +"description": "Response message for TensorboardService.ListTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1ListTensorboardTimeSeriesResponse", +"properties": { +"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" +}, +"tensorboardTimeSeries": { +"description": "The TensorboardTimeSeries mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTensorboardsResponse": { +"description": "Response message for TensorboardService.ListTensorboards.", +"id": "GoogleCloudAiplatformV1beta1ListTensorboardsResponse", +"properties": { +"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" +}, +"tensorboards": { +"description": "The Tensorboards mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTrainingPipelinesResponse": { +"description": "Response message for PipelineService.ListTrainingPipelines", +"id": "GoogleCloudAiplatformV1beta1ListTrainingPipelinesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTrainingPipelinesRequest.page_token to obtain that page.", +"type": "string" +}, +"trainingPipelines": { +"description": "List of TrainingPipelines in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTrialsResponse": { +"description": "Response message for VizierService.ListTrials.", +"id": "GoogleCloudAiplatformV1beta1ListTrialsResponse", +"properties": { +"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" +}, +"trials": { +"description": "The Trials associated with the Study.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTuningJobsResponse": { +"description": "Response message for GenAiTuningService.ListTuningJobs", +"id": "GoogleCloudAiplatformV1beta1ListTuningJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"tuningJobs": { +"description": "List of TuningJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LogprobsResult": { +"description": "Logprobs Result", +"id": "GoogleCloudAiplatformV1beta1LogprobsResult", +"properties": { +"chosenCandidates": { +"description": "Length = total number of decoding steps. The chosen candidates may or may not be in top_candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1LogprobsResultCandidate" +}, +"type": "array" +}, +"topCandidates": { +"description": "Length = total number of decoding steps.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LogprobsResultCandidate": { +"description": "Candidate for the logprobs token and score.", +"id": "GoogleCloudAiplatformV1beta1LogprobsResultCandidate", +"properties": { +"logProbability": { +"description": "The candidate's log probability.", +"format": "float", +"type": "number" +}, +"token": { +"description": "The candidate's token string value.", +"type": "string" +}, +"tokenId": { +"description": "The candidate's token id value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates": { +"description": "Candidates with top log probabilities at each decoding step.", +"id": "GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates", +"properties": { +"candidates": { +"description": "Sorted by log probability in descending order.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1LogprobsResultCandidate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1LookupStudyRequest": { +"description": "Request message for VizierService.LookupStudy.", +"id": "GoogleCloudAiplatformV1beta1LookupStudyRequest", +"properties": { +"displayName": { +"description": "Required. The user-defined display name of the Study", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MachineSpec": { +"description": "Specification of a single machine.", +"id": "GoogleCloudAiplatformV1beta1MachineSpec", +"properties": { +"acceleratorCount": { +"description": "The number of accelerators to attach to the machine.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.", +"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", +"TPU_V2", +"TPU_V3", +"TPU_V4_POD", +"TPU_V5_LITEPOD" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"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.", +"TPU v2.", +"TPU v3.", +"TPU v4.", +"TPU v5." +], +"type": "string" +}, +"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" +}, +"reservationAffinity": { +"$ref": "GoogleCloudAiplatformV1beta1ReservationAffinity", +"description": "Optional. Immutable. Configuration controlling how this resource pool consumes reservation." +}, +"tpuTopology": { +"description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ManualBatchTuningParameters": { +"description": "Manual batch tuning parameters.", +"id": "GoogleCloudAiplatformV1beta1ManualBatchTuningParameters", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Measurement": { +"description": "A message representing a Measurement of a Trial. A Measurement contains the Metrics got by executing a Trial using suggested hyperparameter values.", +"id": "GoogleCloudAiplatformV1beta1Measurement", +"properties": { +"elapsedDuration": { +"description": "Output only. Time that the Trial has been running at the point of this Measurement.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"metrics": { +"description": "Output only. A list of metrics got by evaluating the objective functions using suggested Parameter values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MeasurementMetric" +}, +"readOnly": true, +"type": "array" +}, +"stepCount": { +"description": "Output only. The number of steps the machine learning model has been trained for. Must be non-negative.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MeasurementMetric": { +"description": "A message representing a metric in the measurement.", +"id": "GoogleCloudAiplatformV1beta1MeasurementMetric", +"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.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MergeVersionAliasesRequest": { +"description": "Request message for ModelService.MergeVersionAliases.", +"id": "GoogleCloudAiplatformV1beta1MergeVersionAliasesRequest", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetadataSchema": { +"description": "Instance of a general MetadataSchema.", +"id": "GoogleCloudAiplatformV1beta1MetadataSchema", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this MetadataSchema was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Metadata Schema", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the MetadataSchema.", +"readOnly": true, +"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.", +"enum": [ +"METADATA_SCHEMA_TYPE_UNSPECIFIED", +"ARTIFACT_TYPE", +"EXECUTION_TYPE", +"CONTEXT_TYPE" +], +"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." +], +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetadataStore": { +"description": "Instance of a metadata store. Contains a set of metadata that can be queried.", +"id": "GoogleCloudAiplatformV1beta1MetadataStore", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this MetadataStore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataplexConfig": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStoreDataplexConfig", +"description": "Optional. Dataplex integration settings." +}, +"description": { +"description": "Description of the MetadataStore.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"name": { +"description": "Output only. The resource name of the MetadataStore instance.", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStoreMetadataStoreState", +"description": "Output only. State information of the MetadataStore.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this MetadataStore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetadataStoreDataplexConfig": { +"description": "Represents Dataplex integration settings.", +"id": "GoogleCloudAiplatformV1beta1MetadataStoreDataplexConfig", +"properties": { +"enabledPipelinesLineage": { +"description": "Optional. Whether or not Data Lineage synchronization is enabled for Vertex Pipelines.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetadataStoreMetadataStoreState": { +"description": "Represents state information for a MetadataStore.", +"id": "GoogleCloudAiplatformV1beta1MetadataStoreMetadataStoreState", +"properties": { +"diskUtilizationBytes": { +"description": "The disk utilization of the MetadataStore in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetricxInput": { +"description": "Input for MetricX metric.", +"id": "GoogleCloudAiplatformV1beta1MetricxInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1MetricxInstance", +"description": "Required. Metricx instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MetricxSpec", +"description": "Required. Spec for Metricx metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetricxInstance": { +"description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", +"id": "GoogleCloudAiplatformV1beta1MetricxInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetricxResult": { +"description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", +"id": "GoogleCloudAiplatformV1beta1MetricxResult", +"properties": { +"score": { +"description": "Output only. MetricX score. Range depends on version.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MetricxSpec": { +"description": "Spec for MetricX metric.", +"id": "GoogleCloudAiplatformV1beta1MetricxSpec", +"properties": { +"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" +}, +"version": { +"description": "Required. Which version to use for evaluation.", +"enum": [ +"METRICX_VERSION_UNSPECIFIED", +"METRICX_24_REF", +"METRICX_24_SRC", +"METRICX_24_SRC_REF" +], +"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)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResource": { +"description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResource", +"properties": { +"automlDataset": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResourceAutomlDataset", +"description": "Output only. Represents one Dataset in automl.googleapis.com.", +"readOnly": true +}, +"automlModel": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResourceAutomlModel", +"description": "Output only. Represents one Model in automl.googleapis.com.", +"readOnly": true +}, +"dataLabelingDataset": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDataset", +"description": "Output only. Represents one Dataset in datalabeling.googleapis.com.", +"readOnly": true +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastUpdateTime": { +"description": "Output only. Timestamp when this MigratableResource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"mlEngineModelVersion": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResourceMlEngineModelVersion", +"description": "Output only. Represents one Version in ml.googleapis.com.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResourceAutomlDataset": { +"description": "Represents one Dataset in automl.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResourceAutomlDataset", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResourceAutomlModel": { +"description": "Represents one Model in automl.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResourceAutomlModel", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDataset": { +"description": "Represents one Dataset in datalabeling.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDataset", +"properties": { +"dataLabelingAnnotatedDatasets": { +"description": "The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to the data labeling Dataset.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset": { +"description": "Represents one AnnotatedDataset in datalabeling.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigratableResourceMlEngineModelVersion": { +"description": "Represents one model Version in ml.googleapis.com.", +"id": "GoogleCloudAiplatformV1beta1MigratableResourceMlEngineModelVersion", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequest": { +"description": "Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequest", +"properties": { +"migrateAutomlDatasetConfig": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlDatasetConfig", +"description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset." +}, +"migrateAutomlModelConfig": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlModelConfig", +"description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model." +}, +"migrateDataLabelingDatasetConfig": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfig", +"description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset." +}, +"migrateMlEngineModelVersionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateMlEngineModelVersionConfig", +"description": "Config for migrating Version in ml.googleapis.com to Vertex AI's Model." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlDatasetConfig": { +"description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlDatasetConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlModelConfig": { +"description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateAutomlModelConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfig": { +"description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfig", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig": { +"description": "Config for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig", +"properties": { +"annotatedDataset": { +"description": "Required. Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateMlEngineModelVersionConfig": { +"description": "Config for migrating version in ml.googleapis.com to Vertex AI's Model.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceRequestMigrateMlEngineModelVersionConfig", +"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" +}, +"modelDisplayName": { +"description": "Required. Display name of the model in Vertex AI. System will pick a display name if unspecified.", +"type": "string" +}, +"modelVersion": { +"description": "Required. Full resource name of ml engine model version. Format: `projects/{project}/models/{model}/versions/{version}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MigrateResourceResponse": { +"description": "Describes a successfully migrated resource.", +"id": "GoogleCloudAiplatformV1beta1MigrateResourceResponse", +"properties": { +"dataset": { +"description": "Migrated Dataset's resource name.", +"type": "string" +}, +"migratableResource": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResource", +"description": "Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or datalabeling.googleapis.com." +}, +"model": { +"description": "Migrated Model's resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Model": { +"description": "A trained machine learning Model.", +"id": "GoogleCloudAiplatformV1beta1Model", +"properties": { +"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" +}, +"baseModelSource": { +"$ref": "GoogleCloudAiplatformV1beta1ModelBaseModelSource", +"description": "Optional. User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models." +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelContainerSpec", +"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." +}, +"createTime": { +"description": "Output only. Timestamp when this Model was uploaded into Vertex AI.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployedModels": { +"description": "Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModelRef" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Model.", +"type": "string" +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"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." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"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" +}, +"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" +}, +"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" +}, +"modelSourceInfo": { +"$ref": "GoogleCloudAiplatformV1beta1ModelSourceInfo", +"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 +}, +"name": { +"description": "The resource name of the Model.", +"type": "string" +}, +"originalModelInfo": { +"$ref": "GoogleCloudAiplatformV1beta1ModelOriginalModelInfo", +"description": "Output only. If this Model is a copy of another Model, this contains info about the original.", +"readOnly": true +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1beta1PredictSchemata", +"description": "The schemata that describe formats of the Model's predictions and explanations as given and returned via PredictionService.Predict and PredictionService.Explain." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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.", +"items": { +"enum": [ +"DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED", +"DEDICATED_RESOURCES", +"AUTOMATIC_RESOURCES", +"SHARED_RESOURCES" +], +"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." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"supportedExportFormats": { +"description": "Output only. The formats in which this Model may be exported. If empty, this Model is not available for export.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelExportFormat" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"trainingPipeline": { +"description": "Output only. The resource name of the TrainingPipeline that uploaded this Model, if any.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Model was most recently updated.", +"format": "google-datetime", +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCreateTime": { +"description": "Output only. Timestamp when this version was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionDescription": { +"description": "The description of this version.", +"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" +}, +"versionUpdateTime": { +"description": "Output only. Timestamp when this version was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelBaseModelSource": { +"description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", +"id": "GoogleCloudAiplatformV1beta1ModelBaseModelSource", +"properties": { +"genieSource": { +"$ref": "GoogleCloudAiplatformV1beta1GenieSource", +"description": "Information about the base model of Genie models." +}, +"modelGardenSource": { +"$ref": "GoogleCloudAiplatformV1beta1ModelGardenSource", +"description": "Source information of Model Garden models." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelContainerSpec": { +"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).", +"id": "GoogleCloudAiplatformV1beta1ModelContainerSpec", +"properties": { +"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).", +"items": { +"type": "string" +}, +"type": "array" +}, +"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).", +"items": { +"type": "string" +}, +"type": "array" +}, +"deploymentTimeout": { +"description": "Immutable. Deployment timeout. Limit for deployment timeout is 2 hours.", +"format": "google-duration", +"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).", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EnvVar" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Port" +}, +"type": "array" +}, +"healthProbe": { +"$ref": "GoogleCloudAiplatformV1beta1Probe", +"description": "Immutable. Specification for Kubernetes readiness probe." +}, +"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" +}, +"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" +}, +"livenessProbe": { +"$ref": "GoogleCloudAiplatformV1beta1Probe", +"description": "Immutable. Specification for Kubernetes liveness probe." +}, +"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).", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Port" +}, +"type": "array" +}, +"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" +}, +"sharedMemorySizeMb": { +"description": "Immutable. The amount of the VM memory to reserve as the shared memory for the model in megabytes.", +"format": "int64", +"type": "string" +}, +"startupProbe": { +"$ref": "GoogleCloudAiplatformV1beta1Probe", +"description": "Immutable. Specification for Kubernetes startup probe." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringBigQueryTable": { +"description": "ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name as well as some information of the logs stored in this table.", +"id": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringBigQueryTable", +"properties": { +"bigqueryTablePath": { +"description": "The created BigQuery table to store logs. Customer could do their own query & analysis. Format: `bq://.model_deployment_monitoring_._`", +"type": "string" +}, +"logSource": { +"description": "The source of log.", +"enum": [ +"LOG_SOURCE_UNSPECIFIED", +"TRAINING", +"SERVING" +], +"enumDescriptions": [ +"Unspecified source.", +"Logs coming from Training dataset.", +"Logs coming from Serving traffic." +], +"type": "string" +}, +"logType": { +"description": "The type of log.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"PREDICT", +"EXPLAIN" +], +"enumDescriptions": [ +"Unspecified type.", +"Predict logs.", +"Explain logs." +], +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob", +"properties": { +"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", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringBigQueryTable" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was created.", +"format": "google-datetime", +"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" +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endpoint": { +"description": "Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"latestMonitoringPipelineMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", +"description": "Output only. Latest triggered monitoring pipeline metadata.", +"readOnly": true +}, +"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.", +"format": "google-duration", +"type": "string" +}, +"loggingSamplingStrategy": { +"$ref": "GoogleCloudAiplatformV1beta1SamplingStrategy", +"description": "Required. Sample Strategy for logging." +}, +"modelDeploymentMonitoringObjectiveConfigs": { +"description": "Required. The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringObjectiveConfig" +}, +"type": "array" +}, +"modelDeploymentMonitoringScheduleConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringScheduleConfig", +"description": "Required. Schedule config for running the monitoring job." +}, +"modelMonitoringAlertConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfig", +"description": "Alert config for model monitoring." +}, +"name": { +"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", +"readOnly": true, +"type": "string" +}, +"nextScheduleTime": { +"description": "Output only. Timestamp when this monitoring pipeline will be scheduled to run for the next round.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scheduleState": { +"description": "Output only. Schedule state when the monitoring job is in Running state.", +"enum": [ +"MONITORING_SCHEDULE_STATE_UNSPECIFIED", +"PENDING", +"OFFLINE", +"RUNNING" +], +"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." +], +"readOnly": true, +"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'.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"statsAnomaliesBaseDirectory": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Stats anomalies base folder path." +}, +"updateTime": { +"description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata": { +"description": "All metadata of most recent monitoring pipelines.", +"id": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", +"properties": { +"runTime": { +"description": "The time that most recent monitoring pipelines that is related to this run.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the most recent monitoring pipeline." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringObjectiveConfig": { +"description": "ModelDeploymentMonitoringObjectiveConfig contains the pair of deployed_model_id to ModelMonitoringObjectiveConfig.", +"id": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringObjectiveConfig", +"properties": { +"deployedModelId": { +"description": "The DeployedModel ID of the objective config.", +"type": "string" +}, +"objectiveConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfig", +"description": "The objective config of for the modelmonitoring job of this deployed model." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringScheduleConfig": { +"description": "The config for scheduling monitoring job.", +"id": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringScheduleConfig", +"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.", +"format": "google-duration", +"type": "string" +}, +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluation": { +"description": "A collection of metrics calculated by comparing Model's predictions on all of the test data against annotations from the test data.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluation", +"properties": { +"biasConfigs": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationBiasConfig", +"description": "Specify the configuration for bias detection." +}, +"createTime": { +"description": "Output only. Timestamp when this ModelEvaluation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name of the ModelEvaluation.", +"type": "string" +}, +"explanationSpecs": { +"description": "Describes the values of ExplanationSpec that are used for explaining the predicted values on the evaluated data.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationModelEvaluationExplanationSpec" +}, +"type": "array" +}, +"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" +}, +"metrics": { +"description": "Evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", +"type": "any" +}, +"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" +}, +"modelExplanation": { +"$ref": "GoogleCloudAiplatformV1beta1ModelExplanation", +"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. " +}, +"name": { +"description": "Output only. The resource name of the ModelEvaluation.", +"readOnly": true, +"type": "string" +}, +"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 = `.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationBiasConfig": { +"description": "Configuration for bias detection.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationBiasConfig", +"properties": { +"biasSlices": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpec", +"description": "Specification for how the data should be sliced for bias. It contains a list of slices, with limitation of two slices. The first slice of data will be the slice_a. The second slice in the list (slice_b) will be compared against the first slice. If only a single slice is provided, then slice_a will be compared against \"not slice_a\". Below are examples with feature \"education\" with value \"low\", \"medium\", \"high\" in the dataset: Example 1: bias_slices = [{'education': 'low'}] A single slice provided. In this case, slice_a is the collection of data with 'education' equals 'low', and slice_b is the collection of data with 'education' equals 'medium' or 'high'. Example 2: bias_slices = [{'education': 'low'}, {'education': 'high'}] Two slices provided. In this case, slice_a is the collection of data with 'education' equals 'low', and slice_b is the collection of data with 'education' equals 'high'." +}, +"labels": { +"description": "Positive labels selection on the target field.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationModelEvaluationExplanationSpec": { +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationModelEvaluationExplanationSpec", +"properties": { +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"description": "Explanation spec details." +}, +"explanationType": { +"description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSlice": { +"description": "A collection of metrics calculated by comparing Model's predictions on a slice of the test data against ground truth annotations.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ModelEvaluationSlice was created.", +"format": "google-datetime", +"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" +}, +"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" +}, +"modelExplanation": { +"$ref": "GoogleCloudAiplatformV1beta1ModelExplanation", +"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 +}, +"name": { +"description": "Output only. The resource name of the ModelEvaluationSlice.", +"readOnly": true, +"type": "string" +}, +"slice": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSlice", +"description": "Output only. The slice of the test data that is used to evaluate the Model.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSliceSlice": { +"description": "Definition of a slice.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSlice", +"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" +}, +"sliceSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpec", +"description": "Output only. Specification for how the data was sliced.", +"readOnly": true +}, +"value": { +"description": "Output only. The value of the dimension in this slice.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpec": { +"description": "Specification for how the data should be sliced.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpec", +"properties": { +"configs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecSliceConfig" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecRange": { +"description": "A range of values for slice(s). `low` is inclusive, `high` is exclusive.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecRange", +"properties": { +"high": { +"description": "Exclusive high value for the range.", +"format": "float", +"type": "number" +}, +"low": { +"description": "Inclusive low value for the range.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecSliceConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecSliceConfig", +"properties": { +"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" +}, +"range": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecRange", +"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." +}, +"value": { +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecValue", +"description": "A unique specific value for a given feature. Example: `{ \"value\": { \"string_value\": \"12345\" } }`" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecValue": { +"description": "Single value that supports strings and floats.", +"id": "GoogleCloudAiplatformV1beta1ModelEvaluationSliceSliceSliceSpecValue", +"properties": { +"floatValue": { +"description": "Float type.", +"format": "float", +"type": "number" +}, +"stringValue": { +"description": "String type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelExplanation": { +"description": "Aggregated explanation metrics for a Model over a set of instances.", +"id": "GoogleCloudAiplatformV1beta1ModelExplanation", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Attribution" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelExportFormat": { +"description": "Represents export format supported by the Model. All formats export to Google Cloud Storage.", +"id": "GoogleCloudAiplatformV1beta1ModelExportFormat", +"properties": { +"exportableContents": { +"description": "Output only. The content of this Model that may be exported.", +"items": { +"enum": [ +"EXPORTABLE_CONTENT_UNSPECIFIED", +"ARTIFACT", +"IMAGE" +], +"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." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelGardenSource": { +"description": "Contains information about the source of the models generated from Model Garden.", +"id": "GoogleCloudAiplatformV1beta1ModelGardenSource", +"properties": { +"publicModelName": { +"description": "Required. The model garden source model resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitor": { +"description": "Vertex AI Model Monitoring Service serves as a central hub for the analysis and visualization of data quality and performance related to models. ModelMonitor stands as a top level resource for overseeing your model monitoring tasks.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitor", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ModelMonitor was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name of the ModelMonitor. The name can be up to 128 characters long and can consist of any UTF-8.", +"type": "string" +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"description": "Optional model explanation spec. It is used for feature attribution monitoring." +}, +"modelMonitoringSchema": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringSchema", +"description": "Monitoring Schema is to specify the model's features, prediction outputs and ground truth properties. It is used to extract pertinent data from the dataset and to process features based on their properties. Make sure that the schema aligns with your dataset, if it does not, we will be unable to extract data from the dataset. It is required for most models, but optional for Vertex AI AutoML Tables unless the schem information is not available." +}, +"modelMonitoringTarget": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTarget", +"description": "The entity that is subject to analysis. Currently only models in Vertex AI Model Registry are supported. If you want to analyze the model which is outside the Vertex AI, you could register a model in Vertex AI Model Registry using just a display name." +}, +"name": { +"description": "Immutable. Resource name of the ModelMonitor. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`.", +"type": "string" +}, +"notificationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpec", +"description": "Optional default notification spec, it can be overridden in the ModelMonitoringJob notification spec." +}, +"outputSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringOutputSpec", +"description": "Optional default monitoring metrics/logs export spec, it can be overridden in the ModelMonitoringJob output spec. If not specified, a default Google Cloud Storage bucket will be created under your project." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"tabularObjective": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecTabularObjective", +"description": "Optional default tabular model monitoring objective." +}, +"trainingDataset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInput", +"description": "Optional training dataset used to train the model. It can serve as a reference dataset to identify changes in production." +}, +"updateTime": { +"description": "Output only. Timestamp when this ModelMonitor was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTarget": { +"description": "The monitoring target refers to the entity that is subject to analysis. e.g. Vertex AI Model version.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTarget", +"properties": { +"vertexModel": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTargetVertexModelSource", +"description": "Model in Vertex AI Model Registry." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTargetVertexModelSource": { +"description": "Model in Vertex AI Model Registry.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitorModelMonitoringTargetVertexModelSource", +"properties": { +"model": { +"description": "Model resource name. Format: projects/{project}/locations/{location}/models/{model}.", +"type": "string" +}, +"modelVersionId": { +"description": "Model version id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAlert": { +"description": "Represents a single monitoring alert. This is currently used in the SearchModelMonitoringAlerts api, thus the alert wrapped in this message belongs to the resource asked in the request.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAlert", +"properties": { +"alertTime": { +"description": "Alert creation time.", +"format": "google-datetime", +"type": "string" +}, +"anomaly": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAnomaly", +"description": "Anomaly details." +}, +"objectiveType": { +"description": "One of the supported monitoring objectives: `raw-feature-drift` `prediction-output-drift` `feature-attribution`", +"type": "string" +}, +"statsName": { +"description": "The stats name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition": { +"description": "Monitoring alert triggered condition.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition", +"properties": { +"threshold": { +"description": "A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfig": { +"description": "The alert config for model monitoring.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfig", +"properties": { +"emailAlertConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfigEmailAlertConfig", +"description": "Email alert config." +}, +"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/`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfigEmailAlertConfig": { +"description": "The config for email alert.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfigEmailAlertConfig", +"properties": { +"userEmails": { +"description": "The email addresses to send the alert.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAnomaly": { +"description": "Represents a single model monitoring anomaly.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAnomaly", +"properties": { +"algorithm": { +"description": "Algorithm used to calculated the metrics, eg: jensen_shannon_divergence, l_infinity.", +"type": "string" +}, +"modelMonitoringJob": { +"description": "Model monitoring job resource name.", +"type": "string" +}, +"tabularAnomaly": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAnomalyTabularAnomaly", +"description": "Tabular anomaly." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringAnomalyTabularAnomaly": { +"description": "Tabular anomaly details.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringAnomalyTabularAnomaly", +"properties": { +"anomaly": { +"description": "Anomaly body.", +"type": "any" +}, +"anomalyUri": { +"description": "Additional anomaly information. e.g. Google Cloud Storage uri.", +"type": "string" +}, +"condition": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition", +"description": "The alert condition associated with this anomaly." +}, +"summary": { +"description": "Overview of this anomaly.", +"type": "string" +}, +"triggerTime": { +"description": "The time the anomaly was triggered.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringConfig": { +"description": "The model monitoring configuration used for Batch Prediction Job.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringConfig", +"properties": { +"alertConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfig", +"description": "Model monitoring alert config." +}, +"analysisInstanceSchemaUri": { +"description": "YAML schema file uri in Cloud Storage describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. 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" +}, +"objectiveConfigs": { +"description": "Model monitoring objective config.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfig" +}, +"type": "array" +}, +"statsAnomaliesBaseDirectory": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "A Google Cloud Storage location for batch prediction model monitoring to dump statistics and anomalies. If not provided, a folder will be created in customer project to hold statistics and anomalies." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInput": { +"description": "Model monitoring data input spec.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInput", +"properties": { +"batchPredictionOutput": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputBatchPredictionOutput", +"description": "Vertex AI Batch prediction Job." +}, +"columnizedDataset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDataset", +"description": "Columnized dataset." +}, +"timeInterval": { +"$ref": "GoogleTypeInterval", +"description": "The time interval (pair of start_time and end_time) for which results should be returned." +}, +"timeOffset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputTimeOffset", +"description": "The time offset setting for which results should be returned." +}, +"vertexEndpointLogs": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputVertexEndpointLogs", +"description": "Vertex AI Endpoint request & response logging." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputBatchPredictionOutput": { +"description": "Data from Vertex AI Batch prediction job output.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputBatchPredictionOutput", +"properties": { +"batchPredictionJob": { +"description": "Vertex AI Batch prediction job resource name. The job must match the model version specified in [ModelMonitor].[model_monitoring_target].", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDataset": { +"description": "Input dataset spec.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDataset", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringBigQuerySource", +"description": "BigQuery data source." +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSource", +"description": "Google Cloud Storage data source." +}, +"timestampField": { +"description": "The timestamp field. Usually for serving data.", +"type": "string" +}, +"vertexDataset": { +"description": "Resource name of the Vertex AI managed dataset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringBigQuerySource": { +"description": "Dataset spec for data sotred in BigQuery.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringBigQuerySource", +"properties": { +"query": { +"description": "Standard SQL to be used instead of the `table_uri`.", +"type": "string" +}, +"tableUri": { +"description": "BigQuery URI to a table, up to 2000 characters long. All the columns in the table will be selected. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSource": { +"description": "Dataset spec for data stored in Google Cloud Storage.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSource", +"properties": { +"format": { +"description": "Data format of the dataset.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"CSV", +"TF_RECORD", +"JSONL" +], +"enumDescriptions": [ +"Data format unspecified, used when this field is unset.", +"CSV files.", +"TfRecord files", +"JsonL files." +], +"type": "string" +}, +"gcsUri": { +"description": "Google Cloud Storage URI to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputTimeOffset": { +"description": "Time offset setting.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputTimeOffset", +"properties": { +"offset": { +"description": "[offset] is the time difference from the cut-off time. For scheduled jobs, the cut-off time is the scheduled time. For non-scheduled jobs, it's the time when the job was created. Currently we support the following format: 'w|W': Week, 'd|D': Day, 'h|H': Hour E.g. '1h' stands for 1 hour, '2d' stands for 2 days.", +"type": "string" +}, +"window": { +"description": "[window] refers to the scope of data selected for analysis. It allows you to specify the quantity of data you wish to examine. Currently we support the following format: 'w|W': Week, 'd|D': Day, 'h|H': Hour E.g. '1h' stands for 1 hour, '2d' stands for 2 days.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringInputVertexEndpointLogs": { +"description": "Data from Vertex AI Endpoint request response logging.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringInputVertexEndpointLogs", +"properties": { +"endpoints": { +"description": "List of endpoint resource names. The endpoints must enable the logging with the [Endpoint].[request_response_logging_config], and must contain the deployed model corresponding to the model version specified in [ModelMonitor].[model_monitoring_target].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringJob": { +"description": "Represents a model monitoring job that analyze dataset using different monitoring algorithm.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringJob", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ModelMonitoringJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name of the ModelMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8.", +"type": "string" +}, +"jobExecutionDetail": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetail", +"description": "Output only. Execution results for all the monitoring objectives.", +"readOnly": true +}, +"modelMonitoringSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringSpec", +"description": "Monitoring monitoring job spec. It outlines the specifications for monitoring objectives, notifications, and result exports. If left blank, the default monitoring specifications from the top-level resource 'ModelMonitor' will be applied. If provided, we will use the specification defined here rather than the default one." +}, +"name": { +"description": "Output only. Resource name of a ModelMonitoringJob. Format: `projects/{project_id}/locations/{location_id}/modelMonitors/{model_monitor_id}/modelMonitoringJobs/{model_monitoring_job_id}`", +"readOnly": true, +"type": "string" +}, +"schedule": { +"description": "Output only. Schedule resource name. It will only appear when this job is triggered by a schedule.", +"readOnly": true, +"type": "string" +}, +"scheduleTime": { +"description": "Output only. Timestamp when this ModelMonitoringJob was scheduled. It will only appear when this job is triggered by a schedule.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the monitoring job. * When the job is still creating, the state will be 'JOB_STATE_PENDING'. * Once the job is successfully created, the state will be 'JOB_STATE_RUNNING'. * Once the job is finished, the state will be one of 'JOB_STATE_FAILED', 'JOB_STATE_SUCCEEDED', 'JOB_STATE_PARTIALLY_SUCCEEDED'.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this ModelMonitoringJob was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetail": { +"description": "Represent the execution details of the job.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetail", +"properties": { +"baselineDatasets": { +"description": "Processed baseline datasets.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetailProcessedDataset" +}, +"type": "array" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Additional job error status." +}, +"objectiveStatus": { +"additionalProperties": { +"$ref": "GoogleRpcStatus" +}, +"description": "Status of data processing for each monitoring objective. Key is the objective.", +"type": "object" +}, +"targetDatasets": { +"description": "Processed target datasets.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetailProcessedDataset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetailProcessedDataset": { +"description": "Processed dataset information.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringJobExecutionDetailProcessedDataset", +"properties": { +"location": { +"description": "Actual data location of the processed dataset.", +"type": "string" +}, +"timeRange": { +"$ref": "GoogleTypeInterval", +"description": "Dataset time range information if any." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpec": { +"description": "Notification spec(email, notification channel) for model monitoring statistics/alerts.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpec", +"properties": { +"emailConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecEmailConfig", +"description": "Email alert config." +}, +"enableCloudLogging": { +"description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can be further sinked to Pub/Sub or any other services supported by Cloud Logging.", +"type": "boolean" +}, +"notificationChannelConfigs": { +"description": "Notification channel config.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecNotificationChannelConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecEmailConfig": { +"description": "The config for email alerts.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecEmailConfig", +"properties": { +"userEmails": { +"description": "The email addresses to send the alerts.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecNotificationChannelConfig": { +"description": "Google Cloud Notification Channel config.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpecNotificationChannelConfig", +"properties": { +"notificationChannel": { +"description": "Resource names of the NotificationChannels. Must be of the format `projects//notificationChannels/`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfig": { +"description": "The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfig", +"properties": { +"explanationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfig", +"description": "The config for integrating with Vertex Explainable AI." +}, +"predictionDriftDetectionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", +"description": "The config for drift of prediction data." +}, +"trainingDataset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingDataset", +"description": "Training dataset for models. This field has to be set only if TrainingPredictionSkewDetectionConfig is specified." +}, +"trainingPredictionSkewDetectionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", +"description": "The config for skew between training data and prediction data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfig": { +"description": "The config for integrating with Vertex Explainable AI. Only applicable if the Model has explanation_spec populated.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfig", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", +"description": "Predictions generated by the BatchPredictionJob using baseline dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline": { +"description": "Output from BatchPredictionJob for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", +"properties": { +"bigquery": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"description": "BigQuery location for BatchExplain output." +}, +"gcs": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Cloud Storage location for BatchExplain output." +}, +"predictionFormat": { +"description": "The storage format of the predictions generated BatchPrediction job.", +"enum": [ +"PREDICTION_FORMAT_UNSPECIFIED", +"JSONL", +"BIGQUERY" +], +"enumDescriptions": [ +"Should not be set.", +"Predictions are in JSONL files.", +"Predictions are in BigQuery." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { +"description": "The config for Prediction data drift detection.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", +"properties": { +"attributionScoreDriftThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig" +}, +"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" +}, +"defaultDriftThreshold": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig", +"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." +}, +"driftThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingDataset": { +"description": "Training Dataset information.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingDataset", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1BigQuerySource", +"description": "The BigQuery table of the unmanaged Dataset used to train this Model." +}, +"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" +}, +"dataset": { +"description": "The resource name of the Dataset used to train this Model.", +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "The Google Cloud Storage uri of the unmanaged Dataset used to train this Model." +}, +"loggingSamplingStrategy": { +"$ref": "GoogleCloudAiplatformV1beta1SamplingStrategy", +"description": "Strategy to sample data from Training Dataset. If not set, we process the whole dataset." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { +"description": "The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", +"properties": { +"attributionScoreSkewThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig" +}, +"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" +}, +"defaultSkewThreshold": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig", +"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." +}, +"skewThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpec": { +"description": "Monitoring objectives spec.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpec", +"properties": { +"baselineDataset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInput", +"description": "Baseline dataset. It could be the training dataset or production serving dataset from a previous period." +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", +"description": "The explanation spec. This spec is required when the objectives spec includes feature attribution objectives." +}, +"tabularObjective": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecTabularObjective", +"description": "Tabular monitoring objective." +}, +"targetDataset": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringInput", +"description": "Target dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecDataDriftSpec": { +"description": "Data drift monitoring spec. Data drift measures the distribution distance between the current dataset and a baseline dataset. A typical use case is to detect data drift between the recent production serving dataset and the training dataset, or to compare the recent production dataset with a dataset from a previous period.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecDataDriftSpec", +"properties": { +"categoricalMetricType": { +"description": "Supported metrics type: * l_infinity * jensen_shannon_divergence", +"type": "string" +}, +"defaultCategoricalAlertCondition": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition", +"description": "Default alert condition for all the categorical features." +}, +"defaultNumericAlertCondition": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition", +"description": "Default alert condition for all the numeric features." +}, +"featureAlertConditions": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition" +}, +"description": "Per feature alert condition will override default alert condition.", +"type": "object" +}, +"features": { +"description": "Feature names / Prediction output names interested in monitoring. These should be a subset of the input feature names or prediction output names specified in the monitoring schema. If the field is not specified all features / prediction outputs outlied in the monitoring schema will be used.", +"items": { +"type": "string" +}, +"type": "array" +}, +"numericMetricType": { +"description": "Supported metrics type: * jensen_shannon_divergence", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecFeatureAttributionSpec": { +"description": "Feature attribution monitoring spec.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecFeatureAttributionSpec", +"properties": { +"batchExplanationDedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1BatchDedicatedResources", +"description": "The config of resources used by the Model Monitoring during the batch explanation for non-AutoML models. If not set, `n1-standard-2` machine type will be used by default." +}, +"defaultAlertCondition": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition", +"description": "Default alert condition for all the features." +}, +"featureAlertConditions": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlertCondition" +}, +"description": "Per feature alert condition will override default alert condition.", +"type": "object" +}, +"features": { +"description": "Feature names interested in monitoring. These should be a subset of the input feature names specified in the monitoring schema. If the field is not specified all features outlied in the monitoring schema will be used.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecTabularObjective": { +"description": "Tabular monitoring objective.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecTabularObjective", +"properties": { +"featureAttributionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecFeatureAttributionSpec", +"description": "Feature attribution monitoring spec." +}, +"featureDriftSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecDataDriftSpec", +"description": "Input feature distribution drift monitoring spec." +}, +"predictionOutputDriftSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpecDataDriftSpec", +"description": "Prediction output distribution drift monitoring spec." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringOutputSpec": { +"description": "Specification for the export destination of monitoring results, including metrics, logs, etc.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringOutputSpec", +"properties": { +"gcsBaseDirectory": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Google Cloud Storage base folder path for metrics, error logs, etc." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringSchema": { +"description": "The Model Monitoring Schema definition.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringSchema", +"properties": { +"featureFields": { +"description": "Feature names of the model. Vertex AI will try to match the features from your dataset as follows: * For 'csv' files, the header names are required, and we will extract the corresponding feature values when the header names align with the feature names. * For 'jsonl' files, we will extract the corresponding feature values if the key names match the feature names. Note: Nested features are not supported, so please ensure your features are flattened. Ensure the feature values are scalar or an array of scalars. * For 'bigquery' dataset, we will extract the corresponding feature values if the column names match the feature names. Note: The column type can be a scalar or an array of scalars. STRUCT or JSON types are not supported. You may use SQL queries to select or aggregate the relevant features from your original table. However, ensure that the 'schema' of the query results meets our requirements. * For the Vertex AI Endpoint Request Response Logging table or Vertex AI Batch Prediction Job results. If the instance_type is an array, ensure that the sequence in feature_fields matches the order of features in the prediction instance. We will match the feature with the array in the order specified in [feature_fields].", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringSchemaFieldSchema" +}, +"type": "array" +}, +"groundTruthFields": { +"description": "Target /ground truth names of the model.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringSchemaFieldSchema" +}, +"type": "array" +}, +"predictionFields": { +"description": "Prediction output names of the model. The requirements are the same as the feature_fields. For AutoML Tables, the prediction output name presented in schema will be: `predicted_{target_column}`, the `target_column` is the one you specified when you train the model. For Prediction output drift analysis: * AutoML Classification, the distribution of the argmax label will be analyzed. * AutoML Regression, the distribution of the value will be analyzed.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringSchemaFieldSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringSchemaFieldSchema": { +"description": "Schema field definition.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringSchemaFieldSchema", +"properties": { +"dataType": { +"description": "Supported data types are: `float` `integer` `boolean` `string` `categorical`", +"type": "string" +}, +"name": { +"description": "Field name.", +"type": "string" +}, +"repeated": { +"description": "Describes if the schema field is an array of given data type.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringSpec": { +"description": "Monitoring monitoring job spec. It outlines the specifications for monitoring objectives, notifications, and result exports.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringSpec", +"properties": { +"notificationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringNotificationSpec", +"description": "The model monitoring notification spec." +}, +"objectiveSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveSpec", +"description": "The monitoring objective spec." +}, +"outputSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringOutputSpec", +"description": "The Output destination spec for metrics, error logs, etc." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStats": { +"description": "Represents the collection of statistics for a metric.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStats", +"properties": { +"tabularStats": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringTabularStats", +"description": "Generated tabular statistics." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomalies": { +"description": "Statistics and anomalies generated by Model Monitoring.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomalies", +"properties": { +"anomalyCount": { +"description": "Number of anomalies within all stats.", +"format": "int32", +"type": "integer" +}, +"deployedModelId": { +"description": "Deployed Model ID.", +"type": "string" +}, +"featureStats": { +"description": "A list of historical Stats and Anomalies generated for all Features.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies" +}, +"type": "array" +}, +"objective": { +"description": "Model Monitoring Objective those stats and anomalies belonging to.", +"enum": [ +"MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", +"RAW_FEATURE_SKEW", +"RAW_FEATURE_DRIFT", +"FEATURE_ATTRIBUTION_SKEW", +"FEATURE_ATTRIBUTION_DRIFT" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies": { +"description": "Historical Stats (and Anomalies) for a specific Feature.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies", +"properties": { +"featureDisplayName": { +"description": "Display Name of the Feature.", +"type": "string" +}, +"predictionStats": { +"description": "A list of historical stats generated by different time window's Prediction Dataset.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly" +}, +"type": "array" +}, +"threshold": { +"$ref": "GoogleCloudAiplatformV1beta1ThresholdConfig", +"description": "Threshold for anomaly detection." +}, +"trainingStats": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly", +"description": "Stats calculated for the Training Dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPoint": { +"description": "Represents a single statistics data point.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPoint", +"properties": { +"algorithm": { +"description": "Algorithm used to calculated the metrics, eg: jensen_shannon_divergence, l_infinity.", +"type": "string" +}, +"baselineStats": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValue", +"description": "Statistics from baseline dataset." +}, +"createTime": { +"description": "Statistics create time.", +"format": "google-datetime", +"type": "string" +}, +"currentStats": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValue", +"description": "Statistics from current dataset." +}, +"hasAnomaly": { +"description": "Indicate if the statistics has anomaly.", +"type": "boolean" +}, +"modelMonitoringJob": { +"description": "Model monitoring job resource name.", +"type": "string" +}, +"schedule": { +"description": "Schedule resource name.", +"type": "string" +}, +"thresholdValue": { +"description": "Threshold value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValue": { +"description": "Typed value of the statistics.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValue", +"properties": { +"distributionValue": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValueDistributionDataValue", +"description": "Distribution." +}, +"doubleValue": { +"description": "Double.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValueDistributionDataValue": { +"description": "Summary statistics for a population of values.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPointTypedValueDistributionDataValue", +"properties": { +"distribution": { +"description": "Predictive monitoring drift distribution in `tensorflow.metadata.v0.DatasetFeatureStatistics` format.", +"type": "any" +}, +"distributionDeviation": { +"description": "Distribution distance deviation from the current dataset's statistics to baseline dataset's statistics. * For categorical feature, the distribution distance is calculated by L-inifinity norm or Jensen\u2013Shannon divergence. * For numerical feature, the distribution distance is calculated by Jensen\u2013Shannon divergence.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelMonitoringTabularStats": { +"description": "A collection of data points that describes the time-varying values of a tabular metric.", +"id": "GoogleCloudAiplatformV1beta1ModelMonitoringTabularStats", +"properties": { +"dataPoints": { +"description": "The data points of this time series. When listing time series, points are returned in reverse time order.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsDataPoint" +}, +"type": "array" +}, +"objectiveType": { +"description": "One of the supported monitoring objectives: `raw-feature-drift` `prediction-output-drift` `feature-attribution`", +"type": "string" +}, +"statsName": { +"description": "The stats name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelOriginalModelInfo": { +"description": "Contains information about the original Model if this Model is a copy.", +"id": "GoogleCloudAiplatformV1beta1ModelOriginalModelInfo", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ModelSourceInfo": { +"description": "Detail description of the source information of the model.", +"id": "GoogleCloudAiplatformV1beta1ModelSourceInfo", +"properties": { +"copy": { +"description": "If this Model is copy of another Model. If true then source_type pertains to the original.", +"type": "boolean" +}, +"sourceType": { +"description": "Type of the model source.", +"enum": [ +"MODEL_SOURCE_TYPE_UNSPECIFIED", +"AUTOML", +"CUSTOM", +"BQML", +"MODEL_GARDEN", +"GENIE", +"CUSTOM_TEXT_EMBEDDING", +"MARKETPLACE" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MutateDeployedIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.MutateDeployedIndex.", +"id": "GoogleCloudAiplatformV1beta1MutateDeployedIndexOperationMetadata", +"properties": { +"deployedIndexId": { +"description": "The unique index id specified by user", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MutateDeployedIndexResponse": { +"description": "Response message for IndexEndpointService.MutateDeployedIndex.", +"id": "GoogleCloudAiplatformV1beta1MutateDeployedIndexResponse", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex", +"description": "The DeployedIndex that had been updated in the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MutateDeployedModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1beta1MutateDeployedModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MutateDeployedModelRequest": { +"description": "Request message for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1beta1MutateDeployedModelRequest", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel", +"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 * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only)" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1MutateDeployedModelResponse": { +"description": "Response message for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1beta1MutateDeployedModelResponse", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel", +"description": "The DeployedModel that's being mutated." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJob": { +"description": "Represents a Neural Architecture Search (NAS) job.", +"id": "GoogleCloudAiplatformV1beta1NasJob", +"properties": { +"createTime": { +"description": "Output only. Time when the NasJob was created.", +"format": "google-datetime", +"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" +}, +"enableRestrictedImageTraining": { +"deprecated": true, +"description": "Optional. Enable a separation of Custom model training and restricted image training for tenant project.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Time when the NasJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Resource name of the NasJob.", +"readOnly": true, +"type": "string" +}, +"nasJobOutput": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobOutput", +"description": "Output only. Output of the NasJob.", +"readOnly": true +}, +"nasJobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobSpec", +"description": "Required. The specification of a NasJob." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the NasJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the NasJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobOutput": { +"description": "Represents a uCAIP NasJob output.", +"id": "GoogleCloudAiplatformV1beta1NasJobOutput", +"properties": { +"multiTrialJobOutput": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobOutputMultiTrialJobOutput", +"description": "Output only. The output of this multi-trial Neural Architecture Search (NAS) job.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobOutputMultiTrialJobOutput": { +"description": "The output of a multi-trial Neural Architecture Search (NAS) jobs.", +"id": "GoogleCloudAiplatformV1beta1NasJobOutputMultiTrialJobOutput", +"properties": { +"searchTrials": { +"description": "Output only. List of NasTrials that were started as part of search stage.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrial" +}, +"readOnly": true, +"type": "array" +}, +"trainTrials": { +"description": "Output only. List of NasTrials that were started as part of train stage.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrial" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobSpec": { +"description": "Represents the spec of a NasJob.", +"id": "GoogleCloudAiplatformV1beta1NasJobSpec", +"properties": { +"multiTrialAlgorithmSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpec", +"description": "The spec of multi-trial algorithms." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpec": { +"description": "The spec of multi-trial Neural Architecture Search (NAS).", +"id": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpec", +"properties": { +"metric": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", +"description": "Metric specs for the NAS job. Validation for this field is done at `multi_trial_algorithm_spec` field." +}, +"multiTrialAlgorithm": { +"description": "The multi-trial Neural Architecture Search (NAS) algorithm type. Defaults to `REINFORCEMENT_LEARNING`.", +"enum": [ +"MULTI_TRIAL_ALGORITHM_UNSPECIFIED", +"REINFORCEMENT_LEARNING", +"GRID_SEARCH" +], +"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)." +], +"type": "string" +}, +"searchTrialSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", +"description": "Required. Spec for search trials." +}, +"trainTrialSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", +"description": "Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecMetricSpec": { +"description": "Represents a metric to optimize.", +"id": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", +"properties": { +"goal": { +"description": "Required. The optimization goal of the metric.", +"enum": [ +"GOAL_TYPE_UNSPECIFIED", +"MAXIMIZE", +"MINIMIZE" +], +"enumDescriptions": [ +"Goal Type will default to maximize.", +"Maximize the goal metric.", +"Minimize the goal metric." +], +"type": "string" +}, +"metricId": { +"description": "Required. The ID of the metric. Must not contain whitespaces.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec": { +"description": "Represent spec for search trials.", +"id": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"maxParallelTrialCount": { +"description": "Required. The maximum number of trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "Required. The maximum number of Neural Architecture Search (NAS) trials to run.", +"format": "int32", +"type": "integer" +}, +"searchTrialJobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "Required. The spec of a search trial job. The same spec applies to all search trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec": { +"description": "Represent spec for train trials.", +"id": "GoogleCloudAiplatformV1beta1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"maxParallelTrialCount": { +"description": "Required. The maximum number of trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"trainTrialJobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "Required. The spec of a train trial job. The same spec applies to all train trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasTrial": { +"description": "Represents a uCAIP NasJob trial.", +"id": "GoogleCloudAiplatformV1beta1NasTrial", +"properties": { +"endTime": { +"description": "Output only. Time when the NasTrial's status changed to `SUCCEEDED` or `INFEASIBLE`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1beta1Measurement", +"description": "Output only. The final measurement containing the objective value.", +"readOnly": true +}, +"id": { +"description": "Output only. The identifier of the NasTrial assigned by the service.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Time when the NasTrial was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the NasTrial.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUESTED", +"ACTIVE", +"STOPPING", +"SUCCEEDED", +"INFEASIBLE" +], +"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." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NasTrialDetail": { +"description": "Represents a NasTrial details along with its parameters. If there is a corresponding train NasTrial, the train NasTrial is also returned.", +"id": "GoogleCloudAiplatformV1beta1NasTrialDetail", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrial", +"description": "The requested search NasTrial." +}, +"trainTrial": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrial", +"description": "The train NasTrial corresponding to search_trial. Only populated if search_trial is used for training." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborQuery": { +"description": "A query to find a number of similar entities.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborQuery", +"properties": { +"embedding": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborQueryEmbedding", +"description": "Optional. The embedding vector that be used for similar search." +}, +"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" +}, +"neighborCount": { +"description": "Optional. The number of similar entities to be retrieved from feature view for each query.", +"format": "int32", +"type": "integer" +}, +"numericFilters": { +"description": "Optional. The list of numeric filters.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborQueryNumericFilter" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborQueryParameters", +"description": "Optional. Parameters that can be set to tune query on the fly." +}, +"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.", +"format": "int32", +"type": "integer" +}, +"stringFilters": { +"description": "Optional. The list of string filters.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborQueryStringFilter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborQueryEmbedding": { +"description": "The embedding vector.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborQueryEmbedding", +"properties": { +"value": { +"description": "Optional. Individual value in the embedding.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborQueryNumericFilter": { +"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", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborQueryNumericFilter", +"properties": { +"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.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS", +"LESS_EQUAL", +"EQUAL", +"GREATER_EQUAL", +"GREATER", +"NOT_EQUAL" +], +"enumDescriptions": [ +"Unspecified operator.", +"Entities are eligible if their value is < the query's.", +"Entities are eligible if their value is <= the query's.", +"Entities are eligible if their value is == the query's.", +"Entities are eligible if their value is >= the query's.", +"Entities are eligible if their value is > the query's.", +"Entities are eligible if their value is != the query's." +], +"type": "string" +}, +"valueDouble": { +"description": "double value type.", +"format": "double", +"type": "number" +}, +"valueFloat": { +"description": "float value type.", +"format": "float", +"type": "number" +}, +"valueInt": { +"description": "int value type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborQueryParameters": { +"description": "Parameters that can be overrided in each query to tune query latency and recall.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborQueryParameters", +"properties": { +"approximateNeighborCandidates": { +"description": "Optional. The number of neighbors to find via approximate search before exact reordering is performed; if set, this value must be > neighbor_count.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborQueryStringFilter": { +"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.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborQueryStringFilter", +"properties": { +"allowTokens": { +"description": "Optional. The allowed tokens.", +"items": { +"type": "string" +}, +"type": "array" +}, +"denyTokens": { +"description": "Optional. The denied tokens.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Required. Column names in BigQuery that used as filters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadata": { +"description": "Runtime operation metadata with regard to Matching Engine Index.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadata", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataContentValidationStats" +}, +"type": "array" +}, +"dataBytesCount": { +"description": "The ingested data size in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataContentValidationStats": { +"id": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataContentValidationStats", +"properties": { +"invalidRecordCount": { +"description": "Number of records in this file we skipped due to validate errors.", +"format": "int64", +"type": "string" +}, +"invalidSparseRecordCount": { +"description": "Number of sparse records in this file we skipped due to validate errors.", +"format": "int64", +"type": "string" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataRecordError" +}, +"type": "array" +}, +"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.", +"format": "int64", +"type": "string" +}, +"validSparseRecordCount": { +"description": "Number of sparse records in this file that were successfully processed.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataRecordError": { +"id": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataRecordError", +"properties": { +"embeddingId": { +"description": "Empty if the embedding id is failed to parse.", +"type": "string" +}, +"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" +}, +"errorType": { +"description": "The error type of this record.", +"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" +], +"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." +], +"type": "string" +}, +"rawRecord": { +"description": "The original content of this record.", +"type": "string" +}, +"sourceGcsUri": { +"description": "Cloud Storage URI pointing to the original file in user's bucket.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighbors": { +"description": "Nearest neighbors for one query.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighbors", +"properties": { +"neighbors": { +"description": "All its neighbors.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborsNeighbor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NearestNeighborsNeighbor": { +"description": "A neighbor of the query vector.", +"id": "GoogleCloudAiplatformV1beta1NearestNeighborsNeighbor", +"properties": { +"distance": { +"description": "The distance between the neighbor and the query vector.", +"format": "double", +"type": "number" +}, +"entityId": { +"description": "The id of the similar entity.", +"type": "string" +}, +"entityKeyValues": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Neighbor": { +"description": "Neighbors for example-based explanations.", +"id": "GoogleCloudAiplatformV1beta1Neighbor", +"properties": { +"neighborDistance": { +"description": "Output only. The neighbor distance.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"neighborId": { +"description": "Output only. The neighbor id.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NetworkSpec": { +"description": "Network spec.", +"id": "GoogleCloudAiplatformV1beta1NetworkSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NfsMount": { +"description": "Represents a mount configuration for Network File System (NFS) to mount.", +"id": "GoogleCloudAiplatformV1beta1NfsMount", +"properties": { +"mountPoint": { +"description": "Required. Destination mount path. The NFS will be mounted for the user under /mnt/nfs/", +"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" +}, +"server": { +"description": "Required. IP address of the NFS server.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookEucConfig": { +"description": "The euc configuration of NotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1beta1NotebookEucConfig", +"properties": { +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJob": { +"description": "NotebookExecutionJob represents an instance of a notebook execution.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJob", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookExecutionJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customEnvironmentSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec", +"description": "The custom compute configuration for an execution job." +}, +"dataformRepositorySource": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobDataformRepositorySource", +"description": "The Dataform Repository pointing to a single file notebook repository." +}, +"directNotebookSource": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobDirectNotebookSource", +"description": "The contents of an input notebook file." +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec." +}, +"executionTimeout": { +"description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", +"format": "google-duration", +"type": "string" +}, +"executionUser": { +"description": "The user email to run the execution as. Only supported by Colab runtimes.", +"type": "string" +}, +"gcsNotebookSource": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobGcsNotebookSource", +"description": "The Cloud Storage url pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`" +}, +"gcsOutputUri": { +"description": "The Cloud Storage location to upload the result to. Format: `gs://bucket-name`", +"type": "string" +}, +"jobState": { +"description": "Output only. The state of the NotebookExecutionJob.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"kernelName": { +"description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of this NotebookExecutionJob. Format: `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}`", +"readOnly": true, +"type": "string" +}, +"notebookRuntimeTemplateResourceName": { +"description": "The NotebookRuntimeTemplate to source compute configuration from.", +"type": "string" +}, +"scheduleResourceName": { +"description": "Output only. The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "The service account to run the execution as.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Populated when the NotebookExecutionJob is completed. When there is an error during notebook execution, the error details are populated.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookExecutionJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workbenchRuntime": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime", +"description": "The Workbench runtime configuration to use for the notebook execution." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec": { +"description": "Compute configuration to use for an execution job.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec", +"properties": { +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "The specification of a single machine for the execution job." +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", +"description": "The network configuration to use for the execution job." +}, +"persistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", +"description": "The specification of a persistent disk to attach for the execution job." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJobDataformRepositorySource": { +"description": "The Dataform Repository containing the input notebook.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobDataformRepositorySource", +"properties": { +"commitSha": { +"description": "The commit SHA to read repository with. If unset, the file will be read at HEAD.", +"type": "string" +}, +"dataformRepositoryResourceName": { +"description": "The resource name of the Dataform Repository. Format: `projects/{project_id}/locations/{location}/repositories/{repository_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJobDirectNotebookSource": { +"description": "The content of the input notebook in ipynb format.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobDirectNotebookSource", +"properties": { +"content": { +"description": "The base64-encoded contents of the input notebook file.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJobGcsNotebookSource": { +"description": "The Cloud Storage uri for the input notebook.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobGcsNotebookSource", +"properties": { +"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" +}, +"uri": { +"description": "The Cloud Storage uri pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime": { +"description": "Configuration for a Workbench Instances-based environment.", +"id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig": { +"description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", +"id": "GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig", +"properties": { +"idleShutdownDisabled": { +"description": "Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.", +"type": "boolean" +}, +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookRuntime": { +"description": "A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime limited to 24 hours.", +"id": "GoogleCloudAiplatformV1beta1NotebookRuntime", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookRuntime was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataPersistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", +"description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", +"readOnly": true +}, +"description": { +"description": "The description of the NotebookRuntime.", +"type": "string" +}, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Output only. Customer-managed encryption key spec for the notebook runtime.", +"readOnly": true +}, +"eucConfig": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookEucConfig", +"description": "Output only. EUC configuration of the notebook runtime.", +"readOnly": true +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"healthState": { +"description": "Output only. The health state of the NotebookRuntime.", +"enum": [ +"HEALTH_STATE_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"Unspecified health state.", +"NotebookRuntime is in healthy state. Applies to ACTIVE state.", +"NotebookRuntime is in unhealthy state. Applies to ACTIVE state." +], +"readOnly": true, +"type": "string" +}, +"idleShutdownConfig": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig", +"description": "Output only. The idle shutdown configuration of the notebook runtime.", +"readOnly": true +}, +"isUpgradable": { +"description": "Output only. Whether NotebookRuntime is upgradable.", +"readOnly": true, +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Output only. The specification of a single machine used by the notebook runtime.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the NotebookRuntime.", +"readOnly": true, +"type": "string" +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", +"description": "Output only. Network spec of the notebook runtime.", +"readOnly": true +}, +"networkTags": { +"description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"notebookRuntimeTemplateRef": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplateRef", +"description": "Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is created from.", +"readOnly": true +}, +"notebookRuntimeType": { +"description": "Output only. The type of the notebook runtime.", +"enum": [ +"NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", +"USER_DEFINED", +"ONE_CLICK" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"proxyUri": { +"description": "Output only. The proxy endpoint used to access the NotebookRuntime.", +"readOnly": true, +"type": "string" +}, +"runtimeState": { +"description": "Output only. The runtime (instance) state of the NotebookRuntime.", +"enum": [ +"RUNTIME_STATE_UNSPECIFIED", +"RUNNING", +"BEING_STARTED", +"BEING_STOPPED", +"STOPPED", +"BEING_UPGRADED", +"ERROR", +"INVALID" +], +"enumDescriptions": [ +"Unspecified runtime state.", +"NotebookRuntime is in running state.", +"NotebookRuntime is in starting 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." +], +"readOnly": true, +"type": "string" +}, +"runtimeUser": { +"description": "Required. The user email of the NotebookRuntime.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"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" +}, +"shieldedVmConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ShieldedVmConfig", +"description": "Output only. Runtime Shielded VM spec.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. The VM os image version of NotebookRuntime.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate": { +"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.", +"id": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookRuntimeTemplate was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataPersistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", +"description": "Optional. The specification of persistent disk attached to the runtime as data disk storage." +}, +"description": { +"description": "The description 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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Customer-managed encryption key spec for the notebook runtime." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"eucConfig": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookEucConfig", +"description": "EUC configuration of the NotebookRuntimeTemplate." +}, +"idleShutdownConfig": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig", +"description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled." +}, +"isDefault": { +"deprecated": true, +"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, +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Optional. Immutable. The specification of a single machine for the template." +}, +"name": { +"description": "The resource name of the NotebookRuntimeTemplate.", +"type": "string" +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", +"description": "Optional. Network spec." +}, +"networkTags": { +"description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"notebookRuntimeType": { +"description": "Optional. Immutable. The type of the notebook runtime template.", +"enum": [ +"NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", +"USER_DEFINED", +"ONE_CLICK" +], +"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." +], +"type": "string" +}, +"serviceAccount": { +"deprecated": true, +"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.", +"type": "string" +}, +"shieldedVmConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ShieldedVmConfig", +"description": "Optional. Immutable. Runtime Shielded VM spec." +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1NotebookRuntimeTemplateRef": { +"description": "Points to a NotebookRuntimeTemplateRef.", +"id": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplateRef", +"properties": { +"notebookRuntimeTemplate": { +"description": "Immutable. A resource name of the NotebookRuntimeTemplate.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PSCAutomationConfig": { +"description": "PSC config that is used to automatically create forwarding rule via ServiceConnectionMap.", +"id": "GoogleCloudAiplatformV1beta1PSCAutomationConfig", +"properties": { +"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/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name.", +"type": "string" +}, +"projectId": { +"description": "Required. Project id used to create forwarding rule.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseMetricInput": { +"description": "Input for pairwise metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseMetricInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricInstance", +"description": "Required. Pairwise metric instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricSpec", +"description": "Required. Spec for pairwise metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseMetricInstance": { +"description": "Pairwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", +"id": "GoogleCloudAiplatformV1beta1PairwiseMetricInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseMetricResult": { +"description": "Spec for pairwise metric result.", +"id": "GoogleCloudAiplatformV1beta1PairwiseMetricResult", +"properties": { +"explanation": { +"description": "Output only. Explanation for pairwise metric score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise metric choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseMetricSpec": { +"description": "Spec for pairwise metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseMetricSpec", +"properties": { +"metricPromptTemplate": { +"description": "Required. Metric prompt template for pairwise metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInput": { +"description": "Input for pairwise question answering quality metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInstance", +"description": "Required. Pairwise question answering quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualitySpec", +"description": "Required. Spec for pairwise question answering quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInstance": { +"description": "Spec for pairwise question answering quality instance.", +"id": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityInstance", +"properties": { +"baselinePrediction": { +"description": "Required. Output of the baseline model.", +"type": "string" +}, +"context": { +"description": "Required. Text to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. Question Answering prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the candidate model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityResult": { +"description": "Spec for pairwise question answering quality result.", +"id": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering quality score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise question answering prediction choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualitySpec": { +"description": "Spec for pairwise question answering quality score metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseQuestionAnsweringQualitySpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInput": { +"description": "Input for pairwise summarization quality metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInstance", +"description": "Required. Pairwise summarization quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualitySpec", +"description": "Required. Spec for pairwise summarization quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInstance": { +"description": "Spec for pairwise summarization quality instance.", +"id": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityInstance", +"properties": { +"baselinePrediction": { +"description": "Required. Output of the baseline model.", +"type": "string" +}, +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Required. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the candidate model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityResult": { +"description": "Spec for pairwise summarization quality result.", +"id": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization quality score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise summarization prediction choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PairwiseSummarizationQualitySpec": { +"description": "Spec for pairwise summarization quality score metric.", +"id": "GoogleCloudAiplatformV1beta1PairwiseSummarizationQualitySpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Part": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Part", +"properties": { +"codeExecutionResult": { +"$ref": "GoogleCloudAiplatformV1beta1CodeExecutionResult", +"description": "Optional. Result of executing the [ExecutableCode]." +}, +"executableCode": { +"$ref": "GoogleCloudAiplatformV1beta1ExecutableCode", +"description": "Optional. Code generated by the model that is meant to be executed." +}, +"fileData": { +"$ref": "GoogleCloudAiplatformV1beta1FileData", +"description": "Optional. URI based data." +}, +"functionCall": { +"$ref": "GoogleCloudAiplatformV1beta1FunctionCall", +"description": "Optional. A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] with the parameters and their values." +}, +"functionResponse": { +"$ref": "GoogleCloudAiplatformV1beta1FunctionResponse", +"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." +}, +"inlineData": { +"$ref": "GoogleCloudAiplatformV1beta1Blob", +"description": "Optional. Inlined bytes data." +}, +"text": { +"description": "Optional. Text part (can be code).", +"type": "string" +}, +"thought": { +"description": "Optional. Indicates if the part is thought from the model.", +"type": "boolean" +}, +"videoMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1VideoMetadata", +"description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PartnerModelTuningSpec": { +"description": "Tuning spec for Partner models.", +"id": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", +"properties": { +"hyperParameters": { +"additionalProperties": { +"type": "any" +}, +"description": "Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model.", +"type": "object" +}, +"trainingDatasetUri": { +"description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +}, +"validationDatasetUri": { +"description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest": { +"description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PauseScheduleRequest": { +"description": "Request message for ScheduleService.PauseSchedule.", +"id": "GoogleCloudAiplatformV1beta1PauseScheduleRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PersistentDiskSpec": { +"description": "Represents the spec of persistent disk options.", +"id": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", +"properties": { +"diskSizeGb": { +"description": "Size in GB of the disk (default is 100GB).", +"format": "int64", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PersistentResource": { +"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.", +"id": "GoogleCloudAiplatformV1beta1PersistentResource", +"properties": { +"createTime": { +"description": "Output only. Time when the PersistentResource was created.", +"format": "google-datetime", +"readOnly": true, +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when persistent resource's state is `STOPPING` or `ERROR`.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Immutable. Resource name of a PersistentResource.", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", +"description": "Optional. Configuration for PSC-I for PersistentResource." +}, +"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'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePools": { +"description": "Required. The spec of the pools of different resources.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ResourcePool" +}, +"type": "array" +}, +"resourceRuntime": { +"$ref": "GoogleCloudAiplatformV1beta1ResourceRuntime", +"description": "Output only. Runtime information of the Persistent Resource.", +"readOnly": true +}, +"resourceRuntimeSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ResourceRuntimeSpec", +"description": "Optional. Persistent Resource runtime spec. For example, used for Ray cluster configuration." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the PersistentResource for the first time entered the `RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of a Study.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"RUNNING", +"STOPPING", +"ERROR", +"REBOOTING", +"UPDATING" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the PersistentResource was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJob": { +"description": "An instance of a machine learning PipelineJob.", +"id": "GoogleCloudAiplatformV1beta1PipelineJob", +"properties": { +"createTime": { +"description": "Output only. Pipeline creation time.", +"format": "google-datetime", +"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" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Pipeline end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during pipeline execution. Only populated when the pipeline's state is FAILED or CANCELLED.", +"readOnly": true +}, +"jobDetail": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJobDetail", +"description": "Output only. The details of pipeline run. Not available in the list view.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. The resource name of the PipelineJob.", +"readOnly": true, +"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" +}, +"originalPipelineJobId": { +"description": "Optional. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job.", +"format": "int64", +"type": "string" +}, +"pipelineSpec": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The spec of the pipeline.", +"type": "object" +}, +"pipelineTaskRerunConfigs": { +"description": "Optional. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig" +}, +"type": "array" +}, +"preflightValidations": { +"description": "Optional. Whether to do component level validations before job creation.", +"type": "boolean" +}, +"pscInterfaceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", +"description": "Optional. Configuration for PSC-I for PipelineJob." +}, +"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'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"runtimeConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig", +"description": "Runtime config of the pipeline." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scheduleName": { +"description": "Output only. The schedule resource name. Only returned if the Pipeline is created by Schedule API.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"startTime": { +"description": "Output only. Pipeline start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"templateMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTemplateMetadata", +"description": "Output only. Pipeline template metadata. Will fill up fields if PipelineJob.template_uri is from supported template registry.", +"readOnly": true +}, +"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" +}, +"updateTime": { +"description": "Output only. Timestamp when this PipelineJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJobDetail": { +"description": "The runtime detail of PipelineJob.", +"id": "GoogleCloudAiplatformV1beta1PipelineJobDetail", +"properties": { +"pipelineContext": { +"$ref": "GoogleCloudAiplatformV1beta1Context", +"description": "Output only. The context of the pipeline.", +"readOnly": true +}, +"pipelineRunContext": { +"$ref": "GoogleCloudAiplatformV1beta1Context", +"description": "Output only. The context of the current pipeline run.", +"readOnly": true +}, +"taskDetails": { +"description": "Output only. The runtime details of the tasks under the pipeline.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskDetail" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig": { +"description": "The runtime config of a PipelineJob.", +"id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig", +"properties": { +"defaultRuntime": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime", +"description": "Optional. The default runtime for the PipelineJob. If not set, Standard Vertex Custom Job(https://cloud.google.com/vertex-ai/docs/training/overview) is used as the runtime. If set, all pipeline tasks will run on the default runtime unless a task is a GCPC custom job component (https://cloud.google.com/vertex-ai/docs/pipelines/customjob-component) based task. If the task is based on a GCPC custom job component, it runs solely according to the component's configuration." +}, +"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.", +"enum": [ +"PIPELINE_FAILURE_POLICY_UNSPECIFIED", +"PIPELINE_FAILURE_POLICY_FAIL_SLOW", +"PIPELINE_FAILURE_POLICY_FAIL_FAST" +], +"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." +], +"type": "string" +}, +"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" +}, +"inputArtifacts": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact" +}, +"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" +}, +"parameterValues": { +"additionalProperties": { +"type": "any" +}, +"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" +}, +"parameters": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1Value" +}, +"deprecated": true, +"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.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime": { +"description": "The default runtime for the PipelineJob.", +"id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime", +"properties": { +"persistentResourceRuntimeDetail": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail", +"description": "Persistent resource based runtime detail." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact": { +"description": "The type of an input artifact.", +"id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail": { +"description": "Persistent resource based runtime detail. For more information about persistent resource, refer to https://cloud.google.com/vertex-ai/docs/training/persistent-resource-overview", +"id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail", +"properties": { +"persistentResourceName": { +"description": "Persistent resource name. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", +"type": "string" +}, +"taskResourceUnavailableTimeoutBehavior": { +"description": "Specifies the behavior to take if the timeout is reached.", +"enum": [ +"TASK_RESOURCE_UNAVAILABLE_TIMEOUT_BEHAVIOR_UNSPECIFIED", +"FAIL", +"FALL_BACK_TO_ON_DEMAND" +], +"enumDescriptions": [ +"Unspecified. Behavior is same as `FAIL`.", +"Fail the task if the timeout is reached.", +"Fall back to on-demand execution if the timeout is reached." +], +"type": "string" +}, +"taskResourceUnavailableWaitTimeMs": { +"description": "The max time a pipeline task waits for the required CPU, memory, or accelerator resource to become available from the specified persistent resource. Default wait time is 0.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskDetail": { +"description": "The runtime detail of a task execution.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskDetail", +"properties": { +"createTime": { +"description": "Output only. Task create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Task end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED.", +"readOnly": true +}, +"execution": { +"$ref": "GoogleCloudAiplatformV1beta1Execution", +"description": "Output only. The execution metadata of the task.", +"readOnly": true +}, +"executorDetail": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetail", +"description": "Output only. The detailed execution info.", +"readOnly": true +}, +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactList" +}, +"description": "Output only. The runtime input artifacts of the task.", +"readOnly": true, +"type": "object" +}, +"outputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactList" +}, +"description": "Output only. The runtime output artifacts of the task.", +"readOnly": true, +"type": "object" +}, +"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.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"pipelineTaskStatus": { +"description": "Output only. A list of task status. This field keeps a record of task status evolving over time.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatus" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "Output only. Task start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the task.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"CANCEL_PENDING", +"CANCELLING", +"CANCELLED", +"FAILED", +"SKIPPED", +"NOT_TRIGGERED" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"taskId": { +"description": "Output only. The system generated ID of the task.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"taskName": { +"description": "Output only. The user specified name of the task that is defined in pipeline_spec.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactList": { +"description": "A list of artifact metadata.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactList", +"properties": { +"artifacts": { +"description": "Output only. A list of artifact metadata.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatus": { +"description": "A single record of the task status.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatus", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"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 +}, +"state": { +"description": "Output only. The state of the task.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"CANCEL_PENDING", +"CANCELLING", +"CANCELLED", +"FAILED", +"SKIPPED", +"NOT_TRIGGERED" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update time of this status.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetail": { +"description": "The runtime detail of a pipeline executor.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetail", +"properties": { +"containerDetail": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailContainerDetail", +"description": "Output only. The detailed info for a container executor.", +"readOnly": true +}, +"customJobDetail": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailCustomJobDetail", +"description": "Output only. The detailed info for a custom job executor.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailContainerDetail": { +"description": "The detail of a container execution. It contains the job names of the lifecycle of a container execution.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailContainerDetail", +"properties": { +"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.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailCustomJobDetail": { +"description": "The detailed info for a custom job executor.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailCustomJobDetail", +"properties": { +"failedJobs": { +"description": "Output only. The names of the previously failed CustomJob. The list includes the all attempts in chronological order.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"job": { +"description": "Output only. The name of the CustomJob.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig": { +"description": "User provided rerun config to submit a rerun pipelinejob. This includes 1. Which task to rerun 2. User override input parameters and artifacts.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs", +"description": "Optional. The runtime input of the task overridden by the user." +}, +"skipDownstreamTasks": { +"description": "Optional. Whether to skip downstream tasks. Default value is False.", +"type": "boolean" +}, +"skipTask": { +"description": "Optional. Whether to skip this task. Default value is False.", +"type": "boolean" +}, +"taskId": { +"description": "Optional. The system generated ID of the task. Retrieved from original run.", +"format": "int64", +"type": "string" +}, +"taskName": { +"description": "Optional. The name of the task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList": { +"description": "A list of artifact metadata.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList", +"properties": { +"artifacts": { +"description": "Optional. A list of artifact metadata.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RuntimeArtifact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs": { +"description": "Runtime inputs data of the task.", +"id": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs", +"properties": { +"artifacts": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList" +}, +"description": "Optional. Input artifacts.", +"type": "object" +}, +"parameterValues": { +"additionalProperties": { +"type": "any" +}, +"description": "Optional. Input parameters.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PipelineTemplateMetadata": { +"description": "Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry.", +"id": "GoogleCloudAiplatformV1beta1PipelineTemplateMetadata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PointwiseMetricInput": { +"description": "Input for pointwise metric.", +"id": "GoogleCloudAiplatformV1beta1PointwiseMetricInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1PointwiseMetricInstance", +"description": "Required. Pointwise metric instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PointwiseMetricSpec", +"description": "Required. Spec for pointwise metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PointwiseMetricInstance": { +"description": "Pointwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", +"id": "GoogleCloudAiplatformV1beta1PointwiseMetricInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PointwiseMetricResult": { +"description": "Spec for pointwise metric result.", +"id": "GoogleCloudAiplatformV1beta1PointwiseMetricResult", +"properties": { +"explanation": { +"description": "Output only. Explanation for pointwise metric score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Pointwise metric score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PointwiseMetricSpec": { +"description": "Spec for pointwise metric.", +"id": "GoogleCloudAiplatformV1beta1PointwiseMetricSpec", +"properties": { +"metricPromptTemplate": { +"description": "Required. Metric prompt template for pointwise metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Port": { +"description": "Represents a network port in a container.", +"id": "GoogleCloudAiplatformV1beta1Port", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig": { +"description": "The configuration for the prebuilt speaker to use.", +"id": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", +"properties": { +"voiceName": { +"description": "The name of the preset voice to use.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredefinedSplit": { +"description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", +"id": "GoogleCloudAiplatformV1beta1PredefinedSplit", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictLongRunningMetadata": { +"description": "Metadata for PredictLongRunning long running operations.", +"id": "GoogleCloudAiplatformV1beta1PredictLongRunningMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictLongRunningRequest": { +"description": "Request message for PredictionService.PredictLongRunning.", +"id": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest", +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictLongRunningResponse": { +"description": "Response message for [PredictionService.PredictLongRunning]", +"id": "GoogleCloudAiplatformV1beta1PredictLongRunningResponse", +"properties": { +"generateVideoResponse": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateVideoResponse", +"description": "The response of the video generation prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictRequest": { +"description": "Request message for PredictionService.Predict.", +"id": "GoogleCloudAiplatformV1beta1PredictRequest", +"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.", +"items": { +"type": "any" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig": { +"description": "Configuration for logging request-response to a BigQuery table.", +"id": "GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"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`" +}, +"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].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictResponse": { +"description": "Response message for PredictionService.Predict.", +"id": "GoogleCloudAiplatformV1beta1PredictResponse", +"properties": { +"deployedModelId": { +"description": "ID of the Endpoint's DeployedModel that served this prediction.", +"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" +}, +"model": { +"description": "Output only. The resource name 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" +}, +"modelVersionId": { +"description": "Output only. The version ID of the Model which is deployed as the DeployedModel that this prediction hits.", +"readOnly": true, +"type": "string" +}, +"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.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PredictSchemata": { +"description": "Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob.", +"id": "GoogleCloudAiplatformV1beta1PredictSchemata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Presets": { +"description": "Preset configuration for example-based explanations", +"id": "GoogleCloudAiplatformV1beta1Presets", +"properties": { +"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.", +"enum": [ +"MODALITY_UNSPECIFIED", +"IMAGE", +"TEXT", +"TABULAR" +], +"enumDescriptions": [ +"Should not be set. Added as a recommended best practice for enums", +"IMAGE modality", +"TEXT modality", +"TABULAR modality" +], +"type": "string" +}, +"query": { +"description": "Preset option controlling parameters for speed-precision trade-off when querying for examples. If omitted, defaults to `PRECISE`.", +"enum": [ +"PRECISE", +"FAST" +], +"enumDescriptions": [ +"More precise neighbors as a trade-off against slower response.", +"Faster response as a trade-off against less precise neighbors." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PrivateEndpoints": { +"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.", +"id": "GoogleCloudAiplatformV1beta1PrivateEndpoints", +"properties": { +"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" +}, +"predictHttpUri": { +"description": "Output only. Http(s) path to send prediction 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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig": { +"description": "Represents configuration for private service connect.", +"id": "GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig", +"properties": { +"enablePrivateServiceConnect": { +"description": "Required. If true, expose the IndexEndpoint via private service connect.", +"type": "boolean" +}, +"enableSecurePrivateServiceConnect": { +"description": "Optional. If set to true, enable secure private service connect with IAM authorization. Otherwise, private service connect will be done without authorization. Note latency will be slightly increased if authorization is enabled.", +"type": "boolean" +}, +"projectAllowlist": { +"description": "A list of Projects from which the forwarding rule will target the service attachment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Probe": { +"description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", +"id": "GoogleCloudAiplatformV1beta1Probe", +"properties": { +"exec": { +"$ref": "GoogleCloudAiplatformV1beta1ProbeExecAction", +"description": "ExecAction probes the health of a container by executing a command." +}, +"grpc": { +"$ref": "GoogleCloudAiplatformV1beta1ProbeGrpcAction", +"description": "GrpcAction probes the health of a container by sending a gRPC request." +}, +"httpGet": { +"$ref": "GoogleCloudAiplatformV1beta1ProbeHttpGetAction", +"description": "HttpGetAction probes the health of a container by sending an HTTP GET request." +}, +"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'.", +"format": "int32", +"type": "integer" +}, +"tcpSocket": { +"$ref": "GoogleCloudAiplatformV1beta1ProbeTcpSocketAction", +"description": "TcpSocketAction probes the health of a container by opening a TCP socket connection." +}, +"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'.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProbeExecAction": { +"description": "ExecAction specifies a command to execute.", +"id": "GoogleCloudAiplatformV1beta1ProbeExecAction", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProbeGrpcAction": { +"description": "GrpcAction checks the health of a container using a gRPC service.", +"id": "GoogleCloudAiplatformV1beta1ProbeGrpcAction", +"properties": { +"port": { +"description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", +"format": "int32", +"type": "integer" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProbeHttpGetAction": { +"description": "HttpGetAction describes an action based on HTTP Get requests.", +"id": "GoogleCloudAiplatformV1beta1ProbeHttpGetAction", +"properties": { +"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" +}, +"httpHeaders": { +"description": "Custom headers to set in the request. HTTP allows repeated headers.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ProbeHttpHeader" +}, +"type": "array" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"scheme": { +"description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProbeHttpHeader": { +"description": "HttpHeader describes a custom header to be used in HTTP probes", +"id": "GoogleCloudAiplatformV1beta1ProbeHttpHeader", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProbeTcpSocketAction": { +"description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", +"id": "GoogleCloudAiplatformV1beta1ProbeTcpSocketAction", +"properties": { +"host": { +"description": "Optional: Host name to connect to, defaults to the model serving container's IP.", +"type": "string" +}, +"port": { +"description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PscAutomatedEndpoints": { +"description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", +"id": "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints", +"properties": { +"matchAddress": { +"description": "Ip Address created by the automated forwarding rule.", +"type": "string" +}, +"network": { +"description": "Corresponding network in pscAutomationConfigs.", +"type": "string" +}, +"projectId": { +"description": "Corresponding project_id in pscAutomationConfigs", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PscInterfaceConfig": { +"description": "Configuration for PSC-I.", +"id": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModel": { +"description": "A Model Garden Publisher Model.", +"id": "GoogleCloudAiplatformV1beta1PublisherModel", +"properties": { +"frameworks": { +"description": "Optional. Additional information about the model's Frameworks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. Indicates the launch stage of the model.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"EXPERIMENTAL", +"PRIVATE_PREVIEW", +"PUBLIC_PREVIEW", +"GA" +], +"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." +], +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the PublisherModel.", +"readOnly": true, +"type": "string" +}, +"openSourceCategory": { +"description": "Required. Indicates the open source category of the publisher 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" +], +"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." +], +"type": "string" +}, +"parent": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelParent", +"description": "Optional. The parent that this model was customized from. E.g., Vision API, Natural Language API, LaMDA, T5, etc. Foundation models don't have parents." +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1beta1PredictSchemata", +"description": "Optional. The schemata that describes formats of the PublisherModel's predictions and explanations as given and returned via PredictionService.Predict." +}, +"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" +}, +"supportedActions": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToAction", +"description": "Optional. Supported call-to-action options." +}, +"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" +}, +"versionState": { +"description": "Optional. Indicates the state of the model version.", +"enum": [ +"VERSION_STATE_UNSPECIFIED", +"VERSION_STATE_STABLE", +"VERSION_STATE_UNSTABLE" +], +"enumDescriptions": [ +"The version state is unspecified.", +"Used to indicate the version is stable.", +"Used to indicate the version is unstable." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToAction": { +"description": "Actions could take on this Publisher Model.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToAction", +"properties": { +"createApplication": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Create application using the PublisherModel." +}, +"deploy": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeploy", +"description": "Optional. Deploy the PublisherModel to Vertex Endpoint." +}, +"deployGke": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployGke", +"description": "Optional. Deploy PublisherModel to Google Kubernetes Engine." +}, +"multiDeployVertex": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployVertex", +"description": "Optional. Multiple setups to deploy the PublisherModel to Vertex Endpoint." +}, +"openEvaluationPipeline": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open evaluation pipeline of the PublisherModel." +}, +"openFineTuningPipeline": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open fine-tuning pipeline of the PublisherModel." +}, +"openFineTuningPipelines": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines", +"description": "Optional. Open fine-tuning pipelines of the PublisherModel." +}, +"openGenerationAiStudio": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open in Generation AI Studio." +}, +"openGenie": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open Genie / Playground." +}, +"openNotebook": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open notebook of the PublisherModel." +}, +"openNotebooks": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks", +"description": "Optional. Open notebooks of the PublisherModel." +}, +"openPromptTuningPipeline": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open prompt-tuning pipeline of the PublisherModel." +}, +"requestAccess": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Request for access." +}, +"viewRestApi": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionViewRestApi", +"description": "Optional. To view Rest API docs." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeploy": { +"description": "Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeploy", +"properties": { +"artifactUri": { +"description": "Optional. The path to the directory containing the Model artifact and any of its supporting files.", +"type": "string" +}, +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1beta1AutomaticResources", +"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration." +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelContainerSpec", +"description": "Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models." +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", +"description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration." +}, +"deployMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployDeployMetadata", +"description": "Optional. Metadata information about this deployment config." +}, +"deployTaskName": { +"description": "Optional. The name of the deploy task (e.g., \"text to image generation\").", +"type": "string" +}, +"largeModelReference": { +"$ref": "GoogleCloudAiplatformV1beta1LargeModelReference", +"description": "Optional. Large model reference. When this is set, model_artifact_spec is not needed." +}, +"modelDisplayName": { +"description": "Optional. Default model display name.", +"type": "string" +}, +"publicArtifactUri": { +"description": "Optional. The signed URI for ephemeral Cloud Storage access to model artifact.", +"type": "string" +}, +"sharedResources": { +"description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"title": { +"description": "Required. The title of the regional resource reference.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployDeployMetadata": { +"description": "Metadata information about the deployment for managing deployment config.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployDeployMetadata", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", +"type": "object" +}, +"sampleRequest": { +"description": "Optional. Sample request for deployed endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployGke": { +"description": "Configurations for PublisherModel GKE deployment", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployGke", +"properties": { +"gkeYamlConfigs": { +"description": "Optional. GKE deployment configuration in yaml format.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployVertex": { +"description": "Multiple setups to deploy the PublisherModel.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployVertex", +"properties": { +"multiDeployVertex": { +"description": "Optional. One click deployment configurations.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeploy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines": { +"description": "Open fine tuning pipelines.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines", +"properties": { +"fineTuningPipelines": { +"description": "Required. Regional resource references to fine tuning pipelines.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks": { +"description": "Open notebooks.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks", +"properties": { +"notebooks": { +"description": "Required. Regional resource references to notebooks.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences": { +"description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", +"properties": { +"references": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelResourceReference" +}, +"description": "Required.", +"type": "object" +}, +"resourceDescription": { +"description": "Optional. Description of the resource.", +"type": "string" +}, +"resourceTitle": { +"description": "Optional. Title of the resource.", +"type": "string" +}, +"resourceUseCase": { +"description": "Optional. Use case (CUJ) of the resource.", +"type": "string" +}, +"title": { +"description": "Required. ", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelCallToActionViewRestApi": { +"description": "Rest API docs.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionViewRestApi", +"properties": { +"documentations": { +"description": "Required.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelDocumentation" +}, +"type": "array" +}, +"title": { +"description": "Required. The title of the view rest API.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelDocumentation": { +"description": "A named piece of documentation.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelDocumentation", +"properties": { +"content": { +"description": "Required. Content of this piece of document (in Markdown format).", +"type": "string" +}, +"title": { +"description": "Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, NODE.JS, etc..", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelParent": { +"description": "The information about the parent of a model.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelParent", +"properties": { +"displayName": { +"description": "Required. The display name of the parent. E.g., LaMDA, T5, Vision API, Natural Language API.", +"type": "string" +}, +"reference": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelResourceReference", +"description": "Optional. The Google Cloud resource name or the URI reference." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PublisherModelResourceReference": { +"description": "Reference to a resource.", +"id": "GoogleCloudAiplatformV1beta1PublisherModelResourceReference", +"properties": { +"description": { +"deprecated": true, +"description": "Description of the resource.", +"type": "string" +}, +"resourceName": { +"description": "The resource name of the Google Cloud resource.", +"type": "string" +}, +"uri": { +"description": "The URI of the resource.", +"type": "string" +}, +"useCase": { +"deprecated": true, +"description": "Use case (CUJ) of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeArtifactsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1beta1PurgeArtifactsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for purging Artifacts." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeArtifactsRequest": { +"description": "Request message for MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1beta1PurgeArtifactsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Artifacts to be purged. E.g., `update_time <= 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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeArtifactsResponse": { +"description": "Response message for MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1beta1PurgeArtifactsResponse", +"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.", +"format": "int64", +"type": "string" +}, +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeContextsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1beta1PurgeContextsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for purging Contexts." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeContextsRequest": { +"description": "Request message for MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1beta1PurgeContextsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Contexts to be purged. E.g., `update_time <= 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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeContextsResponse": { +"description": "Response message for MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1beta1PurgeContextsResponse", +"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.", +"format": "int64", +"type": "string" +}, +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeExecutionsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1beta1PurgeExecutionsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for purging Executions." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeExecutionsRequest": { +"description": "Request message for MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1beta1PurgeExecutionsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Executions to be purged. E.g., `update_time <= 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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PurgeExecutionsResponse": { +"description": "Response message for MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1beta1PurgeExecutionsResponse", +"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.", +"format": "int64", +"type": "string" +}, +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1PythonPackageSpec": { +"description": "The spec of a Python packaged code.", +"id": "GoogleCloudAiplatformV1beta1PythonPackageSpec", +"properties": { +"args": { +"description": "Command line arguments to be passed to the Python task.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"description": "Environment variables to be passed to the python module. Maximum limit is 100.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EnvVar" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pythonModule": { +"description": "Required. The Python module name to run after installing the packages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QueryDeployedModelsResponse": { +"description": "Response message for QueryDeployedModels method.", +"id": "GoogleCloudAiplatformV1beta1QueryDeployedModelsResponse", +"properties": { +"deployedModelRefs": { +"description": "References to the DeployedModels that share the specified deploymentResourcePool.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModelRef" +}, +"type": "array" +}, +"deployedModels": { +"deprecated": true, +"description": "DEPRECATED Use deployed_model_refs instead.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedModel" +}, +"type": "array" +}, +"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" +}, +"totalDeployedModelCount": { +"description": "The total number of DeployedModels on this DeploymentResourcePool.", +"format": "int32", +"type": "integer" +}, +"totalEndpointCount": { +"description": "The total number of Endpoints that have DeployedModels on this DeploymentResourcePool.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QueryExtensionRequest": { +"description": "Request message for ExtensionExecutionService.QueryExtension.", +"id": "GoogleCloudAiplatformV1beta1QueryExtensionRequest", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QueryExtensionResponse": { +"description": "Response message for ExtensionExecutionService.QueryExtension.", +"id": "GoogleCloudAiplatformV1beta1QueryExtensionResponse", +"properties": { +"failureMessage": { +"description": "Failure message if any.", +"type": "string" +}, +"steps": { +"description": "Steps of extension or LLM interaction, can contain function call, function response, or text response. The last step contains the final response to the query.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest": { +"description": "Request message for ReasoningEngineExecutionService.Query.", +"id": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest", +"properties": { +"classMethod": { +"description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", +"type": "string" +}, +"input": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse": { +"description": "Response message for ReasoningEngineExecutionService.Query", +"id": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse", +"properties": { +"output": { +"description": "Response provided by users in JSON object format.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInput": { +"description": "Input for question answering correctness metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInstance", +"description": "Required. Question answering correctness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessSpec", +"description": "Required. Spec for question answering correctness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInstance": { +"description": "Spec for question answering correctness instance.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessInstance", +"properties": { +"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" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessResult": { +"description": "Spec for question answering correctness result.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering correctness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering correctness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Correctness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessSpec": { +"description": "Spec for question answering correctness metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringCorrectnessSpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInput": { +"description": "Input for question answering helpfulness metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInstance", +"description": "Required. Question answering helpfulness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessSpec", +"description": "Required. Spec for question answering helpfulness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInstance": { +"description": "Spec for question answering helpfulness instance.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessInstance", +"properties": { +"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" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessResult": { +"description": "Spec for question answering helpfulness result.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering helpfulness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessSpec": { +"description": "Spec for question answering helpfulness metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringHelpfulnessSpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInput": { +"description": "Input for question answering quality metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInstance", +"description": "Required. Question answering quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualitySpec", +"description": "Required. Spec for question answering quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInstance": { +"description": "Spec for question answering quality instance.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityInstance", +"properties": { +"context": { +"description": "Required. Text to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. Question Answering prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringQualityResult": { +"description": "Spec for question answering quality result.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering quality score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Quality score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringQualitySpec": { +"description": "Spec for question answering quality score metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringQualitySpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInput": { +"description": "Input for question answering relevance metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInstance", +"description": "Required. Question answering relevance instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceSpec", +"description": "Required. Spec for question answering relevance score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInstance": { +"description": "Spec for question answering relevance instance.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceInstance", +"properties": { +"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" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceResult": { +"description": "Spec for question answering relevance result.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering relevance score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering relevance score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Relevance score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceSpec": { +"description": "Spec for question answering relevance metric.", +"id": "GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceSpec", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagContexts": { +"description": "Relevant contexts for one query.", +"id": "GoogleCloudAiplatformV1beta1RagContexts", +"properties": { +"contexts": { +"description": "All its contexts.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RagContextsContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagContextsContext": { +"description": "A context of the query.", +"id": "GoogleCloudAiplatformV1beta1RagContextsContext", +"properties": { +"distance": { +"deprecated": true, +"description": "The distance between the query dense embedding vector and the context text vector.", +"format": "double", +"type": "number" +}, +"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.", +"format": "double", +"type": "number" +}, +"sourceDisplayName": { +"description": "The file display name.", +"type": "string" +}, +"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" +}, +"sparseDistance": { +"deprecated": true, +"description": "The distance between the query sparse embedding vector and the context text vector.", +"format": "double", +"type": "number" +}, +"text": { +"description": "The text chunk.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagCorpus": { +"description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", +"id": "GoogleCloudAiplatformV1beta1RagCorpus", +"properties": { +"corpusStatus": { +"$ref": "GoogleCloudAiplatformV1beta1CorpusStatus", +"description": "Output only. RagCorpus state.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp when this RagCorpus was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the RagCorpus.", +"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" +}, +"name": { +"description": "Output only. The resource name of the RagCorpus.", +"readOnly": true, +"type": "string" +}, +"ragEmbeddingModelConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig", +"deprecated": true, +"description": "Optional. Immutable. The embedding model config of the RagCorpus." +}, +"ragVectorDbConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", +"deprecated": true, +"description": "Optional. Immutable. The Vector DB config of the RagCorpus." +}, +"updateTime": { +"description": "Output only. Timestamp when this RagCorpus was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vectorDbConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", +"description": "Optional. Immutable. The config for the Vector DBs." +}, +"vertexAiSearchConfig": { +"$ref": "GoogleCloudAiplatformV1beta1VertexAiSearchConfig", +"description": "Optional. Immutable. The config for the Vertex AI Search." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig": { +"description": "Config for the embedding model to use for RAG.", +"id": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig", +"properties": { +"hybridSearchConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigHybridSearchConfig", +"description": "Configuration for hybrid search." +}, +"vertexPredictionEndpoint": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigVertexPredictionEndpoint", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigHybridSearchConfig": { +"description": "Config for hybrid search.", +"id": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigHybridSearchConfig", +"properties": { +"denseEmbeddingModelPredictionEndpoint": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigVertexPredictionEndpoint", +"description": "Required. The Vertex AI Prediction Endpoint that hosts the embedding model for dense embedding generations." +}, +"sparseEmbeddingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfig", +"description": "Optional. The configuration for sparse embedding generation. This field is optional the default behavior depends on the vector database choice on the RagCorpus." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfig": { +"description": "Configuration for sparse emebdding generation.", +"id": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfig", +"properties": { +"bm25": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfigBm25", +"description": "Use BM25 scoring algorithm." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfigBm25": { +"description": "Message for BM25 parameters.", +"id": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigSparseEmbeddingConfigBm25", +"properties": { +"b": { +"description": "Optional. The parameter to control document length normalization. It determines how much the document length affects the final score. b is in the range of [0, 1]. The default value is 0.75.", +"format": "float", +"type": "number" +}, +"k1": { +"description": "Optional. The parameter to control term frequency saturation. It determines the scaling between the matching term frequency and final score. k1 is in the range of [1.2, 3]. The default value is 1.2.", +"format": "float", +"type": "number" +}, +"multilingual": { +"description": "Optional. Use multilingual tokenizer if set to true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigVertexPredictionEndpoint": { +"description": "Config representing a model hosted on Vertex Prediction Endpoint.", +"id": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfigVertexPredictionEndpoint", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFile": { +"description": "A RagFile contains user data for chunking, embedding and indexing.", +"id": "GoogleCloudAiplatformV1beta1RagFile", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this RagFile was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the RagFile.", +"type": "string" +}, +"directUploadSource": { +"$ref": "GoogleCloudAiplatformV1beta1DirectUploadSource", +"description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", +"readOnly": true +}, +"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" +}, +"fileStatus": { +"$ref": "GoogleCloudAiplatformV1beta1FileStatus", +"description": "Output only. State of the RagFile.", +"readOnly": true +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", +"readOnly": true +}, +"googleDriveSource": { +"$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSource", +"description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", +"readOnly": true +}, +"jiraSource": { +"$ref": "GoogleCloudAiplatformV1beta1JiraSource", +"description": "The RagFile is imported from a Jira query." +}, +"name": { +"description": "Output only. The resource name of the RagFile.", +"readOnly": true, +"type": "string" +}, +"ragFileType": { +"description": "Output only. The type of the RagFile.", +"enum": [ +"RAG_FILE_TYPE_UNSPECIFIED", +"RAG_FILE_TYPE_TXT", +"RAG_FILE_TYPE_PDF" +], +"enumDescriptions": [ +"RagFile type is unspecified.", +"RagFile type is TXT.", +"RagFile type is PDF." +], +"readOnly": true, +"type": "string" +}, +"sharePointSources": { +"$ref": "GoogleCloudAiplatformV1beta1SharePointSources", +"description": "The RagFile is imported from a SharePoint source." +}, +"sizeBytes": { +"description": "Output only. The size of the RagFile in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"slackSource": { +"$ref": "GoogleCloudAiplatformV1beta1SlackSource", +"description": "The RagFile is imported from a Slack channel." +}, +"updateTime": { +"description": "Output only. Timestamp when this RagFile was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileChunkingConfig": { +"description": "Specifies the size and overlap of chunks for RagFiles.", +"id": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", +"properties": { +"chunkOverlap": { +"deprecated": true, +"description": "The overlap between chunks.", +"format": "int32", +"type": "integer" +}, +"chunkSize": { +"deprecated": true, +"description": "The size of the chunks.", +"format": "int32", +"type": "integer" +}, +"fixedLengthChunking": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking", +"description": "Specifies the fixed length chunking config." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking": { +"description": "Specifies the fixed length chunking config.", +"id": "GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking", +"properties": { +"chunkOverlap": { +"description": "The overlap between chunks.", +"format": "int32", +"type": "integer" +}, +"chunkSize": { +"description": "The size of the chunks.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileParsingConfig": { +"description": "Specifies the parsing config for RagFiles.", +"id": "GoogleCloudAiplatformV1beta1RagFileParsingConfig", +"properties": { +"advancedParser": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser", +"description": "The Advanced Parser to use for RagFiles." +}, +"layoutParser": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser", +"description": "The Layout Parser to use for RagFiles." +}, +"llmParser": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser", +"description": "The LLM Parser to use for RagFiles." +}, +"useAdvancedPdfParsing": { +"deprecated": true, +"description": "Whether to use advanced PDF parsing.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser": { +"description": "Specifies the advanced parsing for RagFiles.", +"id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser", +"properties": { +"useAdvancedPdfParsing": { +"description": "Whether to use advanced PDF parsing.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser": { +"description": "Document AI Layout Parser config.", +"id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser": { +"description": "Specifies the advanced parsing for RagFiles.", +"id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser", +"properties": { +"customParsingPrompt": { +"description": "The prompt to use for parsing. If not specified, a default prompt will be used.", +"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.", +"format": "int32", +"type": "integer" +}, +"modelName": { +"description": "The name of a LLM model used for parsing. Format: `gemini-1.5-pro-002`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagFileTransformationConfig": { +"description": "Specifies the transformation config for RagFiles.", +"id": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", +"properties": { +"ragFileChunkingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", +"description": "Specifies the chunking config for RagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagQuery": { +"description": "A query to retrieve relevant contexts.", +"id": "GoogleCloudAiplatformV1beta1RagQuery", +"properties": { +"ragRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", +"description": "Optional. The retrieval config for the query." +}, +"ranking": { +"$ref": "GoogleCloudAiplatformV1beta1RagQueryRanking", +"deprecated": true, +"description": "Optional. Configurations for hybrid search results ranking." +}, +"similarityTopK": { +"deprecated": true, +"description": "Optional. The number of contexts to retrieve.", +"format": "int32", +"type": "integer" +}, +"text": { +"description": "Optional. The query in text format to get relevant contexts.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagQueryRanking": { +"description": "Configurations for hybrid search results ranking.", +"id": "GoogleCloudAiplatformV1beta1RagQueryRanking", +"properties": { +"alpha": { +"description": "Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfig": { +"description": "Specifies the context retrieval config.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", +"properties": { +"filter": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", +"description": "Optional. Config for filters." +}, +"hybridSearch": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", +"description": "Optional. Config for Hybrid Search." +}, +"ranking": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", +"description": "Optional. Config for ranking and reranking." +}, +"topK": { +"description": "Optional. The number of contexts to retrieve.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter": { +"description": "Config for filters.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", +"properties": { +"metadataFilter": { +"description": "Optional. String for metadata filtering.", +"type": "string" +}, +"vectorDistanceThreshold": { +"description": "Optional. Only returns contexts with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +}, +"vectorSimilarityThreshold": { +"description": "Optional. Only returns contexts with vector similarity larger than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch": { +"description": "Config for Hybrid Search.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", +"properties": { +"alpha": { +"description": "Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking": { +"description": "Config for ranking and reranking.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", +"properties": { +"llmRanker": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", +"description": "Optional. Config for LlmRanker." +}, +"rankService": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", +"description": "Optional. Config for Rank Service." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker": { +"description": "Config for LlmRanker.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", +"properties": { +"modelName": { +"description": "Optional. The model name used for ranking. Format: `gemini-1.5-pro`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService": { +"description": "Config for Rank Service.", +"id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", +"properties": { +"modelName": { +"description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfig": { +"description": "Config for the Vector DB to use for RAG.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", +"properties": { +"apiAuth": { +"$ref": "GoogleCloudAiplatformV1beta1ApiAuth", +"description": "Authentication config for the chosen Vector DB." +}, +"pinecone": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigPinecone", +"description": "The config for the Pinecone." +}, +"ragEmbeddingModelConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig", +"description": "Optional. Immutable. The embedding model config of the Vector DB." +}, +"ragManagedDb": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigRagManagedDb", +"description": "The config for the RAG-managed Vector DB." +}, +"vertexFeatureStore": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexFeatureStore", +"description": "The config for the Vertex Feature Store." +}, +"vertexVectorSearch": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexVectorSearch", +"description": "The config for the Vertex Vector Search." +}, +"weaviate": { +"$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigWeaviate", +"description": "The config for the Weaviate." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfigPinecone": { +"description": "The config for the Pinecone.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfigPinecone", +"properties": { +"indexName": { +"description": "Pinecone index name. This value cannot be changed after it's set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfigRagManagedDb": { +"description": "The config for the default RAG-managed Vector DB.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfigRagManagedDb", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexFeatureStore": { +"description": "The config for the Vertex Feature Store.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexFeatureStore", +"properties": { +"featureViewResourceName": { +"description": "The resource name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexVectorSearch": { +"description": "The config for the Vertex Vector Search.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfigVertexVectorSearch", +"properties": { +"index": { +"description": "The resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"type": "string" +}, +"indexEndpoint": { +"description": "The resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RagVectorDbConfigWeaviate": { +"description": "The config for the Weaviate.", +"id": "GoogleCloudAiplatformV1beta1RagVectorDbConfigWeaviate", +"properties": { +"collectionName": { +"description": "The corresponding collection this corpus maps to. This value cannot be changed after it's set.", +"type": "string" +}, +"httpEndpoint": { +"description": "Weaviate DB instance HTTP endpoint. e.g. 34.56.78.90:8080 Vertex RAG only supports HTTP connection to Weaviate. This value cannot be changed after it's set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RawPredictRequest": { +"description": "Request message for PredictionService.RawPredict.", +"id": "GoogleCloudAiplatformV1beta1RawPredictRequest", +"properties": { +"httpBody": { +"$ref": "GoogleApiHttpBody", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RayLogsSpec": { +"description": "Configuration for the Ray OSS Logs.", +"id": "GoogleCloudAiplatformV1beta1RayLogsSpec", +"properties": { +"disabled": { +"description": "Optional. Flag to disable the export of Ray OSS logs to Cloud Logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RayMetricSpec": { +"description": "Configuration for the Ray metrics.", +"id": "GoogleCloudAiplatformV1beta1RayMetricSpec", +"properties": { +"disabled": { +"description": "Optional. Flag to disable the Ray metrics collection.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RaySpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1RaySpec", +"properties": { +"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" +}, +"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" +}, +"nfsMounts": { +"description": "Optional. Use if you want to mount to any NFS storages.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NfsMount" +}, +"type": "array" +}, +"rayLogsSpec": { +"$ref": "GoogleCloudAiplatformV1beta1RayLogsSpec", +"description": "Optional. OSS Ray logging configurations." +}, +"rayMetricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1RayMetricSpec", +"description": "Optional. Ray metrics configurations." +}, +"resourcePoolImages": { +"additionalProperties": { +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.ReadFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesRequest", +"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": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelector", +"description": "Required. Selector choosing Features of the target EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse": { +"description": "Response message for FeaturestoreOnlineServingService.ReadFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse", +"properties": { +"entityView": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityView", +"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." +}, +"header": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseHeader", +"description": "Response header." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityView": { +"description": "Entity view with Feature values.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityView", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityViewData" +}, +"type": "array" +}, +"entityId": { +"description": "ID of the requested entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityViewData": { +"description": "Container to hold value(s), successive in time, for one Feature from the request.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseEntityViewData", +"properties": { +"value": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValue", +"description": "Feature value if a single value is requested." +}, +"values": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValueList", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseFeatureDescriptor": { +"description": "Metadata for requested Features.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseFeatureDescriptor", +"properties": { +"id": { +"description": "Feature ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseHeader": { +"description": "Response header with metadata for the requested ReadFeatureValuesRequest.entity_type and Features.", +"id": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseHeader", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponseFeatureDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadIndexDatapointsRequest": { +"description": "The request message for MatchService.ReadIndexDatapoints.", +"id": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsRequest", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadIndexDatapointsResponse": { +"description": "The response message for MatchService.ReadIndexDatapoints.", +"id": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsResponse", +"properties": { +"datapoints": { +"description": "The result list of datapoints.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardBlobDataResponse": { +"description": "Response message for TensorboardService.ReadTensorboardBlobData.", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardBlobDataResponse", +"properties": { +"blobs": { +"description": "Blob messages containing blob bytes.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardBlob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardSizeResponse": { +"description": "Response message for TensorboardService.ReadTensorboardSize.", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardSizeResponse", +"properties": { +"storageSizeByte": { +"description": "Payload storage size for the TensorBoard", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.ReadTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardTimeSeriesDataResponse", +"properties": { +"timeSeriesData": { +"$ref": "GoogleCloudAiplatformV1beta1TimeSeriesData", +"description": "The returned time series data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponse": { +"description": "Response message for TensorboardService.ReadTensorboardUsage.", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponse", +"properties": { +"monthlyUsageData": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerMonthUsageData" +}, +"description": "Maps year-month (YYYYMM) string to per month usage data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerMonthUsageData": { +"description": "Per month usage data", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerMonthUsageData", +"properties": { +"userUsageData": { +"description": "Usage data for each user in the given month.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerUserUsageData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerUserUsageData": { +"description": "Per user usage data.", +"id": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerUserUsageData", +"properties": { +"username": { +"description": "User's username", +"type": "string" +}, +"viewCount": { +"description": "Number of times the user has read data within the Tensorboard.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReasoningEngine": { +"description": "ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.", +"id": "GoogleCloudAiplatformV1beta1ReasoningEngine", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ReasoningEngine was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the ReasoningEngine.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the ReasoningEngine.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the ReasoningEngine.", +"type": "string" +}, +"spec": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpec", +"description": "Required. Configurations of the ReasoningEngine" +}, +"updateTime": { +"description": "Output only. Timestamp when this ReasoningEngine was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReasoningEngineSpec": { +"description": "ReasoningEngine configurations", +"id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpec", +"properties": { +"classMethods": { +"description": "Optional. Declarations for object class methods in OpenAPI specification format.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"packageSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecPackageSpec", +"description": "Required. User provided package spec of the ReasoningEngine." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReasoningEngineSpecPackageSpec": { +"description": "User provided package spec like pickled object and package requirements.", +"id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecPackageSpec", +"properties": { +"dependencyFilesGcsUri": { +"description": "Optional. The Cloud Storage URI of the dependency files in tar.gz format.", +"type": "string" +}, +"pickleObjectGcsUri": { +"description": "Optional. The Cloud Storage URI of the pickled python object.", +"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" +}, +"requirementsGcsUri": { +"description": "Optional. The Cloud Storage URI of the `requirements.txt` file", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RebaseTunedModelRequest": { +"description": "Request message for GenAiTuningService.RebaseTunedModel.", +"id": "GoogleCloudAiplatformV1beta1RebaseTunedModelRequest", +"properties": { +"artifactDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Optional. The Google Cloud Storage location to write the artifacts." +}, +"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" +}, +"tunedModelRef": { +"$ref": "GoogleCloudAiplatformV1beta1TunedModelRef", +"description": "Required. TunedModel reference to retrieve the legacy model information." +}, +"tuningJob": { +"$ref": "GoogleCloudAiplatformV1beta1TuningJob", +"description": "Optional. The TuningJob to be updated. Users can use this TuningJob field to overwrite tuning configs." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata": { +"description": "Details of operations that perform reboot PersistentResource.", +"id": "GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Reboot LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest": { +"description": "Request message for PersistentResourceService.RebootPersistentResource.", +"id": "GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest": { +"description": "Request message for MetadataService.DeleteContextChildrenRequest.", +"id": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest", +"properties": { +"childContexts": { +"description": "The resource names of the child Contexts.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RemoveContextChildrenResponse": { +"description": "Response message for MetadataService.RemoveContextChildren.", +"id": "GoogleCloudAiplatformV1beta1RemoveContextChildrenResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RemoveDatapointsRequest": { +"description": "Request message for IndexService.RemoveDatapoints", +"id": "GoogleCloudAiplatformV1beta1RemoveDatapointsRequest", +"properties": { +"datapointIds": { +"description": "A list of datapoint ids to be deleted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RemoveDatapointsResponse": { +"description": "Response message for IndexService.RemoveDatapoints", +"id": "GoogleCloudAiplatformV1beta1RemoveDatapointsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReportExecutionEventRequest": { +"description": "Request message for NotebookInternalService.ReportExecutionEvent.", +"id": "GoogleCloudAiplatformV1beta1ReportExecutionEventRequest", +"properties": { +"eventType": { +"description": "Required. The type of the event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"ACTIVE", +"DONE", +"FAILED" +], +"enumDescriptions": [ +"Unspecified.", +"Notebook execution process has started. Expect this message within expected time to provision compute.", +"Notebook execution process is completed. Expect this message within timeout.", +"Notebook execution process has failed. Expect this message within timeout." +], +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Optional. The error details of the event." +}, +"vmToken": { +"description": "Required. The VM identity token (a JWT) for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReportExecutionEventResponse": { +"description": "Response message for NotebookInternalService.ReportExecutionEvent.", +"id": "GoogleCloudAiplatformV1beta1ReportExecutionEventResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest": { +"description": "Request message for NotebookInternalService.ReportRuntimeEvent.", +"id": "GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest", +"properties": { +"eventDetails": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The details of the request for debug.", +"type": "object" +}, +"eventType": { +"description": "Required. The type of the event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"HEARTBEAT", +"IDLE" +], +"enumDescriptions": [ +"Unspecified.", +"Used for readiness reporting.", +"Used for idle reporting." +], +"type": "string" +}, +"internalOsServiceStateInstance": { +"deprecated": true, +"description": "The details of the internal os service states.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance" +}, +"type": "array" +}, +"internalOsServiceStateInstances": { +"description": "Optional. The details of the internal os service states.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance" +}, +"type": "array" +}, +"vmToken": { +"description": "Required. The VM identity token (a JWT) for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReportRuntimeEventResponse": { +"description": "Response message for NotebookInternalService.ReportRuntimeEvent.", +"id": "GoogleCloudAiplatformV1beta1ReportRuntimeEventResponse", +"properties": { +"idleShutdownMessage": { +"description": "If the idle shutdown is blocked by CP, CP will send the block message. Otherwise, this field is not set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReservationAffinity": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ReservationAffinity", +"properties": { +"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" +}, +"reservationAffinityType": { +"description": "Required. Specifies the reservation affinity type.", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"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." +], +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResourcePool": { +"description": "Represents the spec of a group of resources of the same type, for example machine type, disk, and accelerators, in a PersistentResource.", +"id": "GoogleCloudAiplatformV1beta1ResourcePool", +"properties": { +"autoscalingSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ResourcePoolAutoscalingSpec", +"description": "Optional. Optional spec to configure GKE or Ray-on-Vertex autoscaling" +}, +"diskSpec": { +"$ref": "GoogleCloudAiplatformV1beta1DiskSpec", +"description": "Optional. Disk spec for the machine in this node pool." +}, +"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": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Required. Immutable. The specification of a single machine." +}, +"replicaCount": { +"description": "Optional. The total number of machines to use for this resource pool.", +"format": "int64", +"type": "string" +}, +"usedReplicaCount": { +"description": "Output only. The number of machines currently in use by training jobs for this resource pool. Will replace idle_replica_count.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResourcePoolAutoscalingSpec": { +"description": "The min/max number of replicas allowed if enabling autoscaling", +"id": "GoogleCloudAiplatformV1beta1ResourcePoolAutoscalingSpec", +"properties": { +"maxReplicaCount": { +"description": "Optional. max replicas in the node pool, must be \u2265 replica_count and > min_replica_count or will throw error", +"format": "int64", +"type": "string" +}, +"minReplicaCount": { +"description": "Optional. min replicas in the node pool, must be \u2264 replica_count and < 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 > 0, we added a corresponding validation inside CreatePersistentResourceRequestValidator.java.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResourceRuntime": { +"description": "Persistent Cluster runtime information as output", +"id": "GoogleCloudAiplatformV1beta1ResourceRuntime", +"properties": { +"accessUris": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"notebookRuntimeTemplate": { +"deprecated": true, +"description": "Output only. The resource name of NotebookRuntimeTemplate for the RoV Persistent Cluster The NotebokRuntimeTemplate is created in the same VPC (if set), and with the same Ray and Python version as the Persistent Cluster. Example: \"projects/1000/locations/us-central1/notebookRuntimeTemplates/abc123\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResourceRuntimeSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ResourceRuntimeSpec", +"properties": { +"raySpec": { +"$ref": "GoogleCloudAiplatformV1beta1RaySpec", +"description": "Optional. Ray cluster configuration. Required when creating a dedicated RayCluster on the PersistentResource." +}, +"serviceAccountSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ServiceAccountSpec", +"description": "Optional. Configure the use of workload identity on the PersistentResource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResourcesConsumed": { +"description": "Statistics information about resource consumption.", +"id": "GoogleCloudAiplatformV1beta1ResourcesConsumed", +"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.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RestoreDatasetVersionOperationMetadata": { +"description": "Runtime operation information for DatasetService.RestoreDatasetVersion.", +"id": "GoogleCloudAiplatformV1beta1RestoreDatasetVersionOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResumeModelDeploymentMonitoringJobRequest": { +"description": "Request message for JobService.ResumeModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1beta1ResumeModelDeploymentMonitoringJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ResumeScheduleRequest": { +"description": "Request message for ScheduleService.ResumeSchedule.", +"id": "GoogleCloudAiplatformV1beta1ResumeScheduleRequest", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Retrieval": { +"description": "Defines a retrieval tool that model can call to access external knowledge.", +"id": "GoogleCloudAiplatformV1beta1Retrieval", +"properties": { +"disableAttribution": { +"deprecated": true, +"description": "Optional. Deprecated. This option is no longer supported.", +"type": "boolean" +}, +"vertexAiSearch": { +"$ref": "GoogleCloudAiplatformV1beta1VertexAISearch", +"description": "Set to use data source powered by Vertex AI Search." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1beta1VertexRagStore", +"description": "Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RetrievalMetadata": { +"description": "Metadata related to retrieval in the grounding flow.", +"id": "GoogleCloudAiplatformV1beta1RetrievalMetadata", +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RetrieveContextsRequest": { +"description": "Request message for VertexRagService.RetrieveContexts.", +"id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest", +"properties": { +"query": { +"$ref": "GoogleCloudAiplatformV1beta1RagQuery", +"description": "Required. Single RAG retrieve query." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore", +"description": "The data source for Vertex RagStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore": { +"description": "The data source for Vertex RagStore.", +"id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore", +"properties": { +"ragCorpora": { +"deprecated": true, +"description": "Optional. Deprecated. Please use rag_resources to specify the data source.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource" +}, +"type": "array" +}, +"vectorDistanceThreshold": { +"deprecated": true, +"description": "Optional. Only return contexts with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource": { +"description": "The definition of the Rag resource.", +"id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RetrieveContextsResponse": { +"description": "Response message for VertexRagService.RetrieveContexts.", +"id": "GoogleCloudAiplatformV1beta1RetrieveContextsResponse", +"properties": { +"contexts": { +"$ref": "GoogleCloudAiplatformV1beta1RagContexts", +"description": "The contexts of the query." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RougeInput": { +"description": "Input for rouge metric.", +"id": "GoogleCloudAiplatformV1beta1RougeInput", +"properties": { +"instances": { +"description": "Required. Repeated rouge instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RougeInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1RougeSpec", +"description": "Required. Spec for rouge score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RougeInstance": { +"description": "Spec for rouge instance.", +"id": "GoogleCloudAiplatformV1beta1RougeInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RougeMetricValue": { +"description": "Rouge metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1RougeMetricValue", +"properties": { +"score": { +"description": "Output only. Rouge score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RougeResults": { +"description": "Results for rouge metric.", +"id": "GoogleCloudAiplatformV1beta1RougeResults", +"properties": { +"rougeMetricValues": { +"description": "Output only. Rouge metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1RougeMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RougeSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1RougeSpec", +"properties": { +"rougeType": { +"description": "Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.", +"type": "string" +}, +"splitSummaries": { +"description": "Optional. Whether to split summaries while using rougeLsum.", +"type": "boolean" +}, +"useStemmer": { +"description": "Optional. Whether to use stemmer to compute rouge score.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RuntimeArtifact": { +"description": "The definition of a runtime artifact.", +"id": "GoogleCloudAiplatformV1beta1RuntimeArtifact", +"properties": { +"customProperties": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1Value" +}, +"deprecated": true, +"description": "The custom properties of the artifact. Deprecated. Use RuntimeArtifact.metadata instead.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Properties of the Artifact.", +"type": "object" +}, +"name": { +"description": "The name of an artifact.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1Value" +}, +"deprecated": true, +"description": "The properties of the artifact. Deprecated. Use RuntimeArtifact.metadata instead.", +"type": "object" +}, +"type": { +"$ref": "GoogleCloudAiplatformV1beta1ArtifactTypeSchema", +"description": "The type of the artifact." +}, +"uri": { +"description": "The URI of the artifact.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RuntimeConfig": { +"description": "Runtime configuration to run the extension.", +"id": "GoogleCloudAiplatformV1beta1RuntimeConfig", +"properties": { +"codeInterpreterRuntimeConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RuntimeConfigCodeInterpreterRuntimeConfig", +"description": "Code execution runtime configurations for code interpreter extension." +}, +"defaultParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Default parameters that will be set for all the execution of this extension. If specified, the parameter values can be overridden by values in [[ExecuteExtensionRequest.operation_params]] at request time. The struct should be in a form of map with param name as the key and actual param value as the value. E.g. If this operation requires a param \"name\" to be set to \"abc\". you can set this to something like {\"name\": \"abc\"}.", +"type": "object" +}, +"vertexAiSearchRuntimeConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig", +"description": "Runtime configuration for Vertex AI Search extension." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RuntimeConfigCodeInterpreterRuntimeConfig": { +"id": "GoogleCloudAiplatformV1beta1RuntimeConfigCodeInterpreterRuntimeConfig", +"properties": { +"fileInputGcsBucket": { +"description": "Optional. The Cloud Storage bucket for file input of this Extension. If specified, support input from the Cloud Storage bucket. Vertex Extension Custom Code Service Agent should be granted file reader to this bucket. If not specified, the extension will only accept file contents from request body and reject Cloud Storage file inputs.", +"type": "string" +}, +"fileOutputGcsBucket": { +"description": "Optional. The Cloud Storage bucket for file output of this Extension. If specified, write all output files to the Cloud Storage bucket. Vertex Extension Custom Code Service Agent should be granted file writer to this bucket. If not specified, the file content will be output in response body.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig": { +"id": "GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig", +"properties": { +"engineId": { +"description": "Optional. Vertex AI Search engine ID. This is used to construct the search request. By setting this engine_id, API will construct the serving config using the default value to call search API for the user. The engine_id and serving_config_name cannot both be empty at the same time.", +"type": "string" +}, +"servingConfigName": { +"description": "Optional. Vertex AI Search serving config name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetyInput": { +"description": "Input for safety metric.", +"id": "GoogleCloudAiplatformV1beta1SafetyInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1SafetyInstance", +"description": "Required. Safety instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1SafetySpec", +"description": "Required. Spec for safety metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetyInstance": { +"description": "Spec for safety instance.", +"id": "GoogleCloudAiplatformV1beta1SafetyInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudAiplatformV1beta1SafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetyResult": { +"description": "Spec for safety result.", +"id": "GoogleCloudAiplatformV1beta1SafetyResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for safety score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for safety score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Safety score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetySetting": { +"description": "Safety settings.", +"id": "GoogleCloudAiplatformV1beta1SafetySetting", +"properties": { +"category": { +"description": "Required. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"type": "string" +}, +"method": { +"description": "Optional. Specify if the threshold is used for probability or severity score. If not specified, the threshold is used for probability score.", +"enum": [ +"HARM_BLOCK_METHOD_UNSPECIFIED", +"SEVERITY", +"PROBABILITY" +], +"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." +], +"type": "string" +}, +"threshold": { +"description": "Required. The harm block threshold.", +"enum": [ +"HARM_BLOCK_THRESHOLD_UNSPECIFIED", +"BLOCK_LOW_AND_ABOVE", +"BLOCK_MEDIUM_AND_ABOVE", +"BLOCK_ONLY_HIGH", +"BLOCK_NONE", +"OFF" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SafetySpec": { +"description": "Spec for safety metric.", +"id": "GoogleCloudAiplatformV1beta1SafetySpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SampleConfig": { +"description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", +"id": "GoogleCloudAiplatformV1beta1SampleConfig", +"properties": { +"followingBatchSamplePercentage": { +"description": "The percentage of data needed to be labeled in each following batch (except the first batch).", +"format": "int32", +"type": "integer" +}, +"initialBatchSamplePercentage": { +"description": "The percentage of data needed to be labeled in the first batch.", +"format": "int32", +"type": "integer" +}, +"sampleStrategy": { +"description": "Field to choose sampling strategy. Sampling strategy will decide which data should be selected for human labeling in every batch.", +"enum": [ +"SAMPLE_STRATEGY_UNSPECIFIED", +"UNCERTAINTY" +], +"enumDescriptions": [ +"Default will be treated as UNCERTAINTY.", +"Sample the most uncertain data to label." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SampledShapleyAttribution": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SampledShapleyAttribution", +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SamplingStrategy": { +"description": "Sampling Strategy for logging, can be for both training and prediction dataset.", +"id": "GoogleCloudAiplatformV1beta1SamplingStrategy", +"properties": { +"randomSampleConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SamplingStrategyRandomSampleConfig", +"description": "Random sample config. Will support more sampling strategies later." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SamplingStrategyRandomSampleConfig": { +"description": "Requests are randomly selected.", +"id": "GoogleCloudAiplatformV1beta1SamplingStrategyRandomSampleConfig", +"properties": { +"sampleRate": { +"description": "Sample rate (0, 1]", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SavedQuery": { +"description": "A SavedQuery is a view of the dataset. It references a subset of annotations by problem type and filters.", +"id": "GoogleCloudAiplatformV1beta1SavedQuery", +"properties": { +"annotationFilter": { +"description": "Output only. Filters on the Annotations in the dataset.", +"readOnly": true, +"type": "string" +}, +"annotationSpecCount": { +"description": "Output only. Number of AnnotationSpecs in the context of the SavedQuery.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"createTime": { +"description": "Output only. Timestamp when this SavedQuery was created.", +"format": "google-datetime", +"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" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write update. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"metadata": { +"description": "Some additional information about the SavedQuery.", +"type": "any" +}, +"name": { +"description": "Output only. Resource name of the SavedQuery.", +"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" +}, +"supportAutomlTraining": { +"description": "Output only. If the Annotations belonging to the SavedQuery can be used for AutoML training.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when SavedQuery was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Scalar": { +"description": "One point viewable on a scalar metric plot.", +"id": "GoogleCloudAiplatformV1beta1Scalar", +"properties": { +"value": { +"description": "Value of the point at this step / timestamp.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Schedule": { +"description": "An instance of a Schedule periodically schedules runs to make API calls based on user specified time specification and API request type.", +"id": "GoogleCloudAiplatformV1beta1Schedule", +"properties": { +"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" +}, +"createModelMonitoringJobRequest": { +"$ref": "GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest", +"description": "Request for ModelMonitoringService.CreateModelMonitoringJob." +}, +"createNotebookExecutionJobRequest": { +"$ref": "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest", +"description": "Request for NotebookService.CreateNotebookExecutionJob." +}, +"createPipelineJobRequest": { +"$ref": "GoogleCloudAiplatformV1beta1CreatePipelineJobRequest", +"description": "Request for PipelineService.CreatePipelineJob. CreatePipelineJobRequest.parent field is required (format: projects/{project}/locations/{location})." +}, +"createTime": { +"description": "Output only. Timestamp when this Schedule was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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" +}, +"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" +}, +"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 >= 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.", +"format": "google-datetime", +"type": "string" +}, +"lastPauseTime": { +"description": "Output only. Timestamp when this Schedule was last paused. Unset if never paused.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastResumeTime": { +"description": "Output only. Timestamp when this Schedule was last resumed. Unset if never resumed from pause.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastScheduledRunResponse": { +"$ref": "GoogleCloudAiplatformV1beta1ScheduleRunResponse", +"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 +}, +"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).", +"format": "int64", +"type": "string" +}, +"maxRunCount": { +"description": "Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count >= 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.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the Schedule.", +"type": "string" +}, +"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.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Optional. Timestamp after which the first run can be scheduled. Default to Schedule create time if not specified.", +"format": "google-datetime", +"type": "string" +}, +"startedRunCount": { +"description": "Output only. The number of runs started by this schedule.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of this Schedule.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"PAUSED", +"COMPLETED" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Schedule was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ScheduleConfig": { +"description": "Schedule configuration for the FeatureMonitor.", +"id": "GoogleCloudAiplatformV1beta1ScheduleConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ScheduleRunResponse": { +"description": "Status of a scheduled run.", +"id": "GoogleCloudAiplatformV1beta1ScheduleRunResponse", +"properties": { +"runResponse": { +"description": "The response of the scheduled run.", +"type": "string" +}, +"scheduledRunTime": { +"description": "The scheduled run time based on the user-specified schedule.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Scheduling": { +"description": "All parameters related to queuing and scheduling of custom jobs.", +"id": "GoogleCloudAiplatformV1beta1Scheduling", +"properties": { +"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.", +"format": "google-duration", +"type": "string" +}, +"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.", +"enum": [ +"STRATEGY_UNSPECIFIED", +"ON_DEMAND", +"LOW_COST", +"STANDARD", +"SPOT", +"FLEX_START" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false +], +"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." +], +"type": "string" +}, +"timeout": { +"description": "Optional. The maximum job running time. The default is 7 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Schema": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Schema", +"properties": { +"anyOf": { +"description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Schema" +}, +"type": "array" +}, +"default": { +"description": "Optional. Default value of the data.", +"type": "any" +}, +"description": { +"description": "Optional. The description of the data.", +"type": "string" +}, +"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\"]}", +"items": { +"type": "string" +}, +"type": "array" +}, +"example": { +"description": "Optional. Example of the object. Will only populated when the object is the root.", +"type": "any" +}, +"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" +}, +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Schema", +"description": "Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY." +}, +"maxItems": { +"description": "Optional. Maximum number of the elements for Type.ARRAY.", +"format": "int64", +"type": "string" +}, +"maxLength": { +"description": "Optional. Maximum length of the Type.STRING", +"format": "int64", +"type": "string" +}, +"maxProperties": { +"description": "Optional. Maximum number of the properties for Type.OBJECT.", +"format": "int64", +"type": "string" +}, +"maximum": { +"description": "Optional. Maximum value of the Type.INTEGER and Type.NUMBER", +"format": "double", +"type": "number" +}, +"minItems": { +"description": "Optional. Minimum number of the elements for Type.ARRAY.", +"format": "int64", +"type": "string" +}, +"minLength": { +"description": "Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING", +"format": "int64", +"type": "string" +}, +"minProperties": { +"description": "Optional. Minimum number of the properties for Type.OBJECT.", +"format": "int64", +"type": "string" +}, +"minimum": { +"description": "Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER", +"format": "double", +"type": "number" +}, +"nullable": { +"description": "Optional. Indicates if the value may be null.", +"type": "boolean" +}, +"pattern": { +"description": "Optional. Pattern of the Type.STRING to restrict a string to a regular expression.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1Schema" +}, +"description": "Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT.", +"type": "object" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"required": { +"description": "Optional. Required properties of Type.OBJECT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Optional. The title of the Schema.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the data.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"BOOLEAN", +"ARRAY", +"OBJECT" +], +"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" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaAnnotationSpecColor": { +"description": "An entry of mapping between color and AnnotationSpec. The mapping is used in segmentation mask.", +"id": "GoogleCloudAiplatformV1beta1SchemaAnnotationSpecColor", +"properties": { +"color": { +"$ref": "GoogleTypeColor", +"description": "The color of the AnnotationSpec in a segmentation mask." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageBoundingBoxAnnotation": { +"description": "Annotation details specific to image object detection.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageBoundingBoxAnnotation", +"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" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageClassificationAnnotation": { +"description": "Annotation details specific to image classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageClassificationAnnotation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageDataItem": { +"description": "Payload of Image DataItem.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageDataItem", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageDatasetMetadata": { +"description": "The metadata of Datasets that contain Image DataItems.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageDatasetMetadata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotation": { +"description": "Annotation details specific to image segmentation.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotation", +"properties": { +"maskAnnotation": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationMaskAnnotation", +"description": "Mask based segmentation annotation. Only one mask annotation can exist for one image." +}, +"polygonAnnotation": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolygonAnnotation", +"description": "Polygon annotation." +}, +"polylineAnnotation": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolylineAnnotation", +"description": "Polyline annotation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationMaskAnnotation": { +"description": "The mask based segmentation annotation.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationMaskAnnotation", +"properties": { +"annotationSpecColors": { +"description": "The mapping between color and AnnotationSpec for this Annotation.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaAnnotationSpecColor" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolygonAnnotation": { +"description": "Represents a polygon in image.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolygonAnnotation", +"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" +}, +"vertexes": { +"description": "The vertexes are connected one by one and the last vertex is connected to the first one to represent a polygon.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolylineAnnotation": { +"description": "Represents a polyline in image.", +"id": "GoogleCloudAiplatformV1beta1SchemaImageSegmentationAnnotationPolylineAnnotation", +"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" +}, +"vertexes": { +"description": "The vertexes are connected one by one and the last vertex in not connected to the first one.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetrics": { +"description": "Bounding box matching model metrics for a single intersection-over-union threshold and multiple label match confidence thresholds.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetrics", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics" +}, +"type": "array" +}, +"iouThreshold": { +"description": "The intersection-over-union threshold value used to compute this metrics entry.", +"format": "float", +"type": "number" +}, +"meanAveragePrecision": { +"description": "The mean average precision, most often close to `auPrc`.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision under the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall under the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsClassificationEvaluationMetrics": { +"description": "Metrics for classification evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsClassificationEvaluationMetrics", +"properties": { +"auPrc": { +"description": "The Area Under Precision-Recall Curve metric. Micro-averaged for the overall evaluation.", +"format": "float", +"type": "number" +}, +"auRoc": { +"description": "The Area Under Receiver Operating Characteristic curve metric. Micro-averaged for the overall evaluation.", +"format": "float", +"type": "number" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation." +}, +"logLoss": { +"description": "The Log Loss metric.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation for this confidence_threshold." +}, +"f1Score": { +"description": "The harmonic mean of recall and precision. For summary metrics, it computes the micro-averaged F1 score.", +"format": "float", +"type": "number" +}, +"f1ScoreAt1": { +"description": "The harmonic mean of recallAt1 and precisionAt1.", +"format": "float", +"type": "number" +}, +"f1ScoreMacro": { +"description": "Macro-averaged F1 Score.", +"format": "float", +"type": "number" +}, +"f1ScoreMicro": { +"description": "Micro-averaged F1 Score.", +"format": "float", +"type": "number" +}, +"falseNegativeCount": { +"description": "The number of ground truth labels that are not matched by a Model created label.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "The number of Model created labels that do not match a ground truth label.", +"format": "int64", +"type": "string" +}, +"falsePositiveRate": { +"description": "False Positive Rate for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"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`.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"precisionAt1": { +"description": "The precision when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"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.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "The number of Model created labels that match a ground truth label.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef" +}, +"type": "array" +}, +"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.", +"items": { +"items": { +"type": "any" +}, +"type": "array" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef", +"properties": { +"displayName": { +"description": "Display name of the AnnotationSpec.", +"type": "string" +}, +"id": { +"description": "ID of the AnnotationSpec.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsForecastingEvaluationMetrics": { +"description": "Metrics for forecasting evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsForecastingEvaluationMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean Absolute Error (MAE).", +"format": "float", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", +"format": "float", +"type": "number" +}, +"quantileMetrics": { +"description": "The quantile metrics entries for each quantile.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry" +}, +"type": "array" +}, +"rSquared": { +"description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredError": { +"description": "Root Mean Squared Error (RMSE).", +"format": "float", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredPercentageError": { +"description": "Root Mean Square Percentage Error. Square root of MSPE. Undefined/imaginary when MSPE is negative.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry": { +"description": "Entry for the Quantiles loss type optimization objective.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry", +"properties": { +"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.", +"format": "double", +"type": "number" +}, +"quantile": { +"description": "The quantile for this entry.", +"format": "double", +"type": "number" +}, +"scaledPinballLoss": { +"description": "The scaled pinball loss of this quantile.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics", +"properties": { +"bleu": { +"description": "BLEU (bilingual evaluation understudy) scores based on sacrebleu implementation.", +"format": "float", +"type": "number" +}, +"rougeLSum": { +"description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics": { +"description": "Metrics for image object detection evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetricsEntries`.", +"format": "float", +"type": "number" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetrics" +}, +"type": "array" +}, +"evaluatedBoundingBoxCount": { +"description": "The total number of bounding boxes (i.e. summed over all images) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics": { +"description": "Metrics for image segmentation evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix for the given confidence threshold." +}, +"diceScoreCoefficient": { +"description": "DSC or the F1 score, The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics": { +"description": "Metrics for general pairwise text generation evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics", +"properties": { +"accuracy": { +"description": "Fraction of cases where the autorater agreed with the human raters.", +"format": "float", +"type": "number" +}, +"baselineModelWinRate": { +"description": "Percentage of time the autorater decided the baseline model had the better response.", +"format": "float", +"type": "number" +}, +"cohensKappa": { +"description": "A measurement of agreement between the autorater and human raters that takes the likelihood of random agreement into account.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "Harmonic mean of precision and recall.", +"format": "float", +"type": "number" +}, +"falseNegativeCount": { +"description": "Number of examples where the autorater chose the baseline model, but humans preferred the model.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "Number of examples where the autorater chose the model, but humans preferred the baseline model.", +"format": "int64", +"type": "string" +}, +"humanPreferenceBaselineModelWinRate": { +"description": "Percentage of time humans decided the baseline model had the better response.", +"format": "float", +"type": "number" +}, +"humanPreferenceModelWinRate": { +"description": "Percentage of time humans decided the model had the better response.", +"format": "float", +"type": "number" +}, +"modelWinRate": { +"description": "Percentage of time the autorater decided the model had the better response.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"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.", +"format": "float", +"type": "number" +}, +"trueNegativeCount": { +"description": "Number of examples where both the autorater and humans decided that the model had the worse response.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "Number of examples where both the autorater and humans decided that the model had the better response.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics", +"properties": { +"exactMatch": { +"description": "The rate at which the input predicted strings exactly match their references.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsRegressionEvaluationMetrics": { +"description": "Metrics for regression evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsRegressionEvaluationMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean Absolute Error (MAE).", +"format": "float", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", +"format": "float", +"type": "number" +}, +"rSquared": { +"description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredError": { +"description": "Root Mean Squared Error (RMSE).", +"format": "float", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsSummarizationEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsSummarizationEvaluationMetrics", +"properties": { +"rougeLSum": { +"description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics": { +"description": "Metrics for text extraction evaluation results.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from them.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics": { +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics": { +"description": "Model evaluation metrics for text sentiment problems.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics", +"properties": { +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation. Only set for ModelEvaluations, not for ModelEvaluationSlices." +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"linearKappa": { +"description": "Linear weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"meanAbsoluteError": { +"description": "Mean absolute error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"meanSquaredError": { +"description": "Mean squared error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision.", +"format": "float", +"type": "number" +}, +"quadraticKappa": { +"description": "Quadratic weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetrics": { +"description": "UNIMPLEMENTED. Track matching model metrics for a single track match threshold and multiple label match confidence thresholds.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetrics", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics" +}, +"type": "array" +}, +"iouThreshold": { +"description": "The intersection-over-union threshold value between bounding boxes across frames used to compute this metric entry.", +"format": "float", +"type": "number" +}, +"meanBoundingBoxIou": { +"description": "The mean bounding box iou over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanMismatchRate": { +"description": "The mean mismatch rate over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanTrackingAveragePrecision": { +"description": "The mean average precision over all confidence thresholds.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics", +"properties": { +"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).", +"format": "float", +"type": "number" +}, +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"mismatchRate": { +"description": "Mismatch rate, which measures the tracking consistency, i.e. correctness of instance ID continuity.", +"format": "float", +"type": "number" +}, +"trackingPrecision": { +"description": "Tracking precision.", +"format": "float", +"type": "number" +}, +"trackingRecall": { +"description": "Tracking recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetrics": { +"description": "The Evaluation metrics given a specific precision_window_length.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics" +}, +"type": "array" +}, +"meanAveragePrecision": { +"description": "The mean average precision.", +"format": "float", +"type": "number" +}, +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Output only. The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "Output only. The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Output only. Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Output only. Recall for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionRecognitionMetrics": { +"description": "Model evaluation metrics for video action recognition.", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionRecognitionMetrics", +"properties": { +"evaluatedActionCount": { +"description": "The number of ground truth actions used to create this evaluation.", +"format": "int32", +"type": "integer" +}, +"videoActionMetrics": { +"description": "The metric entries for precision window lengths: 1s,2s,3s.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoActionMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoObjectTrackingMetrics": { +"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).", +"id": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsVideoObjectTrackingMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetrics`.", +"format": "float", +"type": "number" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsBoundingBoxMetrics" +}, +"type": "array" +}, +"evaluatedBoundingBoxCount": { +"description": "UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over all frames) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +}, +"evaluatedFrameCount": { +"description": "UNIMPLEMENTED. The number of video frames used to create this evaluation.", +"format": "int32", +"type": "integer" +}, +"evaluatedTrackCount": { +"description": "UNIMPLEMENTED. The total number of tracks (i.e. as seen across all frames) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +}, +"trackMeanAveragePrecision": { +"description": "UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the `meanAveragePrecision` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"trackMeanBoundingBoxIou": { +"description": "UNIMPLEMENTED. The single metric for tracks bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"trackMeanMismatchRate": { +"description": "UNIMPLEMENTED. The single metric for tracking consistency evaluation: the `meanMismatchRate` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaModelevaluationMetricsTrackMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageClassificationPredictionInstance": { +"description": "Prediction input format for Image Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageClassificationPredictionInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageObjectDetectionPredictionInstance": { +"description": "Prediction input format for Image Object Detection.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageObjectDetectionPredictionInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageSegmentationPredictionInstance": { +"description": "Prediction input format for Image Segmentation.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceImageSegmentationPredictionInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextClassificationPredictionInstance": { +"description": "Prediction input format for Text Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextClassificationPredictionInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextExtractionPredictionInstance": { +"description": "Prediction input format for Text Extraction.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextExtractionPredictionInstance", +"properties": { +"content": { +"description": "The text snippet to make the predictions on.", +"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" +}, +"mimeType": { +"description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextSentimentPredictionInstance": { +"description": "Prediction input format for Text Sentiment.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceTextSentimentPredictionInstance", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoActionRecognitionPredictionInstance": { +"description": "Prediction input format for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoActionRecognitionPredictionInstance", +"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" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoClassificationPredictionInstance": { +"description": "Prediction input format for Video Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoClassificationPredictionInstance", +"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" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoObjectTrackingPredictionInstance": { +"description": "Prediction input format for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoObjectTrackingPredictionInstance", +"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" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig": { +"description": "The configuration for grounding checking.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", +"properties": { +"disableAttribution": { +"deprecated": true, +"description": "If set, skip finding claim attributions (i.e not generate grounding citation).", +"type": "boolean" +}, +"sources": { +"description": "The sources for the grounding checking.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry": { +"description": "Single source entry for the grounding checking.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry", +"properties": { +"enterpriseDatastore": { +"deprecated": true, +"description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", +"type": "string" +}, +"inlineContext": { +"description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", +"type": "string" +}, +"type": { +"description": "The type of the grounding checking source.", +"enum": [ +"UNSPECIFIED", +"WEB", +"ENTERPRISE", +"VERTEX_AI_SEARCH", +"INLINE" +], +"enumDeprecated": [ +false, +false, +true, +false, +false +], +"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." +], +"type": "string" +}, +"vertexAiSearchDatastore": { +"description": "The uri of the Vertex AI Search data source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams": { +"description": "Prediction model parameters for Image Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsImageObjectDetectionPredictionParams": { +"description": "Prediction model parameters for Image Object Detection.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageObjectDetectionPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsImageSegmentationPredictionParams": { +"description": "Prediction model parameters for Image Segmentation.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageSegmentationPredictionParams", +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoActionRecognitionPredictionParams": { +"description": "Prediction model parameters for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoActionRecognitionPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoClassificationPredictionParams": { +"description": "Prediction model parameters for Video Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoClassificationPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoObjectTrackingPredictionParams": { +"description": "Prediction model parameters for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsVideoObjectTrackingPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionClassificationPredictionResult": { +"description": "Prediction output format for Image and Text Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionClassificationPredictionResult", +"properties": { +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionImageObjectDetectionPredictionResult": { +"description": "Prediction output format for Image Object Detection.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionImageObjectDetectionPredictionResult", +"properties": { +"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.", +"items": { +"items": { +"type": "any" +}, +"type": "array" +}, +"type": "array" +}, +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionImageSegmentationPredictionResult": { +"description": "Prediction output format for Image Segmentation.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionImageSegmentationPredictionResult", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTabularClassificationPredictionResult": { +"description": "Prediction output format for Tabular Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTabularClassificationPredictionResult", +"properties": { +"classes": { +"description": "The name of the classes being classified, contains all possible values of the target column.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTabularRegressionPredictionResult": { +"description": "Prediction output format for Tabular Regression.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTabularRegressionPredictionResult", +"properties": { +"lowerBound": { +"description": "The lower bound of the prediction interval.", +"format": "float", +"type": "number" +}, +"quantilePredictions": { +"description": "Quantile predictions, in 1-1 correspondence with quantile_values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"quantileValues": { +"description": "Quantile values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"upperBound": { +"description": "The upper bound of the prediction interval.", +"format": "float", +"type": "number" +}, +"value": { +"description": "The regression value.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTextExtractionPredictionResult": { +"description": "Prediction output format for Text Extraction.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTextExtractionPredictionResult", +"properties": { +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTextSentimentPredictionResult": { +"description": "Prediction output format for Text Sentiment", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTextSentimentPredictionResult", +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTftFeatureImportance": { +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTftFeatureImportance", +"properties": { +"attributeColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"attributeWeights": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"contextColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"horizonColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"horizonWeights": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionTimeSeriesForecastingPredictionResult": { +"description": "Prediction output format for Time Series Forecasting.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTimeSeriesForecastingPredictionResult", +"properties": { +"quantilePredictions": { +"description": "Quantile predictions, in 1-1 correspondence with quantile_values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"quantileValues": { +"description": "Quantile values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"tftFeatureImportance": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionTftFeatureImportance", +"description": "Only use these if TFt is enabled." +}, +"value": { +"description": "The regression value.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoActionRecognitionPredictionResult": { +"description": "Prediction output format for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoActionRecognitionPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"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.", +"format": "google-duration", +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoClassificationPredictionResult": { +"description": "Prediction output format for Video Classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoClassificationPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"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.", +"format": "google-duration", +"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.", +"format": "google-duration", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoObjectTrackingPredictionResult": { +"description": "Prediction output format for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoObjectTrackingPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame" +}, +"type": "array" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"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.", +"format": "google-duration", +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame", +"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.", +"format": "google-duration", +"type": "string" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictionResult": { +"description": "Represents a line of JSONL in the batch prediction output file.", +"id": "GoogleCloudAiplatformV1beta1SchemaPredictionResult", +"properties": { +"error": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPredictionResultError", +"description": "The error result. Do not set prediction if this is set." +}, +"instance": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPredictionResultError": { +"id": "GoogleCloudAiplatformV1beta1SchemaPredictionResultError", +"properties": { +"message": { +"description": "Error message with additional details.", +"type": "string" +}, +"status": { +"description": "Error status. This will be serialized into the enum name e.g. \"NOT_FOUND\".", +"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" +], +"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" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptApiSchema": { +"description": "The A2 schema of a prompt.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", +"properties": { +"apiSchemaVersion": { +"description": "The Schema version that represents changes to the API behavior.", +"type": "string" +}, +"executions": { +"description": "A list of execution instances for constructing a ready-to-use prompt.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution" +}, +"type": "array" +}, +"multimodalPrompt": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", +"description": "Multimodal prompt which embeds preambles to prompt string." +}, +"structuredPrompt": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", +"description": "The prompt variation that stores preambles in separate fields." +}, +"translationPrompt": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt", +"description": "The prompt variation for Translation use case." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution": { +"description": "A prompt instance's parameters set that contains a set of variable values.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution", +"properties": { +"arguments": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue" +}, +"description": "Maps variable names to their value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue": { +"description": "The value of a variable in prompt.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue", +"properties": { +"partList": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", +"description": "The parts of the variable value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt": { +"description": "Prompt variation that embeds preambles to prompt string.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", +"properties": { +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList": { +"description": "A list of elements and information that make up a portion of prompt.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", +"properties": { +"parts": { +"description": "A list of elements that can be part of a prompt.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Part" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage": { +"description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", +"description": "Generation config." +}, +"model": { +"description": "The model name.", +"type": "string" +}, +"safetySettings": { +"description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SafetySetting" +}, +"type": "array" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"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." +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ToolConfig", +"description": "Tool config. This config is shared for all tools provided in the request." +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair": { +"description": "A pair of sentences used as reference in source and target languages.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair", +"properties": { +"sourceSentence": { +"description": "Source sentence in the sentence pair.", +"type": "string" +}, +"targetSentence": { +"description": "Target sentence in the sentence pair.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList": { +"description": "A list of reference sentence pairs.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList", +"properties": { +"referenceSentencePairs": { +"description": "Reference sentence pairs.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt": { +"description": "Prompt variation that stores preambles in separate fields.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", +"properties": { +"context": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Preamble: The context of the prompt." +}, +"examples": { +"description": "Preamble: A set of examples for expected model response.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList" +}, +"type": "array" +}, +"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" +}, +"inputPrefixes": { +"description": "Preamble: The input prefixes before each example input.", +"items": { +"type": "string" +}, +"type": "array" +}, +"outputPrefixes": { +"description": "Preamble: The output prefixes before each example output.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList" +}, +"type": "array" +}, +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample": { +"description": "The translation example that contains reference sentences from various sources.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample", +"properties": { +"referenceSentencePairLists": { +"description": "The reference sentences from inline text.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList" +}, +"type": "array" +}, +"referenceSentencesFileInputs": { +"description": "The reference sentences from file.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource": { +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource", +"properties": { +"content": { +"description": "The file's contents.", +"type": "string" +}, +"displayName": { +"description": "The file's display name.", +"type": "string" +}, +"mimeType": { +"description": "The file's mime type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource": { +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource", +"properties": { +"inputUri": { +"description": "Source data URI. For example, `gs://my_bucket/my_object`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption": { +"description": "Optional settings for translation prompt.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption", +"properties": { +"numberOfShots": { +"description": "How many shots to use.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt": { +"description": "Prompt variation for Translation use case.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt", +"properties": { +"example": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample", +"description": "The translation example." +}, +"option": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption", +"description": "The translation option." +}, +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +}, +"sourceLanguageCode": { +"description": "The source language code.", +"type": "string" +}, +"targetLanguageCode": { +"description": "The target language code.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput": { +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput", +"properties": { +"fileInputSource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource", +"description": "Inlined file source." +}, +"gcsInputSource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource", +"description": "Cloud Storage file source." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata": { +"description": "The metadata of Datasets that contain tables data.", +"id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataInputConfig" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataBigQuerySource": { +"id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataBigQuerySource", +"properties": { +"uri": { +"description": "The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataGcsSource": { +"id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataGcsSource", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataInputConfig": { +"description": "The tables Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", +"id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataBigQuerySource" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadataGcsSource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextClassificationAnnotation": { +"description": "Annotation details specific to text classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextClassificationAnnotation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextDataItem": { +"description": "Payload of Text DataItem.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextDataItem", +"properties": { +"gcsUri": { +"description": "Output only. Google Cloud Storage URI points to the original text in user's bucket. The text file is up to 10MB in size.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextDatasetMetadata": { +"description": "The metadata of Datasets that contain Text DataItems.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextDatasetMetadata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextExtractionAnnotation": { +"description": "Annotation details specific to text extraction.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextExtractionAnnotation", +"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" +}, +"textSegment": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTextSegment", +"description": "The segment of the text content." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata": { +"description": "The metadata of Datasets that contain Text Prompt data.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata", +"properties": { +"candidateCount": { +"description": "Number of candidates.", +"format": "int64", +"type": "string" +}, +"gcsUri": { +"description": "The Google Cloud Storage URI that stores the prompt data.", +"type": "string" +}, +"groundingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", +"description": "Grounding checking configuration." +}, +"hasPromptVariable": { +"description": "Whether the prompt dataset has prompt variable.", +"type": "boolean" +}, +"logprobs": { +"description": "Whether or not the user has enabled logit probabilities in the model parameters.", +"type": "boolean" +}, +"maxOutputTokens": { +"description": "Value of the maximum number of tokens generated set when the dataset was saved.", +"format": "int64", +"type": "string" +}, +"note": { +"description": "User-created prompt note. Note size limit is 2KB.", +"type": "string" +}, +"promptApiSchema": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", +"description": "The API schema of the prompt to support both UI and SDK usages." +}, +"promptType": { +"description": "Type of the prompt dataset.", +"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.", +"format": "int64", +"type": "string" +}, +"stopSequences": { +"description": "Customized stop sequences.", +"items": { +"type": "string" +}, +"type": "array" +}, +"systemInstruction": { +"description": "The content of the prompt dataset system instruction.", +"type": "string" +}, +"systemInstructionGcsUri": { +"description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", +"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.", +"format": "float", +"type": "number" +}, +"text": { +"description": "The content of the prompt dataset.", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +}, +"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.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextSegment": { +"description": "The text segment inside of DataItem.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextSegment", +"properties": { +"content": { +"description": "The text content in the segment for output only.", +"type": "string" +}, +"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.", +"format": "uint64", +"type": "string" +}, +"startOffset": { +"description": "Zero-based character index of the first character of the text segment (counting characters from the beginning of the text).", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextSentimentAnnotation": { +"description": "Annotation details specific to text sentiment.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextSentimentAnnotation", +"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" +}, +"sentiment": { +"description": "The sentiment score for text.", +"format": "int32", +"type": "integer" +}, +"sentimentMax": { +"description": "The sentiment max score for text.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTextSentimentSavedQueryMetadata": { +"description": "The metadata of SavedQuery contains TextSentiment Annotations.", +"id": "GoogleCloudAiplatformV1beta1SchemaTextSentimentSavedQueryMetadata", +"properties": { +"sentimentMax": { +"description": "The maximum sentiment of sentiment Anntoation in this SavedQuery.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTimeSegment": { +"description": "A time period inside of a DataItem that has a time dimension (e.g. video).", +"id": "GoogleCloudAiplatformV1beta1SchemaTimeSegment", +"properties": { +"endTimeOffset": { +"description": "End of the time segment (exclusive), represented as the duration since the start of the DataItem.", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Start of the time segment (inclusive), represented as the duration since the start of the DataItem.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadata": { +"description": "The metadata of Datasets that contain time series data.", +"id": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadata", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataInputConfig" +}, +"timeColumn": { +"description": "The column name of the time column that identifies time order in the time series.", +"type": "string" +}, +"timeSeriesIdentifierColumn": { +"description": "The column name of the time series identifier column that identifies the time series.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataBigQuerySource": { +"id": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataBigQuerySource", +"properties": { +"uri": { +"description": "The URI of a BigQuery table.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataGcsSource": { +"id": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataGcsSource", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataInputConfig": { +"description": "The time series Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", +"id": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataBigQuerySource" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTimeSeriesDatasetMetadataGcsSource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"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" +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"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.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"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" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"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.", +"format": "int64", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingMetadata": { +"description": "Model metadata specific to AutoML Forecasting.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Image Classification Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"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" +}, +"modelType": { +"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" +], +"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." +], +"type": "string" +}, +"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" +}, +"tunableParameter": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"description": "Trainer type for Vision TrainRequest." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", +"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.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetection": { +"description": "A TrainingJob that trains and uploads an AutoML Image Object Detection Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetection", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", +"description": "The metadata information" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"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" +}, +"modelType": { +"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" +], +"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." +], +"type": "string" +}, +"tunableParameter": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"description": "Trainer type for Vision TrainRequest." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", +"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.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentation": { +"description": "A TrainingJob that trains and uploads an AutoML Image Segmentation Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentation", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", +"properties": { +"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. 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).", +"format": "int64", +"type": "string" +}, +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD_HIGH_ACCURACY_1", +"CLOUD_LOW_ACCURACY_1", +"MOBILE_TF_LOW_LATENCY_1" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", +"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.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTables": { +"description": "A TrainingJob that trains and uploads an AutoML Tables Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTables", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the Tables training pipeline.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"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" +}, +"optimizationObjectivePrecisionValue": { +"description": "Required when optimization_objective is \"maximize-recall-at-precision\". Must be between 0 and 1, inclusive.", +"format": "float", +"type": "number" +}, +"optimizationObjectiveRecallValue": { +"description": "Required when optimization_objective is \"maximize-precision-at-recall\". Must be between 0 and 1, inclusive.", +"format": "float", +"type": "number" +}, +"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" +}, +"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.", +"format": "int64", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation" +}, +"repeatedCategorical": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation" +}, +"repeatedNumeric": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation" +}, +"repeatedText": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesMetadata": { +"description": "Model metadata specific to AutoML Tables.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTablesMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Text Classification Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", +"properties": { +"multiLabel": { +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextExtraction": { +"description": "A TrainingJob that trains and uploads an AutoML Text Extraction Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextExtraction", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextSentiment": { +"description": "A TrainingJob that trains and uploads an AutoML Text Sentiment Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextSentiment", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition": { +"description": "A TrainingJob that trains and uploads an AutoML Video Action Recognition Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", +"properties": { +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"MOBILE_VERSATILE_1", +"MOBILE_JETSON_VERSATILE_1", +"MOBILE_CORAL_VERSATILE_1" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Video Classification Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", +"properties": { +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"MOBILE_VERSATILE_1", +"MOBILE_JETSON_VERSATILE_1" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking": { +"description": "A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", +"properties": { +"modelType": { +"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" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter": { +"description": "A wrapper class which contains the tunable parameters in an AutoML Image training job.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"properties": { +"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" +}, +"datasetConfig": { +"additionalProperties": { +"type": "string" +}, +"description": "Customizable dataset settings, used in the `model_garden_trainer`.", +"type": "object" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpec", +"description": "Optioinal. StudySpec of hyperparameter tuning job. Required for `model_garden_trainer`." +}, +"trainerConfig": { +"additionalProperties": { +"type": "string" +}, +"description": "Customizable trainer settings, used in the `model_garden_trainer`.", +"type": "object" +}, +"trainerType": { +"enum": [ +"TRAINER_TYPE_UNSPECIFIED", +"AUTOML_TRAINER", +"MODEL_GARDEN_TRAINER" +], +"enumDescriptions": [ +"Default value.", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionCustomJobMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionCustomJobMetadata", +"properties": { +"backingCustomJob": { +"description": "The resource name of the CustomJob that has been created to carry out this custom task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionCustomTask": { +"description": "A TrainingJob that trains a custom code Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionCustomTask", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "The input parameters of this CustomTask." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionCustomJobMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig": { +"description": "Configuration for exporting test set predictions to a BigQuery table.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHierarchyConfig": { +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHierarchyConfig", +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"groupTemporalTotalWeight": { +"description": "The weight of the loss for predictions aggregated over both the horizon and time series in the same hierarchy group.", +"format": "double", +"type": "number" +}, +"groupTotalWeight": { +"description": "The weight of the loss for predictions aggregated over time series in the same group.", +"format": "double", +"type": "number" +}, +"temporalTotalWeight": { +"description": "The weight of the loss for predictions aggregated over the horizon for a single time series.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "The desired total number of Trials.", +"format": "int32", +"type": "integer" +}, +"parallelTrialCount": { +"description": "The desired number of Trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpec", +"description": "Study configuration of the HyperparameterTuningJob." +}, +"trialJobSpec": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJobSpec", +"description": "The spec of a trial job. The same spec applies to the CustomJobs created in all the trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningTask": { +"description": "A TrainingJob that tunes Hypererparameters of a custom code Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningTask", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", +"description": "The input parameters of this HyperparameterTuningTask." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"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.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"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" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"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.", +"format": "int64", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata": { +"description": "Model metadata specific to Seq2Seq Plus Forecasting.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputs": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"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.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"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" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"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.", +"format": "int64", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformation" +}, +"type": "array" +}, +"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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +}, +"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" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingMetadata": { +"description": "Model metadata specific to TFT Forecasting.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionTftForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionWindowConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaTrainingjobDefinitionWindowConfig", +"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" +}, +"maxCount": { +"description": "Maximum number of windows that should be generated across all time series.", +"format": "int64", +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVertex": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SchemaVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "double", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVideoActionRecognitionAnnotation": { +"description": "Annotation details specific to video action recognition.", +"id": "GoogleCloudAiplatformV1beta1SchemaVideoActionRecognitionAnnotation", +"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" +}, +"timeSegment": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTimeSegment", +"description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVideoClassificationAnnotation": { +"description": "Annotation details specific to video classification.", +"id": "GoogleCloudAiplatformV1beta1SchemaVideoClassificationAnnotation", +"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" +}, +"timeSegment": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaTimeSegment", +"description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVideoDataItem": { +"description": "Payload of Video DataItem.", +"id": "GoogleCloudAiplatformV1beta1SchemaVideoDataItem", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVideoDatasetMetadata": { +"description": "The metadata of Datasets that contain Video DataItems.", +"id": "GoogleCloudAiplatformV1beta1SchemaVideoDatasetMetadata", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVideoObjectTrackingAnnotation": { +"description": "Annotation details specific to video object tracking.", +"id": "GoogleCloudAiplatformV1beta1SchemaVideoObjectTrackingAnnotation", +"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" +}, +"instanceId": { +"description": "The instance of the object, expressed as a positive integer. Used to track the same object across different frames.", +"format": "int64", +"type": "string" +}, +"timeOffset": { +"description": "A time (frame) of a video to which this annotation pertains. Represented as the duration since the video's start.", +"format": "google-duration", +"type": "string" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVisualInspectionClassificationLabelSavedQueryMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaVisualInspectionClassificationLabelSavedQueryMetadata", +"properties": { +"multiLabel": { +"description": "Whether or not the classification label is multi_label.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SchemaVisualInspectionMaskSavedQueryMetadata": { +"id": "GoogleCloudAiplatformV1beta1SchemaVisualInspectionMaskSavedQueryMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchDataItemsResponse": { +"description": "Response message for DatasetService.SearchDataItems.", +"id": "GoogleCloudAiplatformV1beta1SearchDataItemsResponse", +"properties": { +"dataItemViews": { +"description": "The DataItemViews read.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1DataItemView" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to SearchDataItemsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchEntryPoint": { +"description": "Google search entry point.", +"id": "GoogleCloudAiplatformV1beta1SearchEntryPoint", +"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.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchFeaturesResponse": { +"description": "Response message for FeaturestoreService.SearchFeatures.", +"id": "GoogleCloudAiplatformV1beta1SearchFeaturesResponse", +"properties": { +"features": { +"description": "The Features matching the request. Fields returned: * `name` * `description` * `labels` * `create_time` * `update_time`", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchMigratableResourcesRequest": { +"description": "Request message for MigrationService.SearchMigratableResources.", +"id": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesRequest", +"properties": { +"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" +}, +"pageSize": { +"description": "The standard page size. The default and maximum value is 100.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The standard page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchMigratableResourcesResponse": { +"description": "Response message for MigrationService.SearchMigratableResources.", +"id": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesResponse", +"properties": { +"migratableResources": { +"description": "All migratable resources that can be migrated to the location specified in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1MigratableResource" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequest": { +"description": "Request message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", +"id": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequest", +"properties": { +"deployedModelId": { +"description": "Required. The DeployedModel ID of the [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].", +"type": "string" +}, +"endTime": { +"description": "The latest timestamp of stats being generated. If not set, indicates feching stats till the latest possible one.", +"format": "google-datetime", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective" +}, +"type": "array" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective": { +"description": "Stats requested for specific objective.", +"id": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"type": { +"enum": [ +"MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", +"RAW_FEATURE_SKEW", +"RAW_FEATURE_DRIFT", +"FEATURE_ATTRIBUTION_SKEW", +"FEATURE_ATTRIBUTION_DRIFT" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesResponse": { +"description": "Response message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", +"id": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesResponse", +"properties": { +"monitoringStats": { +"description": "Stats retrieved for requested objectives. There are at most 1000 ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats in the response.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomalies" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The page token that can be used by the next JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsRequest": { +"description": "Request message for ModelMonitoringService.SearchModelMonitoringAlerts.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsRequest", +"properties": { +"alertTimeInterval": { +"$ref": "GoogleTypeInterval", +"description": "If non-empty, returns the alerts in this time interval." +}, +"modelMonitoringJob": { +"description": "If non-empty, returns the alerts of this model monitoring job.", +"type": "string" +}, +"objectiveType": { +"description": "If non-empty, returns the alerts of this objective type. Supported monitoring objectives: `raw-feature-drift` `prediction-output-drift` `feature-attribution`", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous ModelMonitoringService.SearchModelMonitoringAlerts call.", +"type": "string" +}, +"statsName": { +"description": "If non-empty, returns the alerts of this stats_name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsResponse": { +"description": "Response message for ModelMonitoringService.SearchModelMonitoringAlerts.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsResponse", +"properties": { +"modelMonitoringAlerts": { +"description": "Alerts retrieved for the requested objectives. Sorted by alert time descendingly.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringAlert" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The page token that can be used by the next ModelMonitoringService.SearchModelMonitoringAlerts call.", +"type": "string" +}, +"totalNumberAlerts": { +"description": "The total number of alerts retrieved by the requested objectives.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilter": { +"description": "Filter for searching ModelMonitoringStats.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilter", +"properties": { +"tabularStatsFilter": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilterTabularStatsFilter", +"description": "Tabular statistics filter." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilterTabularStatsFilter": { +"description": "Tabular statistics filter.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilterTabularStatsFilter", +"properties": { +"algorithm": { +"description": "Specify the algorithm type used for distance calculation, eg: jensen_shannon_divergence, l_infinity.", +"type": "string" +}, +"modelMonitoringJob": { +"description": "From a particular monitoring job.", +"type": "string" +}, +"modelMonitoringSchedule": { +"description": "From a particular monitoring schedule.", +"type": "string" +}, +"objectiveType": { +"description": "One of the supported monitoring objectives: `raw-feature-drift` `prediction-output-drift` `feature-attribution`", +"type": "string" +}, +"statsName": { +"description": "If not specified, will return all the stats_names.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsRequest": { +"description": "Request message for ModelMonitoringService.SearchModelMonitoringStats.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsRequest", +"properties": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous ModelMonitoringService.SearchModelMonitoringStats call.", +"type": "string" +}, +"statsFilter": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsFilter", +"description": "Filter for search different stats." +}, +"timeInterval": { +"$ref": "GoogleTypeInterval", +"description": "The time interval for which results should be returned." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsResponse": { +"description": "Response message for ModelMonitoringService.SearchModelMonitoringStats.", +"id": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsResponse", +"properties": { +"monitoringStats": { +"description": "Stats retrieved for requested objectives.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringStats" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The page token that can be used by the next ModelMonitoringService.SearchModelMonitoringStats call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchNearestEntitiesRequest": { +"description": "The request message for FeatureOnlineStoreService.SearchNearestEntities.", +"id": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesRequest", +"properties": { +"query": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborQuery", +"description": "Required. The query." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SearchNearestEntitiesResponse": { +"description": "Response message for FeatureOnlineStoreService.SearchNearestEntities", +"id": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesResponse", +"properties": { +"nearestNeighbors": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighbors", +"description": "The nearest neighbors of the query entity." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Segment": { +"description": "Segment of the content.", +"id": "GoogleCloudAiplatformV1beta1Segment", +"properties": { +"endIndex": { +"description": "Output only. End index in the given Part, measured in bytes. Offset from the start of the Part, exclusive, starting at zero.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"partIndex": { +"description": "Output only. The index of a Part object within its parent Content object.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startIndex": { +"description": "Output only. Start index in the given Part, measured in bytes. Offset from the start of the Part, inclusive, starting at zero.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"text": { +"description": "Output only. The text corresponding to the segment from the response.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ServiceAccountSpec": { +"description": "Configuration for the use of custom service account to run the workloads.", +"id": "GoogleCloudAiplatformV1beta1ServiceAccountSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SharePointSources": { +"description": "The SharePointSources to pass to ImportRagFiles.", +"id": "GoogleCloudAiplatformV1beta1SharePointSources", +"properties": { +"sharePointSources": { +"description": "The SharePoint sources.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SharePointSourcesSharePointSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SharePointSourcesSharePointSource": { +"description": "An individual SharePointSource.", +"id": "GoogleCloudAiplatformV1beta1SharePointSourcesSharePointSource", +"properties": { +"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": { +"$ref": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", +"description": "The application secret for the app registered in Azure." +}, +"driveId": { +"description": "The ID of the drive to download from.", +"type": "string" +}, +"driveName": { +"description": "The name of the drive to download from.", +"type": "string" +}, +"fileId": { +"description": "Output only. The SharePoint file id. Output only.", +"readOnly": true, +"type": "string" +}, +"sharepointFolderId": { +"description": "The ID of the SharePoint folder to download from.", +"type": "string" +}, +"sharepointFolderPath": { +"description": "The path of the SharePoint folder to download from.", +"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" +}, +"tenantId": { +"description": "Unique identifier of the Azure Active Directory Instance.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ShieldedVmConfig": { +"description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).", +"id": "GoogleCloudAiplatformV1beta1ShieldedVmConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SlackSource": { +"description": "The Slack source for the ImportRagFilesRequest.", +"id": "GoogleCloudAiplatformV1beta1SlackSource", +"properties": { +"channels": { +"description": "Required. The Slack channels.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SlackSourceSlackChannels" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SlackSourceSlackChannels": { +"description": "SlackChannels contains the Slack channels and corresponding access token.", +"id": "GoogleCloudAiplatformV1beta1SlackSourceSlackChannels", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", +"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." +}, +"channels": { +"description": "Required. The Slack channel IDs.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SlackSourceSlackChannelsSlackChannel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SlackSourceSlackChannelsSlackChannel": { +"description": "SlackChannel contains the Slack channel ID and the time range to import.", +"id": "GoogleCloudAiplatformV1beta1SlackSourceSlackChannelsSlackChannel", +"properties": { +"channelId": { +"description": "Required. The Slack channel ID.", +"type": "string" +}, +"endTime": { +"description": "Optional. The ending timestamp for messages to import.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. The starting timestamp for messages to import.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SmoothGradConfig": { +"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", +"id": "GoogleCloudAiplatformV1beta1SmoothGradConfig", +"properties": { +"featureNoiseSigma": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureNoiseSigma", +"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." +}, +"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.", +"format": "float", +"type": "number" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SpecialistPool": { +"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.", +"id": "GoogleCloudAiplatformV1beta1SpecialistPool", +"properties": { +"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" +}, +"name": { +"description": "Required. The resource name of the SpecialistPool.", +"type": "string" +}, +"pendingDataLabelingJobs": { +"description": "Output only. The resource name of the pending data labeling jobs.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"specialistManagerEmails": { +"description": "The email addresses of the managers in the SpecialistPool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"specialistManagersCount": { +"description": "Output only. The number of managers in this SpecialistPool.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"specialistWorkerEmails": { +"description": "The email addresses of workers in the SpecialistPool.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SpeechConfig": { +"description": "The speech generation config.", +"id": "GoogleCloudAiplatformV1beta1SpeechConfig", +"properties": { +"voiceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1VoiceConfig", +"description": "The configuration for the speaker to use." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StartNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.StartNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest": { +"description": "Request message for NotebookService.StartNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest": { +"description": "Request message for NotebookService.StopNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StopTrialRequest": { +"description": "Request message for VizierService.StopTrial.", +"id": "GoogleCloudAiplatformV1beta1StopTrialRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StratifiedSplit": { +"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.", +"id": "GoogleCloudAiplatformV1beta1StratifiedSplit", +"properties": { +"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" +}, +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest": { +"description": "Request message for ReasoningEngineExecutionService.StreamQuery.", +"id": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest", +"properties": { +"classMethod": { +"description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", +"type": "string" +}, +"input": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamRawPredictRequest": { +"description": "Request message for PredictionService.StreamRawPredict.", +"id": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest", +"properties": { +"httpBody": { +"$ref": "GoogleApiHttpBody", +"description": "The prediction input. Supports HTTP headers and arbitrary data payload." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequest": { +"description": "Request message for FeatureOnlineStoreService.StreamingFetchFeatureValues. For the entities requested, all features under the requested feature view will be returned.", +"id": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequest", +"properties": { +"dataFormat": { +"description": "Specify response data format. If not set, KeyValue format will be used.", +"enum": [ +"FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", +"KEY_VALUE", +"PROTO_STRUCT" +], +"enumDescriptions": [ +"Not set. Will be treated as the KeyValue format.", +"Return response data in key-value format.", +"Return response data in proto Struct format." +], +"type": "string" +}, +"dataKeys": { +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDataKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesResponse": { +"description": "Response message for FeatureOnlineStoreService.StreamingFetchFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesResponse", +"properties": { +"data": { +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse" +}, +"type": "array" +}, +"dataKeysWithError": { +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDataKey" +}, +"type": "array" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Response status. If OK, then StreamingFetchFeatureValuesResponse.data will be populated. Otherwise StreamingFetchFeatureValuesResponse.data_keys_with_error will be populated with the appropriate data keys. The error only applies to the listed data keys - the stream will remain open for further FeatureOnlineStoreService.StreamingFetchFeatureValuesRequest requests." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamingPredictRequest": { +"description": "Request message for PredictionService.StreamingPredict. The first message must contain endpoint field and optionally input. The subsequent messages must contain input.", +"id": "GoogleCloudAiplatformV1beta1StreamingPredictRequest", +"properties": { +"inputs": { +"description": "The prediction input.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamingPredictResponse": { +"description": "Response message for PredictionService.StreamingPredict.", +"id": "GoogleCloudAiplatformV1beta1StreamingPredictResponse", +"properties": { +"outputs": { +"description": "The prediction output.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest", +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureSelector", +"description": "Required. Selector choosing Features of the target EntityType. Feature IDs will be deduplicated." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StringArray": { +"description": "A list of string values.", +"id": "GoogleCloudAiplatformV1beta1StringArray", +"properties": { +"values": { +"description": "A list of string values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StructFieldValue": { +"description": "One field of a Struct (or object) type feature value.", +"id": "GoogleCloudAiplatformV1beta1StructFieldValue", +"properties": { +"name": { +"description": "Name of the field in the struct feature.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValue", +"description": "The value for this field." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StructValue": { +"description": "Struct (or object) type feature value.", +"id": "GoogleCloudAiplatformV1beta1StructValue", +"properties": { +"values": { +"description": "A list of field values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1StructFieldValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Study": { +"description": "A message representing a Study.", +"id": "GoogleCloudAiplatformV1beta1Study", +"properties": { +"createTime": { +"description": "Output only. Time at which the study was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Describes the Study, default value is empty string.", +"type": "string" +}, +"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" +}, +"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" +}, +"state": { +"description": "Output only. The detailed state of a Study.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"COMPLETED" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpec", +"description": "Required. Configuration of the Study." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpec": { +"description": "Represents specification of a Study.", +"id": "GoogleCloudAiplatformV1beta1StudySpec", +"properties": { +"algorithm": { +"description": "The search algorithm specified for the Study.", +"enum": [ +"ALGORITHM_UNSPECIFIED", +"GRID_SEARCH", +"RANDOM_SEARCH" +], +"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." +], +"type": "string" +}, +"convexAutomatedStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecConvexAutomatedStoppingSpec", +"description": "The automated early stopping spec using convex stopping rule." +}, +"convexStopConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecConvexStopConfig", +"deprecated": true, +"description": "Deprecated. The automated early stopping using convex stopping rule." +}, +"decayCurveStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecDecayCurveAutomatedStoppingSpec", +"description": "The automated early stopping spec using decay curve rule." +}, +"measurementSelectionType": { +"description": "Describe which measurement selection type will be used", +"enum": [ +"MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", +"LAST_MEASUREMENT", +"BEST_MEASUREMENT" +], +"enumDescriptions": [ +"Will be treated as LAST_MEASUREMENT.", +"Use the last measurement reported.", +"Use the best measurement reported." +], +"type": "string" +}, +"medianAutomatedStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecMedianAutomatedStoppingSpec", +"description": "The automated early stopping spec using median rule." +}, +"metrics": { +"description": "Required. Metric specs for the Study.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecMetricSpec" +}, +"type": "array" +}, +"observationNoise": { +"description": "The observation noise level of the study. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"enum": [ +"OBSERVATION_NOISE_UNSPECIFIED", +"LOW", +"HIGH" +], +"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." +], +"type": "string" +}, +"parameters": { +"description": "Required. The set of parameters to tune.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpec" +}, +"type": "array" +}, +"studyStoppingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecStudyStoppingConfig", +"description": "Conditions for automated stopping of a Study. Enable automated stopping by configuring at least one condition." +}, +"transferLearningConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecTransferLearningConfig", +"description": "The configuration info/options for transfer learning. Currently supported for Vertex AI Vizier service, not HyperParameterTuningJob" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecConvexAutomatedStoppingSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1StudySpecConvexAutomatedStoppingSpec", +"properties": { +"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" +}, +"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.", +"format": "int64", +"type": "string" +}, +"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.", +"format": "int64", +"type": "string" +}, +"minStepCount": { +"description": "Minimum number of steps for a trial to complete. Trials which do not have a measurement with step_count > 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.", +"format": "int64", +"type": "string" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecConvexStopConfig": { +"deprecated": true, +"description": "Configuration for ConvexStopPolicy.", +"id": "GoogleCloudAiplatformV1beta1StudySpecConvexStopConfig", +"properties": { +"autoregressiveOrder": { +"description": "The number of Trial measurements used in autoregressive model for value prediction. A trial won't be considered early stopping if has fewer measurement points.", +"format": "int64", +"type": "string" +}, +"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" +}, +"maxNumSteps": { +"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. When use_steps is false, this field is set to the maximum elapsed seconds.", +"format": "int64", +"type": "string" +}, +"minNumSteps": { +"description": "Minimum number of steps for a trial to complete. Trials which do not have a measurement with num_steps > min_num_steps 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_num_steps is set to be one-tenth of the max_num_steps. When use_steps is false, this field is set to the minimum elapsed seconds.", +"format": "int64", +"type": "string" +}, +"useSeconds": { +"description": "This bool determines whether or not the rule is applied based on elapsed_secs or steps. If use_seconds==false, the early stopping decision is made according to the predicted objective values according to the target steps. If use_seconds==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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecDecayCurveAutomatedStoppingSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1StudySpecDecayCurveAutomatedStoppingSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecMedianAutomatedStoppingSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1StudySpecMedianAutomatedStoppingSpec", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecMetricSpec": { +"description": "Represents a metric to optimize.", +"id": "GoogleCloudAiplatformV1beta1StudySpecMetricSpec", +"properties": { +"goal": { +"description": "Required. The optimization goal of the metric.", +"enum": [ +"GOAL_TYPE_UNSPECIFIED", +"MAXIMIZE", +"MINIMIZE" +], +"enumDescriptions": [ +"Goal Type will default to maximize.", +"Maximize the goal metric.", +"Minimize the goal metric." +], +"type": "string" +}, +"metricId": { +"description": "Required. The ID of the metric. Must not contain whitespaces and must be unique amongst all MetricSpecs.", +"type": "string" +}, +"safetyConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecMetricSpecSafetyMetricConfig", +"description": "Used for safe search. In the case, the metric will be a safety metric. You must provide a separate metric for objective metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecMetricSpecSafetyMetricConfig": { +"description": "Used in safe optimization to specify threshold levels and risk tolerance.", +"id": "GoogleCloudAiplatformV1beta1StudySpecMetricSpecSafetyMetricConfig", +"properties": { +"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.", +"format": "double", +"type": "number" +}, +"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.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpec": { +"description": "Represents a single parameter to optimize.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpec", +"properties": { +"categoricalValueSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecCategoricalValueSpec", +"description": "The value spec for a 'CATEGORICAL' parameter." +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpec" +}, +"type": "array" +}, +"discreteValueSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecDiscreteValueSpec", +"description": "The value spec for a 'DISCRETE' parameter." +}, +"doubleValueSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecDoubleValueSpec", +"description": "The value spec for a 'DOUBLE' parameter." +}, +"integerValueSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecIntegerValueSpec", +"description": "The value spec for an 'INTEGER' parameter." +}, +"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.", +"enum": [ +"SCALE_TYPE_UNSPECIFIED", +"UNIT_LINEAR_SCALE", +"UNIT_LOG_SCALE", +"UNIT_REVERSE_LOG_SCALE" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecCategoricalValueSpec": { +"description": "Value specification for a parameter in `CATEGORICAL` type.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecCategoricalValueSpec", +"properties": { +"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" +}, +"values": { +"description": "Required. The list of possible categories.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpec": { +"description": "Represents a parameter spec with condition from its parent parameter.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpec", +"properties": { +"parameterSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpec", +"description": "Required. The spec for a conditional parameter." +}, +"parentCategoricalValues": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", +"description": "The spec for matching values from a parent parameter of `CATEGORICAL` type." +}, +"parentDiscreteValues": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", +"description": "The spec for matching values from a parent parameter of `DISCRETE` type." +}, +"parentIntValues": { +"$ref": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", +"description": "The spec for matching values from a parent parameter of `INTEGER` type." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition": { +"description": "Represents the spec to match categorical values from parent parameter.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", +"properties": { +"values": { +"description": "Required. Matches values of the parent parameter of 'CATEGORICAL' type. All values must exist in `categorical_value_spec` of parent parameter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition": { +"description": "Represents the spec to match discrete values from parent parameter.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", +"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.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecIntValueCondition": { +"description": "Represents the spec to match integer values from parent parameter.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", +"properties": { +"values": { +"description": "Required. Matches values of the parent parameter of 'INTEGER' type. All values must lie in `integer_value_spec` of parent parameter.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecDiscreteValueSpec": { +"description": "Value specification for a parameter in `DISCRETE` type.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecDiscreteValueSpec", +"properties": { +"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.", +"format": "double", +"type": "number" +}, +"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.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecDoubleValueSpec": { +"description": "Value specification for a parameter in `DOUBLE` type.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecDoubleValueSpec", +"properties": { +"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.", +"format": "double", +"type": "number" +}, +"maxValue": { +"description": "Required. Inclusive maximum value of the parameter.", +"format": "double", +"type": "number" +}, +"minValue": { +"description": "Required. Inclusive minimum value of the parameter.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecParameterSpecIntegerValueSpec": { +"description": "Value specification for a parameter in `INTEGER` type.", +"id": "GoogleCloudAiplatformV1beta1StudySpecParameterSpecIntegerValueSpec", +"properties": { +"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.", +"format": "int64", +"type": "string" +}, +"maxValue": { +"description": "Required. Inclusive maximum value of the parameter.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "Required. Inclusive minimum value of the parameter.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecStudyStoppingConfig": { +"description": "The configuration (stopping conditions) for automated stopping of a Study. Conditions include trial budgets, time budgets, and convergence detection.", +"id": "GoogleCloudAiplatformV1beta1StudySpecStudyStoppingConfig", +"properties": { +"maxDurationNoProgress": { +"description": "If the objective value has not improved for this much time, stop the study. WARNING: Effective only for single-objective studies.", +"format": "google-duration", +"type": "string" +}, +"maxNumTrials": { +"description": "If there are more than this many trials, stop the study.", +"format": "int32", +"type": "integer" +}, +"maxNumTrialsNoProgress": { +"description": "If the objective value has not improved for this many consecutive trials, stop the study. WARNING: Effective only for single-objective studies.", +"format": "int32", +"type": "integer" +}, +"maximumRuntimeConstraint": { +"$ref": "GoogleCloudAiplatformV1beta1StudyTimeConstraint", +"description": "If the specified time or duration has passed, stop the study." +}, +"minNumTrials": { +"description": "If there are fewer than this many COMPLETED trials, do not stop the study.", +"format": "int32", +"type": "integer" +}, +"minimumRuntimeConstraint": { +"$ref": "GoogleCloudAiplatformV1beta1StudyTimeConstraint", +"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." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudySpecTransferLearningConfig": { +"description": "This contains flag for manually disabling transfer learning for a study. The names of prior studies being used for transfer learning (if any) are also listed here.", +"id": "GoogleCloudAiplatformV1beta1StudySpecTransferLearningConfig", +"properties": { +"disableTransferLearning": { +"description": "Flag to to manually prevent vizier from using transfer learning on a new study. Otherwise, vizier will automatically determine whether or not to use transfer learning.", +"type": "boolean" +}, +"priorStudyNames": { +"description": "Output only. Names of previously completed studies", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StudyTimeConstraint": { +"description": "Time-based Constraint for Study", +"id": "GoogleCloudAiplatformV1beta1StudyTimeConstraint", +"properties": { +"endTime": { +"description": "Compares the wallclock time to this time. Must use UTC timezone.", +"format": "google-datetime", +"type": "string" +}, +"maxDuration": { +"description": "Counts the wallclock time passed since the creation of this Study.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SuggestTrialsMetadata": { +"description": "Details of operations that perform Trials suggestion.", +"id": "GoogleCloudAiplatformV1beta1SuggestTrialsMetadata", +"properties": { +"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" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for suggesting Trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SuggestTrialsRequest": { +"description": "Request message for VizierService.SuggestTrials.", +"id": "GoogleCloudAiplatformV1beta1SuggestTrialsRequest", +"properties": { +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrialContext" +}, +"type": "array" +}, +"suggestionCount": { +"description": "Required. The number of suggestions requested. It must be positive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SuggestTrialsResponse": { +"description": "Response message for VizierService.SuggestTrials.", +"id": "GoogleCloudAiplatformV1beta1SuggestTrialsResponse", +"properties": { +"endTime": { +"description": "The time at which operation processing completed.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The time at which the operation was started.", +"format": "google-datetime", +"type": "string" +}, +"studyState": { +"description": "The state of the Study.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"COMPLETED" +], +"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." +], +"type": "string" +}, +"trials": { +"description": "A list of Trials.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInput": { +"description": "Input for summarization helpfulness metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInstance", +"description": "Required. Summarization helpfulness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessSpec", +"description": "Required. Spec for summarization helpfulness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInstance": { +"description": "Spec for summarization helpfulness instance.", +"id": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Optional. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationHelpfulnessResult": { +"description": "Spec for summarization helpfulness result.", +"id": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization helpfulness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationHelpfulnessSpec": { +"description": "Spec for summarization helpfulness score metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationHelpfulnessSpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization helpfulness.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationQualityInput": { +"description": "Input for summarization quality metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationQualityInstance", +"description": "Required. Summarization quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationQualitySpec", +"description": "Required. Spec for summarization quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationQualityInstance": { +"description": "Spec for summarization quality instance.", +"id": "GoogleCloudAiplatformV1beta1SummarizationQualityInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Required. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationQualityResult": { +"description": "Spec for summarization quality result.", +"id": "GoogleCloudAiplatformV1beta1SummarizationQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization quality score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Quality score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationQualitySpec": { +"description": "Spec for summarization quality score metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationQualitySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization quality.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationVerbosityInput": { +"description": "Input for summarization verbosity metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationVerbosityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationVerbosityInstance", +"description": "Required. Summarization verbosity instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1SummarizationVerbositySpec", +"description": "Required. Spec for summarization verbosity score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationVerbosityInstance": { +"description": "Spec for summarization verbosity instance.", +"id": "GoogleCloudAiplatformV1beta1SummarizationVerbosityInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Optional. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationVerbosityResult": { +"description": "Spec for summarization verbosity result.", +"id": "GoogleCloudAiplatformV1beta1SummarizationVerbosityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization verbosity score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization verbosity score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Verbosity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SummarizationVerbositySpec": { +"description": "Spec for summarization verbosity score metric.", +"id": "GoogleCloudAiplatformV1beta1SummarizationVerbositySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization verbosity.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SupervisedHyperParameters": { +"description": "Hyperparameters for SFT.", +"id": "GoogleCloudAiplatformV1beta1SupervisedHyperParameters", +"properties": { +"adapterSize": { +"description": "Optional. Adapter size for tuning.", +"enum": [ +"ADAPTER_SIZE_UNSPECIFIED", +"ADAPTER_SIZE_ONE", +"ADAPTER_SIZE_FOUR", +"ADAPTER_SIZE_EIGHT", +"ADAPTER_SIZE_SIXTEEN", +"ADAPTER_SIZE_THIRTY_TWO" +], +"enumDescriptions": [ +"Adapter size is unspecified.", +"Adapter size 1.", +"Adapter size 4.", +"Adapter size 8.", +"Adapter size 16.", +"Adapter size 32." +], +"type": "string" +}, +"epochCount": { +"description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", +"format": "int64", +"type": "string" +}, +"learningRateMultiplier": { +"description": "Optional. Multiplier for adjusting the default learning rate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SupervisedTuningDataStats": { +"description": "Tuning data statistics for Supervised Tuning.", +"id": "GoogleCloudAiplatformV1beta1SupervisedTuningDataStats", +"properties": { +"totalBillableCharacterCount": { +"deprecated": true, +"description": "Output only. Number of billable characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalBillableTokenCount": { +"description": "Output only. Number of billable tokens in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalTruncatedExampleCount": { +"description": "The number of examples in the dataset that have been truncated by any amount.", +"format": "int64", +"type": "string" +}, +"totalTuningCharacterCount": { +"description": "Output only. Number of tuning characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"truncatedExampleIndices": { +"description": "A partial sample of the indices (starting from 1) of the truncated examples.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"tuningDatasetExampleCount": { +"description": "Output only. Number of examples in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tuningStepCount": { +"description": "Output only. Number of tuning steps for this Tuning Job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"userDatasetExamples": { +"description": "Output only. Sample user messages in the training dataset uri.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"readOnly": true, +"type": "array" +}, +"userInputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the user input tokens.", +"readOnly": true +}, +"userMessagePerExampleDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the messages per example.", +"readOnly": true +}, +"userOutputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the user output tokens.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistribution": { +"description": "Dataset distribution for Supervised Tuning.", +"id": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistribution", +"properties": { +"billableSum": { +"description": "Output only. Sum of a given population of values that are billable.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"buckets": { +"description": "Output only. Defines the histogram bucket.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistributionDatasetBucket" +}, +"readOnly": true, +"type": "array" +}, +"max": { +"description": "Output only. The maximum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"mean": { +"description": "Output only. The arithmetic mean of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"median": { +"description": "Output only. The median of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"min": { +"description": "Output only. The minimum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p5": { +"description": "Output only. The 5th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p95": { +"description": "Output only. The 95th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"sum": { +"description": "Output only. Sum of a given population of values.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistributionDatasetBucket": { +"description": "Dataset bucket used to create a histogram for the distribution given a population of values.", +"id": "GoogleCloudAiplatformV1beta1SupervisedTuningDatasetDistributionDatasetBucket", +"properties": { +"count": { +"description": "Output only. Number of values in the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"left": { +"description": "Output only. Left bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"right": { +"description": "Output only. Right bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SupervisedTuningSpec": { +"description": "Tuning Spec for Supervised Tuning for first party models.", +"id": "GoogleCloudAiplatformV1beta1SupervisedTuningSpec", +"properties": { +"hyperParameters": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedHyperParameters", +"description": "Optional. Hyperparameters for SFT." +}, +"trainingDatasetUri": { +"description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +}, +"validationDatasetUri": { +"description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SyncFeatureViewRequest": { +"description": "Request message for FeatureOnlineStoreAdminService.SyncFeatureView.", +"id": "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SyncFeatureViewResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.SyncFeatureView.", +"id": "GoogleCloudAiplatformV1beta1SyncFeatureViewResponse", +"properties": { +"featureViewSync": { +"description": "Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TFRecordDestination": { +"description": "The storage details for TFRecord output content.", +"id": "GoogleCloudAiplatformV1beta1TFRecordDestination", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Tensor": { +"description": "A tensor value type.", +"id": "GoogleCloudAiplatformV1beta1Tensor", +"properties": { +"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", +"items": { +"type": "boolean" +}, +"type": "array" +}, +"bytesVal": { +"description": "STRING", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"doubleVal": { +"description": "DOUBLE", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"dtype": { +"description": "The data type of tensor.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"BOOL", +"STRING", +"FLOAT", +"DOUBLE", +"INT8", +"INT16", +"INT32", +"INT64", +"UINT8", +"UINT16", +"UINT32", +"UINT64" +], +"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.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"floatVal": { +"description": "FLOAT", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"int64Val": { +"description": "INT64", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"intVal": { +"description": "INT_8 INT_16 INT_32", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"listVal": { +"description": "A list of tensor values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"type": "array" +}, +"shape": { +"description": "Shape of the tensor.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"stringVal": { +"description": "STRING", +"items": { +"type": "string" +}, +"type": "array" +}, +"structVal": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1Tensor" +}, +"description": "A map of string to tensor.", +"type": "object" +}, +"tensorVal": { +"description": "Serialized raw tensor content.", +"format": "byte", +"type": "string" +}, +"uint64Val": { +"description": "UINT64", +"items": { +"format": "uint64", +"type": "string" +}, +"type": "array" +}, +"uintVal": { +"description": "UINT8 UINT16 UINT32", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Tensorboard": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Tensorboard", +"properties": { +"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" +}, +"createTime": { +"description": "Output only. Timestamp when this Tensorboard was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this Tensorboard.", +"type": "string" +}, +"displayName": { +"description": "Required. User provided name of this Tensorboard.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"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" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"readOnly": true, +"type": "string" +}, +"runCount": { +"description": "Output only. The number of Runs stored in this Tensorboard.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this Tensorboard was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardBlob": { +"description": "One blob (e.g, image, graph) viewable on a blob metric plot.", +"id": "GoogleCloudAiplatformV1beta1TensorboardBlob", +"properties": { +"data": { +"description": "Optional. The bytes of the blob is not present unless it's returned by the ReadTensorboardBlobData endpoint.", +"format": "byte", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardBlobSequence": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TensorboardBlobSequence", +"properties": { +"values": { +"description": "List of blobs contained within the sequence.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardBlob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardExperiment": { +"description": "A TensorboardExperiment is a group of TensorboardRuns, that are typically the results of a training job run, in a Tensorboard.", +"id": "GoogleCloudAiplatformV1beta1TensorboardExperiment", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardExperiment was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardExperiment.", +"type": "string" +}, +"displayName": { +"description": "User provided name of this TensorboardExperiment.", +"type": "string" +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Immutable. Source of the TensorboardExperiment. Example: a custom training job.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardExperiment was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardRun": { +"description": "TensorboardRun maps to a specific execution of a training job with a given set of hyperparameter values, model definition, dataset, etc", +"id": "GoogleCloudAiplatformV1beta1TensorboardRun", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardRun was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardRun.", +"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" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardRun was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardTensor": { +"description": "One point viewable on a tensor metric plot.", +"id": "GoogleCloudAiplatformV1beta1TensorboardTensor", +"properties": { +"value": { +"description": "Required. Serialized form of https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto", +"format": "byte", +"type": "string" +}, +"versionNumber": { +"description": "Optional. Version number of TensorProto used to serialize value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardTimeSeries": { +"description": "TensorboardTimeSeries maps to times series produced in training runs", +"id": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardTimeSeries was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardTimeSeries.", +"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" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeriesMetadata", +"description": "Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries.", +"readOnly": true +}, +"name": { +"description": "Output only. Name of the TensorboardTimeSeries.", +"readOnly": true, +"type": "string" +}, +"pluginData": { +"description": "Data of the current plugin, with the size limited to 65KB.", +"format": "byte", +"type": "string" +}, +"pluginName": { +"description": "Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, Blob", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardTimeSeries was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"valueType": { +"description": "Required. Immutable. Type of TensorboardTimeSeries value.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"SCALAR", +"TENSOR", +"BLOB_SEQUENCE" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TensorboardTimeSeriesMetadata": { +"description": "Describes metadata for a TensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1TensorboardTimeSeriesMetadata", +"properties": { +"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.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxStep": { +"description": "Output only. Max step index of all data points within a TensorboardTimeSeries.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxWallTime": { +"description": "Output only. Max wall clock timestamp of all data points within a TensorboardTimeSeries.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ThresholdConfig": { +"description": "The config for feature monitoring threshold.", +"id": "GoogleCloudAiplatformV1beta1ThresholdConfig", +"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\u2013Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TimeSeriesData": { +"description": "All the data stored in a TensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1beta1TimeSeriesData", +"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.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"SCALAR", +"TENSOR", +"BLOB_SEQUENCE" +], +"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." +], +"type": "string" +}, +"values": { +"description": "Required. Data points in this time series.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TimeSeriesDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TimeSeriesDataPoint": { +"description": "A TensorboardTimeSeries data point.", +"id": "GoogleCloudAiplatformV1beta1TimeSeriesDataPoint", +"properties": { +"blobs": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardBlobSequence", +"description": "A blob sequence value." +}, +"scalar": { +"$ref": "GoogleCloudAiplatformV1beta1Scalar", +"description": "A scalar value." +}, +"step": { +"description": "Step index of this data point within the run.", +"format": "int64", +"type": "string" +}, +"tensor": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTensor", +"description": "A tensor value." +}, +"wallTime": { +"description": "Wall clock timestamp when this data point is generated by the end user.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TimestampSplit": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TimestampSplit", +"properties": { +"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" +}, +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TokensInfo": { +"description": "Tokens info with a list of tokens and the corresponding list of token ids.", +"id": "GoogleCloudAiplatformV1beta1TokensInfo", +"properties": { +"role": { +"description": "Optional. Optional fields for the role from the corresponding Content.", +"type": "string" +}, +"tokenIds": { +"description": "A list of token ids from the input.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"tokens": { +"description": "A list of tokens from the input.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Tool": { +"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).", +"id": "GoogleCloudAiplatformV1beta1Tool", +"properties": { +"codeExecution": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCodeExecution", +"description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services." +}, +"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 128 function declarations can be provided.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1FunctionDeclaration" +}, +"type": "array" +}, +"googleSearch": { +"$ref": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", +"description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." +}, +"googleSearchRetrieval": { +"$ref": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", +"description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search." +}, +"retrieval": { +"$ref": "GoogleCloudAiplatformV1beta1Retrieval", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCall": { +"description": "Spec for tool call.", +"id": "GoogleCloudAiplatformV1beta1ToolCall", +"properties": { +"toolInput": { +"description": "Optional. Spec for tool input", +"type": "string" +}, +"toolName": { +"description": "Required. Spec for tool name", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCallValidInput": { +"description": "Input for tool call valid metric.", +"id": "GoogleCloudAiplatformV1beta1ToolCallValidInput", +"properties": { +"instances": { +"description": "Required. Repeated tool call valid instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCallValidInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCallValidSpec", +"description": "Required. Spec for tool call valid metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCallValidInstance": { +"description": "Spec for tool call valid instance.", +"id": "GoogleCloudAiplatformV1beta1ToolCallValidInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCallValidMetricValue": { +"description": "Tool call valid metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1ToolCallValidMetricValue", +"properties": { +"score": { +"description": "Output only. Tool call valid score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCallValidResults": { +"description": "Results for tool call valid metric.", +"id": "GoogleCloudAiplatformV1beta1ToolCallValidResults", +"properties": { +"toolCallValidMetricValues": { +"description": "Output only. Tool call valid metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCallValidMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCallValidSpec": { +"description": "Spec for tool call valid metric.", +"id": "GoogleCloudAiplatformV1beta1ToolCallValidSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolCodeExecution": { +"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.", +"id": "GoogleCloudAiplatformV1beta1ToolCodeExecution", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolConfig": { +"description": "Tool config. This config is shared for all tools provided in the request.", +"id": "GoogleCloudAiplatformV1beta1ToolConfig", +"properties": { +"functionCallingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1FunctionCallingConfig", +"description": "Optional. Function calling config." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolGoogleSearch": { +"description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", +"id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolNameMatchInput": { +"description": "Input for tool name match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolNameMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool name match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolNameMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ToolNameMatchSpec", +"description": "Required. Spec for tool name match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolNameMatchInstance": { +"description": "Spec for tool name match instance.", +"id": "GoogleCloudAiplatformV1beta1ToolNameMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolNameMatchMetricValue": { +"description": "Tool name match metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1ToolNameMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool name match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolNameMatchResults": { +"description": "Results for tool name match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolNameMatchResults", +"properties": { +"toolNameMatchMetricValues": { +"description": "Output only. Tool name match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolNameMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolNameMatchSpec": { +"description": "Spec for tool name match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolNameMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKVMatchInput": { +"description": "Input for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool parameter key value match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec", +"description": "Required. Spec for tool parameter key value match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKVMatchInstance": { +"description": "Spec for tool parameter key value match instance.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKVMatchMetricValue": { +"description": "Tool parameter key value match metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool parameter key value match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults": { +"description": "Results for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults", +"properties": { +"toolParameterKvMatchMetricValues": { +"description": "Output only. Tool parameter key value match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec": { +"description": "Spec for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec", +"properties": { +"useStrictStringMatch": { +"description": "Optional. Whether to use STRICT string match on parameter values.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInput": { +"description": "Input for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool parameter key match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchSpec", +"description": "Required. Spec for tool parameter key match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInstance": { +"description": "Spec for tool parameter key match instance.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKeyMatchMetricValue": { +"description": "Tool parameter key match metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool parameter key match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKeyMatchResults": { +"description": "Results for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchResults", +"properties": { +"toolParameterKeyMatchMetricValues": { +"description": "Output only. Tool parameter key match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolParameterKeyMatchSpec": { +"description": "Spec for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1beta1ToolParameterKeyMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolUseExample": { +"description": "A single example of the tool usage.", +"id": "GoogleCloudAiplatformV1beta1ToolUseExample", +"properties": { +"displayName": { +"description": "Required. The display name for example.", +"type": "string" +}, +"extensionOperation": { +"$ref": "GoogleCloudAiplatformV1beta1ToolUseExampleExtensionOperation", +"description": "Extension operation to call." +}, +"functionName": { +"description": "Function name to call.", +"type": "string" +}, +"query": { +"description": "Required. Query that should be routed to this tool.", +"type": "string" +}, +"requestParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Request parameters used for executing this tool.", +"type": "object" +}, +"responseParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Response parameters generated by this tool.", +"type": "object" +}, +"responseSummary": { +"description": "Summary of the tool response to the user query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolUseExampleExtensionOperation": { +"description": "Identifies one operation of the extension.", +"id": "GoogleCloudAiplatformV1beta1ToolUseExampleExtensionOperation", +"properties": { +"extension": { +"description": "Resource name of the extension.", +"type": "string" +}, +"operationId": { +"description": "Required. Operation ID of the extension.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrainingConfig": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TrainingConfig", +"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.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrainingPipeline": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TrainingPipeline", +"properties": { +"createTime": { +"description": "Output only. Time when the TrainingPipeline was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of this TrainingPipeline.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"endTime": { +"description": "Output only. Time when the TrainingPipeline entered any of the following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.", +"readOnly": true +}, +"inputDataConfig": { +"$ref": "GoogleCloudAiplatformV1beta1InputDataConfig", +"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." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"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" +}, +"modelToUpload": { +"$ref": "GoogleCloudAiplatformV1beta1Model", +"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." +}, +"name": { +"description": "Output only. Resource name of the TrainingPipeline.", +"readOnly": true, +"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" +}, +"startTime": { +"description": "Output only. Time when the TrainingPipeline for the first time entered the `PIPELINE_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the pipeline.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"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" +}, +"updateTime": { +"description": "Output only. Time when the TrainingPipeline was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Trajectory": { +"description": "Spec for trajectory.", +"id": "GoogleCloudAiplatformV1beta1Trajectory", +"properties": { +"toolCalls": { +"description": "Required. Tool calls in the trajectory.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ToolCall" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput": { +"description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryAnyOrderMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec", +"description": "Required. Spec for TrajectoryAnyOrderMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance": { +"description": "Spec for TrajectoryAnyOrderMatch instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue": { +"description": "TrajectoryAnyOrderMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryAnyOrderMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults": { +"description": "Results for TrajectoryAnyOrderMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults", +"properties": { +"trajectoryAnyOrderMatchMetricValues": { +"description": "Output only. TrajectoryAnyOrderMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput": { +"description": "Instances and metric spec for TrajectoryExactMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryExactMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec", +"description": "Required. Spec for TrajectoryExactMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance": { +"description": "Spec for TrajectoryExactMatch instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue": { +"description": "TrajectoryExactMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryExactMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults": { +"description": "Results for TrajectoryExactMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults", +"properties": { +"trajectoryExactMatchMetricValues": { +"description": "Output only. TrajectoryExactMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec": { +"description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput": { +"description": "Instances and metric spec for TrajectoryInOrderMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryInOrderMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec", +"description": "Required. Spec for TrajectoryInOrderMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance": { +"description": "Spec for TrajectoryInOrderMatch instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue": { +"description": "TrajectoryInOrderMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryInOrderMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults": { +"description": "Results for TrajectoryInOrderMatch metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults", +"properties": { +"trajectoryInOrderMatchMetricValues": { +"description": "Output only. TrajectoryInOrderMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec": { +"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.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput": { +"description": "Instances and metric spec for TrajectoryPrecision metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryPrecision instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec", +"description": "Required. Spec for TrajectoryPrecision metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance": { +"description": "Spec for TrajectoryPrecision instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue": { +"description": "TrajectoryPrecision metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryPrecision score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults": { +"description": "Results for TrajectoryPrecision metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults", +"properties": { +"trajectoryPrecisionMetricValues": { +"description": "Output only. TrajectoryPrecision metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec": { +"description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryRecallInput": { +"description": "Instances and metric spec for TrajectoryRecall metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryRecallInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryRecall instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallSpec", +"description": "Required. Spec for TrajectoryRecall metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryRecallInstance": { +"description": "Spec for TrajectoryRecall instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryRecallInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue": { +"description": "TrajectoryRecall metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryRecall score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryRecallResults": { +"description": "Results for TrajectoryRecall metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryRecallResults", +"properties": { +"trajectoryRecallMetricValues": { +"description": "Output only. TrajectoryRecall metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectoryRecallSpec": { +"description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", +"id": "GoogleCloudAiplatformV1beta1TrajectoryRecallSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput": { +"description": "Instances and metric spec for TrajectorySingleToolUse metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectorySingleToolUse instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec", +"description": "Required. Spec for TrajectorySingleToolUse metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance": { +"description": "Spec for TrajectorySingleToolUse instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1beta1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue": { +"description": "TrajectorySingleToolUse metric value for an instance.", +"id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectorySingleToolUse score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults": { +"description": "Results for TrajectorySingleToolUse metric.", +"id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults", +"properties": { +"trajectorySingleToolUseMetricValues": { +"description": "Output only. TrajectorySingleToolUse metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec": { +"description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", +"id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec", +"properties": { +"toolName": { +"description": "Required. Spec for tool name to be checked for in the predicted trajectory.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Trial": { +"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.", +"id": "GoogleCloudAiplatformV1beta1Trial", +"properties": { +"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" +}, +"customJob": { +"description": "Output only. The CustomJob name linked to the Trial. It's set for a HyperparameterTuningJob's Trial.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1beta1Measurement", +"description": "Output only. The final measurement containing the objective value.", +"readOnly": true +}, +"id": { +"description": "Output only. The identifier of the Trial assigned by the service.", +"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" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Measurement" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Resource name of the Trial assigned by the service.", +"readOnly": true, +"type": "string" +}, +"parameters": { +"description": "Output only. The parameters of the Trial.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrialParameter" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "Output only. Time when the Trial was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the Trial.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUESTED", +"ACTIVE", +"STOPPING", +"SUCCEEDED", +"INFEASIBLE" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"webAccessUris": { +"additionalProperties": { +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrialContext": { +"id": "GoogleCloudAiplatformV1beta1TrialContext", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrialParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TrialParameter": { +"description": "A message representing a parameter to be tuned.", +"id": "GoogleCloudAiplatformV1beta1TrialParameter", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TunedModel": { +"description": "The Model Registry Model and Online Prediction Endpoint assiociated with this TuningJob.", +"id": "GoogleCloudAiplatformV1beta1TunedModel", +"properties": { +"endpoint": { +"description": "Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", +"readOnly": true, +"type": "string" +}, +"model": { +"description": "Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TunedModelRef": { +"description": "TunedModel Reference for legacy model migration.", +"id": "GoogleCloudAiplatformV1beta1TunedModelRef", +"properties": { +"pipelineJob": { +"description": "Support migration from tuning job list page, from bison model to gemini model.", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TuningDataStats": { +"description": "The tuning data statistic values for TuningJob.", +"id": "GoogleCloudAiplatformV1beta1TuningDataStats", +"properties": { +"distillationDataStats": { +"$ref": "GoogleCloudAiplatformV1beta1DistillationDataStats", +"description": "Output only. Statistics for distillation.", +"readOnly": true +}, +"supervisedTuningDataStats": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDataStats", +"description": "The SFT Tuning data stats." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TuningJob": { +"description": "Represents a TuningJob that runs with Google owned models.", +"id": "GoogleCloudAiplatformV1beta1TuningJob", +"properties": { +"baseModel": { +"description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\". .", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the TuningJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the TuningJob.", +"type": "string" +}, +"distillationSpec": { +"$ref": "GoogleCloudAiplatformV1beta1DistillationSpec", +"description": "Tuning Spec for Distillation." +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"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." +}, +"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`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"experiment": { +"description": "Output only. The Experiment associated with this TuningJob.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"readOnly": true, +"type": "string" +}, +"partnerModelTuningSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", +"description": "Tuning Spec for open sourced and third party Partner models." +}, +"pipelineJob": { +"deprecated": true, +"description": "Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"startTime": { +"description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"supervisedTuningSpec": { +"$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningSpec", +"description": "Tuning Spec for Supervised Fine Tuning." +}, +"tunedModel": { +"$ref": "GoogleCloudAiplatformV1beta1TunedModel", +"description": "Output only. The tuned model resources assiociated with this TuningJob.", +"readOnly": true +}, +"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" +}, +"tuningDataStats": { +"$ref": "GoogleCloudAiplatformV1beta1TuningDataStats", +"description": "Output only. The tuning data statistics associated with this TuningJob.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Time when the TuningJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1beta1UndeployIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployIndexRequest": { +"description": "Request message for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1beta1UndeployIndexRequest", +"properties": { +"deployedIndexId": { +"description": "Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployIndexResponse": { +"description": "Response message for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1beta1UndeployIndexResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1beta1UndeployModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployModelRequest": { +"description": "Request message for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1beta1UndeployModelRequest", +"properties": { +"deployedModelId": { +"description": "Required. The ID of the DeployedModel to be undeployed from the Endpoint.", +"type": "string" +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeployModelResponse": { +"description": "Response message for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1beta1UndeployModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UndeploySolverOperationMetadata": { +"description": "Runtime operation information for SolverService.UndeploySolver.", +"id": "GoogleCloudAiplatformV1beta1UndeploySolverOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The generic operation information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UnmanagedContainerModel": { +"description": "Contains model information necessary to perform batch prediction without requiring a full model import.", +"id": "GoogleCloudAiplatformV1beta1UnmanagedContainerModel", +"properties": { +"artifactUri": { +"description": "The path to the directory containing the Model artifact and any of its supporting files.", +"type": "string" +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ModelContainerSpec", +"description": "Input only. The specification of the container that is to be used when deploying this Model." +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1beta1PredictSchemata", +"description": "Contains the schemata used in Model's predictions and explanations" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateDeploymentResourcePoolOperationMetadata": { +"description": "Runtime operation information for UpdateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1beta1UpdateDeploymentResourcePoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest": { +"description": "Request message for EndpointService.UpdateEndpointLongRunning.", +"id": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest", +"properties": { +"endpoint": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint", +"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." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateExplanationDatasetOperationMetadata": { +"description": "Runtime operation information for ModelService.UpdateExplanationDataset.", +"id": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateExplanationDatasetRequest": { +"description": "Request message for ModelService.UpdateExplanationDataset.", +"id": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetRequest", +"properties": { +"examples": { +"$ref": "GoogleCloudAiplatformV1beta1Examples", +"description": "The example config containing the location of the dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateExplanationDatasetResponse": { +"description": "Response message of ModelService.UpdateExplanationDataset operation.", +"id": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateFeatureGroupOperationMetadata": { +"description": "Details of operations that perform update FeatureGroup.", +"id": "GoogleCloudAiplatformV1beta1UpdateFeatureGroupOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureGroup." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateFeatureOnlineStoreOperationMetadata": { +"description": "Details of operations that perform update FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1beta1UpdateFeatureOnlineStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureOnlineStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateFeatureOperationMetadata": { +"description": "Details of operations that perform update Feature.", +"id": "GoogleCloudAiplatformV1beta1UpdateFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Feature Update." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateFeatureViewOperationMetadata": { +"description": "Details of operations that perform update FeatureView.", +"id": "GoogleCloudAiplatformV1beta1UpdateFeatureViewOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for FeatureView Update." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateFeaturestoreOperationMetadata": { +"description": "Details of operations that perform update Featurestore.", +"id": "GoogleCloudAiplatformV1beta1UpdateFeaturestoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Featurestore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateIndexOperationMetadata": { +"description": "Runtime operation information for IndexService.UpdateIndex.", +"id": "GoogleCloudAiplatformV1beta1UpdateIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"nearestNeighborSearchOperationMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadata", +"description": "The operation metadata with regard to Matching Engine Index operation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateModelDeploymentMonitoringJobOperationMetadata": { +"description": "Runtime operation information for JobService.UpdateModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1beta1UpdateModelDeploymentMonitoringJobOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateModelMonitorOperationMetadata": { +"description": "Runtime operation information for ModelMonitoringService.UpdateModelMonitor.", +"id": "GoogleCloudAiplatformV1beta1UpdateModelMonitorOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdatePersistentResourceOperationMetadata": { +"description": "Details of operations that perform update PersistentResource.", +"id": "GoogleCloudAiplatformV1beta1UpdatePersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Update LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateSpecialistPoolOperationMetadata": { +"description": "Runtime operation metadata for SpecialistPoolService.UpdateSpecialistPool.", +"id": "GoogleCloudAiplatformV1beta1UpdateSpecialistPoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpdateTensorboardOperationMetadata": { +"description": "Details of operations that perform update Tensorboard.", +"id": "GoogleCloudAiplatformV1beta1UpdateTensorboardOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "Operation metadata for Tensorboard." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.UpgradeNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeRequest": { +"description": "Request message for NotebookService.UpgradeNotebookRuntime.", +"id": "GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadModelOperationMetadata": { +"description": "Details of ModelService.UploadModel operation.", +"id": "GoogleCloudAiplatformV1beta1UploadModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadModelRequest": { +"description": "Request message for ModelService.UploadModel.", +"id": "GoogleCloudAiplatformV1beta1UploadModelRequest", +"properties": { +"model": { +"$ref": "GoogleCloudAiplatformV1beta1Model", +"description": "Required. The Model to create." +}, +"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. The resource name of the model into which to upload the version. Only specify this field when uploading a new version.", +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadModelResponse": { +"description": "Response message of ModelService.UploadModel operation.", +"id": "GoogleCloudAiplatformV1beta1UploadModelResponse", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadRagFileConfig": { +"description": "Config for uploading RagFile.", +"id": "GoogleCloudAiplatformV1beta1UploadRagFileConfig", +"properties": { +"ragFileChunkingConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", +"deprecated": true, +"description": "Specifies the size and overlap of chunks after uploading RagFile." +}, +"ragFileTransformationConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", +"description": "Specifies the transformation config for RagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadRagFileRequest": { +"description": "Request message for VertexRagDataService.UploadRagFile.", +"id": "GoogleCloudAiplatformV1beta1UploadRagFileRequest", +"properties": { +"ragFile": { +"$ref": "GoogleCloudAiplatformV1beta1RagFile", +"description": "Required. The RagFile to upload." +}, +"uploadRagFileConfig": { +"$ref": "GoogleCloudAiplatformV1beta1UploadRagFileConfig", +"description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadRagFileResponse": { +"description": "Response message for VertexRagDataService.UploadRagFile.", +"id": "GoogleCloudAiplatformV1beta1UploadRagFileResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error that occurred while processing the RagFile." +}, +"ragFile": { +"$ref": "GoogleCloudAiplatformV1beta1RagFile", +"description": "The RagFile that had been uploaded into the RagCorpus." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpsertDatapointsRequest": { +"description": "Request message for IndexService.UpsertDatapoints", +"id": "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest", +"properties": { +"datapoints": { +"description": "A list of datapoints to be created/updated.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1IndexDatapoint" +}, +"type": "array" +}, +"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.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UpsertDatapointsResponse": { +"description": "Response message for IndexService.UpsertDatapoints", +"id": "GoogleCloudAiplatformV1beta1UpsertDatapointsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UserActionReference": { +"description": "References an API call. It contains more information about long running operation and Jobs that are triggered by the API call.", +"id": "GoogleCloudAiplatformV1beta1UserActionReference", +"properties": { +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Value": { +"description": "Value is the value of the field.", +"id": "GoogleCloudAiplatformV1beta1Value", +"properties": { +"doubleValue": { +"description": "A double value.", +"format": "double", +"type": "number" +}, +"intValue": { +"description": "An integer value.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A string value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VertexAISearch": { +"description": "Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder", +"id": "GoogleCloudAiplatformV1beta1VertexAISearch", +"properties": { +"datastore": { +"description": "Required. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VertexAiSearchConfig": { +"description": "Config for the Vertex AI Search.", +"id": "GoogleCloudAiplatformV1beta1VertexAiSearchConfig", +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VertexRagStore": { +"description": "Retrieve from Vertex RAG Store for grounding.", +"id": "GoogleCloudAiplatformV1beta1VertexRagStore", +"properties": { +"ragCorpora": { +"deprecated": true, +"description": "Optional. Deprecated. Please use rag_resources instead.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1VertexRagStoreRagResource" +}, +"type": "array" +}, +"ragRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", +"description": "Optional. The retrieval config for the Rag query." +}, +"similarityTopK": { +"deprecated": true, +"description": "Optional. Number of top k results to return from the selected corpora.", +"format": "int32", +"type": "integer" +}, +"vectorDistanceThreshold": { +"deprecated": true, +"description": "Optional. Only return results with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VertexRagStoreRagResource": { +"description": "The definition of the Rag resource.", +"id": "GoogleCloudAiplatformV1beta1VertexRagStoreRagResource", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VideoMetadata": { +"description": "Metadata describes the input video content.", +"id": "GoogleCloudAiplatformV1beta1VideoMetadata", +"properties": { +"endOffset": { +"description": "Optional. The end offset of the video.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Optional. The start offset of the video.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1VoiceConfig": { +"description": "The configuration for the voice to use.", +"id": "GoogleCloudAiplatformV1beta1VoiceConfig", +"properties": { +"prebuiltVoiceConfig": { +"$ref": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", +"description": "The configuration for the prebuilt voice to use." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WorkerPoolSpec": { +"description": "Represents the spec of a worker pool in a job.", +"id": "GoogleCloudAiplatformV1beta1WorkerPoolSpec", +"properties": { +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ContainerSpec", +"description": "The custom container task." +}, +"diskSpec": { +"$ref": "GoogleCloudAiplatformV1beta1DiskSpec", +"description": "Disk spec." +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1beta1MachineSpec", +"description": "Optional. Immutable. The specification of a single machine." +}, +"nfsMounts": { +"description": "Optional. List of NFS mount spec.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1NfsMount" +}, +"type": "array" +}, +"pythonPackageSpec": { +"$ref": "GoogleCloudAiplatformV1beta1PythonPackageSpec", +"description": "The Python packaged task." +}, +"replicaCount": { +"description": "Optional. The number of worker replicas to use for this worker pool.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteFeatureValuesPayload": { +"description": "Contains Feature values to be written for a specific entity.", +"id": "GoogleCloudAiplatformV1beta1WriteFeatureValuesPayload", +"properties": { +"entityId": { +"description": "Required. The ID of the entity.", +"type": "string" +}, +"featureValues": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureValue" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.WriteFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1WriteFeatureValuesRequest", +"properties": { +"payloads": { +"description": "Required. The entities to be written. Up to 100,000 feature values can be written across all `payloads`.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesPayload" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteFeatureValuesResponse": { +"description": "Response message for FeaturestoreOnlineServingService.WriteFeatureValues.", +"id": "GoogleCloudAiplatformV1beta1WriteFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataRequest": { +"description": "Request message for TensorboardService.WriteTensorboardExperimentData.", +"id": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataRequest", +"properties": { +"writeRunDataRequests": { +"description": "Required. Requests containing per-run TensorboardTimeSeries data to write.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataResponse": { +"description": "Response message for TensorboardService.WriteTensorboardExperimentData.", +"id": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest": { +"description": "Request message for TensorboardService.WriteTensorboardRunData.", +"id": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest", +"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.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TimeSeriesData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1WriteTensorboardRunDataResponse": { +"description": "Response message for TensorboardService.WriteTensorboardRunData.", +"id": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1XraiAttribution": { +"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.", +"id": "GoogleCloudAiplatformV1beta1XraiAttribution", +"properties": { +"blurBaselineConfig": { +"$ref": "GoogleCloudAiplatformV1beta1BlurBaselineConfig", +"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" +}, +"smoothGradConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SmoothGradConfig", +"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" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudLocationListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "GoogleCloudLocationListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudLocationLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudLocationLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "GoogleCloudLocationLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleIamV1GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GoogleIamV1GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GoogleIamV1GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GoogleIamV1GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GoogleIamV1GetPolicyOptions", +"properties": { +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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 < 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 < 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": "GoogleIamV1Policy", +"properties": { +"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`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "GoogleIamV1SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "GoogleIamV1Policy", +"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." +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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\u2014for 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 <= 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 << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "GoogleTypeColor", +"properties": { +"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).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "GoogleTypeExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleTypeInterval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeMoney": { +"description": "Represents an amount of money with its currency type.", +"id": "GoogleTypeMoney", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Vertex AI API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/airquality.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/airquality.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..add751162fdc0957692c8a191c7e27cbd281c14f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/airquality.v1.json @@ -0,0 +1,875 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://airquality.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Air Quality", +"description": "The Air Quality API.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/maps/documentation/air-quality", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "airquality:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://airquality.mtls.googleapis.com/", +"name": "airquality", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"currentConditions": { +"methods": { +"lookup": { +"description": "The Current Conditions endpoint provides hourly air quality information in more than 100 countries, up to a 500 x 500 meters resolution. Includes over 70 local indexes and global air quality index and categories.", +"flatPath": "v1/currentConditions:lookup", +"httpMethod": "POST", +"id": "airquality.currentConditions.lookup", +"parameterOrder": [], +"parameters": {}, +"path": "v1/currentConditions:lookup", +"request": { +"$ref": "LookupCurrentConditionsRequest" +}, +"response": { +"$ref": "LookupCurrentConditionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"forecast": { +"methods": { +"lookup": { +"description": "Returns air quality forecast for a specific location for a given time range.", +"flatPath": "v1/forecast:lookup", +"httpMethod": "POST", +"id": "airquality.forecast.lookup", +"parameterOrder": [], +"parameters": {}, +"path": "v1/forecast:lookup", +"request": { +"$ref": "LookupForecastRequest" +}, +"response": { +"$ref": "LookupForecastResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"history": { +"methods": { +"lookup": { +"description": "Returns air quality history for a specific location for a given time range.", +"flatPath": "v1/history:lookup", +"httpMethod": "POST", +"id": "airquality.history.lookup", +"parameterOrder": [], +"parameters": {}, +"path": "v1/history:lookup", +"request": { +"$ref": "LookupHistoryRequest" +}, +"response": { +"$ref": "LookupHistoryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"mapTypes": { +"resources": { +"heatmapTiles": { +"methods": { +"lookupHeatmapTile": { +"description": "Returns a bytes array containing the data of the tile PNG image.", +"flatPath": "v1/mapTypes/{mapType}/heatmapTiles/{zoom}/{x}/{y}", +"httpMethod": "GET", +"id": "airquality.mapTypes.heatmapTiles.lookupHeatmapTile", +"parameterOrder": [ +"mapType", +"zoom", +"x", +"y" +], +"parameters": { +"mapType": { +"description": "Required. The type of the air quality heatmap. Defines the pollutant that the map will graphically represent. Allowed values: - UAQI_RED_GREEN (UAQI, red-green palette) - UAQI_INDIGO_PERSIAN (UAQI, indigo-persian palette) - PM25_INDIGO_PERSIAN - GBR_DEFRA - DEU_UBA - CAN_EC - FRA_ATMO - US_AQI", +"enum": [ +"MAP_TYPE_UNSPECIFIED", +"UAQI_RED_GREEN", +"UAQI_INDIGO_PERSIAN", +"PM25_INDIGO_PERSIAN", +"GBR_DEFRA", +"DEU_UBA", +"CAN_EC", +"FRA_ATMO", +"US_AQI" +], +"enumDescriptions": [ +"The default value. The server ignores it if it is passed as a parameter.", +"Universal Air Quality Index red-green palette.", +"Universal Air Quality Index indigo-persian palette.", +"PM2.5 index indigo-persian palette.", +"Daily Air Quality Index (UK) color palette.", +"German Local Air Quality Index color palette.", +"Canadian Air Quality Health Index color palette.", +"France Air Quality Index color palette.", +"US Air Quality Index color palette." +], +"location": "path", +"required": true, +"type": "string" +}, +"x": { +"description": "Required. Defines the east-west point in the requested tile.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"y": { +"description": "Required. Defines the north-south point in the requested tile.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"zoom": { +"description": "Required. The map's zoom level. Defines how large or small the contents of a map appear in a map view. Zoom level 0 is the entire world in a single tile. Zoom level 1 is the entire world in 4 tiles. Zoom level 2 is the entire world in 16 tiles. Zoom level 16 is the entire world in 65,536 tiles. Allowed values: 0-16", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +} +}, +"path": "v1/mapTypes/{mapType}/heatmapTiles/{zoom}/{x}/{y}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20240901", +"rootUrl": "https://airquality.googleapis.com/", +"schemas": { +"AdditionalInfo": { +"description": "The emission sources and health effects of a given pollutant.", +"id": "AdditionalInfo", +"properties": { +"effects": { +"description": "Text representing the pollutant's main health effects.", +"type": "string" +}, +"sources": { +"description": "Text representing the pollutant's main emission sources.", +"type": "string" +} +}, +"type": "object" +}, +"AirQualityIndex": { +"description": "The basic object for representing different air quality metrics. When brought together, these metrics provide a snapshot about the current air quality conditions. There are multiple indexes in the world serving different purposes and groups interested in measuring different aspects of air quality.", +"id": "AirQualityIndex", +"properties": { +"aqi": { +"description": " The index's numeric score. Examples: 10, 100. The value is not normalized and should only be interpreted in the context of its related air-quality index. For non-numeric indexes, this field will not be returned. Note: This field should be used for calculations, graph display, etc. For displaying the index score, you should use the AQI display field.", +"format": "int32", +"type": "integer" +}, +"aqiDisplay": { +"description": "Textual representation of the index numeric score, that may include prefix or suffix symbols, which usually represents the worst index score. Example: >100 or 10+. Note: This field should be used when you want to display the index score. For non-numeric indexes, this field is empty.", +"type": "string" +}, +"category": { +"description": "Textual classification of the index numeric score interpretation. For example: \"Excellent air quality\".", +"type": "string" +}, +"code": { +"description": "The index's code. This field represents the index for programming purposes by using snake case instead of spaces. Examples: \"uaqi\", \"fra_atmo\".", +"type": "string" +}, +"color": { +"$ref": "Color", +"description": "The color used to represent the AQI numeric score." +}, +"displayName": { +"description": "A human readable representation of the index name. Example: \"AQI (US)\"", +"type": "string" +}, +"dominantPollutant": { +"description": "The chemical symbol of the dominant pollutant. For example: \"CO\".", +"type": "string" +} +}, +"type": "object" +}, +"Color": { +"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\u2014for 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 <= 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 << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "Color", +"properties": { +"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).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Concentration": { +"description": "The concentration of a given pollutant in the air.", +"id": "Concentration", +"properties": { +"units": { +"description": "Units for measuring this pollutant concentration.", +"enum": [ +"UNIT_UNSPECIFIED", +"PARTS_PER_BILLION", +"MICROGRAMS_PER_CUBIC_METER" +], +"enumDescriptions": [ +"Unspecified concentration unit.", +"The ppb (parts per billion) concentration unit.", +"The \"\u00b5g/m^3\" (micrograms per cubic meter) concentration unit." +], +"type": "string" +}, +"value": { +"description": "Value of the pollutant concentration.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CustomLocalAqi": { +"description": "Expresses a 'country/region to AQI' relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI.", +"id": "CustomLocalAqi", +"properties": { +"aqi": { +"description": "The AQI to associate the country/region with. Value should be a [valid index](/maps/documentation/air-quality/laqis) code.", +"type": "string" +}, +"regionCode": { +"description": "The country/region requiring the custom AQI. Value should be provided using [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.", +"type": "string" +} +}, +"type": "object" +}, +"HealthRecommendations": { +"description": "Health recommendations for different population groups in a free text format. The recommendations are derived from their associated air quality conditions.", +"id": "HealthRecommendations", +"properties": { +"athletes": { +"description": "Sports and other strenuous outdoor activities.", +"type": "string" +}, +"children": { +"description": "Younger populations including children, toddlers, and babies.", +"type": "string" +}, +"elderly": { +"description": "Retirees and people older than the general population.", +"type": "string" +}, +"generalPopulation": { +"description": "No specific sensitivities.", +"type": "string" +}, +"heartDiseasePopulation": { +"description": "Heart and circulatory system diseases.", +"type": "string" +}, +"lungDiseasePopulation": { +"description": "Respiratory related problems and asthma suffers.", +"type": "string" +}, +"pregnantWomen": { +"description": "Women at all stages of pregnancy.", +"type": "string" +} +}, +"type": "object" +}, +"HourInfo": { +"description": "Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of history there will be 48 elements of hourly info.", +"id": "HourInfo", +"properties": { +"dateTime": { +"description": "A rounded down timestamp indicating the time the data refers to in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. For example: \"2014-10-02T15:00:00Z\".", +"format": "google-datetime", +"type": "string" +}, +"healthRecommendations": { +"$ref": "HealthRecommendations", +"description": "Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population." +}, +"indexes": { +"description": "Based on the request parameters, this list will include (up to) two air quality indexes: - Universal AQI. Will be returned if the universalAqi boolean is set to true. - Local AQI. Will be returned if the LOCAL_AQI extra computation is specified.", +"items": { +"$ref": "AirQualityIndex" +}, +"type": "array" +}, +"pollutants": { +"description": "A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that specified one or more of the following extra computations: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION.", +"items": { +"$ref": "Pollutant" +}, +"type": "array" +} +}, +"type": "object" +}, +"HourlyForecast": { +"description": "Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of forecast there will be 48 elements of hourly forecasts.", +"id": "HourlyForecast", +"properties": { +"dateTime": { +"description": "A rounded down timestamp indicating the time (hour) the data refers to in RFC3339 UTC \"Zulu\" format. For example: \"2014-10-02T15:00:00Z\".", +"format": "google-datetime", +"type": "string" +}, +"healthRecommendations": { +"$ref": "HealthRecommendations", +"description": "Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population." +}, +"indexes": { +"description": "Based on the request parameters, this list will include (up to) two air quality indexes: - Universal AQI. Will be returned if the `universal_aqi` boolean is set to true. - Local AQI. Will be returned if the LOCAL_AQI extra computation is specified.", +"items": { +"$ref": "AirQualityIndex" +}, +"type": "array" +}, +"pollutants": { +"description": "A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that specified one or more of the following extra computations: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION.", +"items": { +"$ref": "Pollutant" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpBody": { +"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.", +"id": "HttpBody", +"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.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Interval": { +"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.", +"id": "Interval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"LatLng": { +"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.", +"id": "LatLng", +"properties": { +"latitude": { +"description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"LookupCurrentConditionsRequest": { +"description": "The request definition of the air quality current conditions.", +"id": "LookupCurrentConditionsRequest", +"properties": { +"customLocalAqis": { +"description": "Optional. Expresses a 'country/region to AQI' relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI. This parameter can be used to specify a non-default AQI for a given country, for example, to get the US EPA index for Canada rather than the default index for Canada.", +"items": { +"$ref": "CustomLocalAqi" +}, +"type": "array" +}, +"extraComputations": { +"description": "Optional. Additional features that can be optionally enabled. Specifying extra computations will result in the relevant elements and fields to be returned in the response.", +"items": { +"enum": [ +"EXTRA_COMPUTATION_UNSPECIFIED", +"LOCAL_AQI", +"HEALTH_RECOMMENDATIONS", +"POLLUTANT_ADDITIONAL_INFO", +"DOMINANT_POLLUTANT_CONCENTRATION", +"POLLUTANT_CONCENTRATION" +], +"enumDescriptions": [ +"The default value. The server ignores it if it is passed as a parameter.", +"Determines whether to include the local (national) AQI of the requested location (country) in the response. If specified, the response will contain an 'air_quality_index' data structure with all the relevant data on the location's local AQI.", +"Determines whether the response will include the health advice and recommended actions for the current AQI conditions. The recommendations are tailored for the general population and six populations at risk groups with greater sensitivities to pollutants than the general population. If specified, the `health_recommendations` field will be populated in the response when the relevant data is available.", +"Determines whether to include in the response the additional information of each pollutant. If specified, each air quality index object contained in the 'indexes' field response will include an `additional_info` field when the data is available.", +"Determines whether the response would include the concentrations of the dominant pollutants measured according to global and/or local indexes. If the request specified both the global AQI and the local AQI, there may be up to two pollutant codes returned. If specified, the dominant pollutant object contained in the 'pollutants' list will include a `concentration` field when the data is available.", +"Determines whether the response would include the concentrations of all pollutants with available measurements according to global and/or local indexes. If specified, each pollutant object contained in the 'pollutants' field in the response will include a `concentration` field when the data is available." +], +"type": "string" +}, +"type": "array" +}, +"languageCode": { +"description": "Optional. Allows the client to choose the language for the response. If data cannot be provided for that language the API uses the closest match. Allowed values rely on the IETF standard. Default value is en.", +"type": "string" +}, +"location": { +"$ref": "LatLng", +"description": "Required. The longitude and latitude from which the API looks for air quality current conditions data." +}, +"uaqiColorPalette": { +"description": "Optional. Determines the color palette used for data provided by the 'Universal Air Quality Index' (UAQI). This color palette is relevant just for UAQI, other AQIs have a predetermined color palette that can't be controlled.", +"enum": [ +"COLOR_PALETTE_UNSPECIFIED", +"RED_GREEN", +"INDIGO_PERSIAN_DARK", +"INDIGO_PERSIAN_LIGHT" +], +"enumDescriptions": [ +"The default value. Ignored if passed as a parameter.", +"Determines whether to use a red/green palette.", +"Determines whether to use a indigo/persian palette (dark theme).", +"Determines whether to use a indigo/persian palette (light theme)." +], +"type": "string" +}, +"universalAqi": { +"description": "Optional. If set to true, the Universal AQI will be included in the 'indexes' field of the response. Default value is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"LookupCurrentConditionsResponse": { +"id": "LookupCurrentConditionsResponse", +"properties": { +"dateTime": { +"description": "A rounded down timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. For example: \"2014-10-02T15:00:00Z\".", +"format": "google-datetime", +"type": "string" +}, +"healthRecommendations": { +"$ref": "HealthRecommendations", +"description": "Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population." +}, +"indexes": { +"description": "Based on the request parameters, this list will include (up to) two air quality indexes: - Universal AQI. Will be returned if the universalAqi boolean is set to true. - Local AQI. Will be returned if the LOCAL_AQI extra computation is specified.", +"items": { +"$ref": "AirQualityIndex" +}, +"type": "array" +}, +"pollutants": { +"description": "A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that specified one or more of the following extra computations: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION.", +"items": { +"$ref": "Pollutant" +}, +"type": "array" +}, +"regionCode": { +"description": "The ISO_3166-1 alpha-2 code of the country/region corresponding to the location provided in the request. This field might be omitted from the response if the location provided in the request resides in a disputed territory.", +"type": "string" +} +}, +"type": "object" +}, +"LookupForecastRequest": { +"description": "The request object of the air quality forecast API.", +"id": "LookupForecastRequest", +"properties": { +"customLocalAqis": { +"description": "Optional. Expresses a 'country/region to AQI' relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI. This parameter can be used to specify a non-default AQI for a given country, for example, to get the US EPA index for Canada rather than the default index for Canada.", +"items": { +"$ref": "CustomLocalAqi" +}, +"type": "array" +}, +"dateTime": { +"description": "A timestamp for which to return the data for a specific point in time. The timestamp is rounded to the previous exact hour. Note: this will return hourly data for the requested timestamp only (i.e. a single hourly info element). For example, a request sent where the date_time parameter is set to 2023-01-03T11:05:49Z will be rounded down to 2023-01-03T11:00:00Z.", +"format": "google-datetime", +"type": "string" +}, +"extraComputations": { +"description": "Optional. Additional features that can be optionally enabled. Specifying extra computations will result in the relevant elements and fields to be returned in the response.", +"items": { +"enum": [ +"EXTRA_COMPUTATION_UNSPECIFIED", +"LOCAL_AQI", +"HEALTH_RECOMMENDATIONS", +"POLLUTANT_ADDITIONAL_INFO", +"DOMINANT_POLLUTANT_CONCENTRATION", +"POLLUTANT_CONCENTRATION" +], +"enumDescriptions": [ +"The default value. The server ignores it if it is passed as a parameter.", +"Determines whether to include the local (national) AQI of the requested location (country) in the response. If specified, the response will contain an 'air_quality_index' data structure with all the relevant data on the location's local AQI.", +"Determines whether the response will include the health advice and recommended actions for the current AQI conditions. The recommendations are tailored for the general population and six populations at risk groups with greater sensitivities to pollutants than the general population. If specified, the `health_recommendations` field will be populated in the response when the relevant data is available.", +"Determines whether to include in the response the additional information of each pollutant. If specified, each air quality index object contained in the 'indexes' field response will include an `additional_info` field when the data is available.", +"Determines whether the response would include the concentrations of the dominant pollutants measured according to global and/or local indexes. If the request specified both the global AQI and the local AQI, there may be up to two pollutant codes returned. If specified, the dominant pollutant object contained in the 'pollutants' list will include a `concentration` field when the data is available.", +"Determines whether the response would include the concentrations of all pollutants with available measurements according to global and/or local indexes. If specified, each pollutant object contained in the 'pollutants' field in the response will include a `concentration` field when the data is available." +], +"type": "string" +}, +"type": "array" +}, +"languageCode": { +"description": "Optional. Allows the client to choose the language for the response. If data cannot be provided for that language the API uses the closest match. Allowed values rely on the IETF standard (default = 'en').", +"type": "string" +}, +"location": { +"$ref": "LatLng", +"description": "Required. The latitude and longitude for which the API looks for air quality data." +}, +"pageSize": { +"description": "Optional. The maximum number of hourly info records to return per page (default = 24).", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous forecast call. It is used to retrieve the subsequent page.", +"type": "string" +}, +"period": { +"$ref": "Interval", +"description": "Indicates the start and end period for which to get the forecast data. The timestamp is rounded to the previous exact hour." +}, +"uaqiColorPalette": { +"description": "Optional. Determines the color palette used for data provided by the 'Universal Air Quality Index' (UAQI). This color palette is relevant just for UAQI, other AQIs have a predetermined color palette that can't be controlled.", +"enum": [ +"COLOR_PALETTE_UNSPECIFIED", +"RED_GREEN", +"INDIGO_PERSIAN_DARK", +"INDIGO_PERSIAN_LIGHT" +], +"enumDescriptions": [ +"The default value. Ignored if passed as a parameter.", +"Determines whether to use a red/green palette.", +"Determines whether to use a indigo/persian palette (dark theme).", +"Determines whether to use a indigo/persian palette (light theme)." +], +"type": "string" +}, +"universalAqi": { +"description": "Optional. If set to true, the Universal AQI will be included in the 'indexes' field of the response (default = true).", +"type": "boolean" +} +}, +"type": "object" +}, +"LookupForecastResponse": { +"description": "The response object of the air quality forecast API.", +"id": "LookupForecastResponse", +"properties": { +"hourlyForecasts": { +"description": "Optional. Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of forecast there will be 48 elements of hourly forecasts.", +"items": { +"$ref": "HourlyForecast" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Optional. The token to retrieve the next page.", +"type": "string" +}, +"regionCode": { +"description": "Optional. The ISO_3166-1 alpha-2 code of the country/region corresponding to the location provided in the request. This field might be omitted from the response if the location provided in the request resides in a disputed territory.", +"type": "string" +} +}, +"type": "object" +}, +"LookupHistoryRequest": { +"description": "The request object of the air quality history API.", +"id": "LookupHistoryRequest", +"properties": { +"customLocalAqis": { +"description": "Optional. Expresses a 'country/region to AQI' relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI. This parameter can be used to specify a non-default AQI for a given country, for example, to get the US EPA index for Canada rather than the default index for Canada.", +"items": { +"$ref": "CustomLocalAqi" +}, +"type": "array" +}, +"dateTime": { +"description": "A timestamp for which to return historical data. The timestamp is rounded to the previous exact hour. Note: this will return hourly data for the requested timestamp only (i.e. a single hourly info element). For example, a request sent where the dateTime parameter is set to 2023-01-03T11:05:49Z will be rounded down to 2023-01-03T11:00:00Z. A timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\".", +"format": "google-datetime", +"type": "string" +}, +"extraComputations": { +"description": "Optional. Additional features that can be optionally enabled. Specifying extra computations will result in the relevant elements and fields to be returned in the response.", +"items": { +"enum": [ +"EXTRA_COMPUTATION_UNSPECIFIED", +"LOCAL_AQI", +"HEALTH_RECOMMENDATIONS", +"POLLUTANT_ADDITIONAL_INFO", +"DOMINANT_POLLUTANT_CONCENTRATION", +"POLLUTANT_CONCENTRATION" +], +"enumDescriptions": [ +"The default value. The server ignores it if it is passed as a parameter.", +"Determines whether to include the local (national) AQI of the requested location (country) in the response. If specified, the response will contain an 'air_quality_index' data structure with all the relevant data on the location's local AQI.", +"Determines whether the response will include the health advice and recommended actions for the current AQI conditions. The recommendations are tailored for the general population and six populations at risk groups with greater sensitivities to pollutants than the general population. If specified, the `health_recommendations` field will be populated in the response when the relevant data is available.", +"Determines whether to include in the response the additional information of each pollutant. If specified, each air quality index object contained in the 'indexes' field response will include an `additional_info` field when the data is available.", +"Determines whether the response would include the concentrations of the dominant pollutants measured according to global and/or local indexes. If the request specified both the global AQI and the local AQI, there may be up to two pollutant codes returned. If specified, the dominant pollutant object contained in the 'pollutants' list will include a `concentration` field when the data is available.", +"Determines whether the response would include the concentrations of all pollutants with available measurements according to global and/or local indexes. If specified, each pollutant object contained in the 'pollutants' field in the response will include a `concentration` field when the data is available." +], +"type": "string" +}, +"type": "array" +}, +"hours": { +"description": "Number from 1 to 720 that indicates the hours range for the request. For example: A value of 48 will yield data from the last 48 hours.", +"format": "int32", +"type": "integer" +}, +"languageCode": { +"description": "Optional. Allows the client to choose the language for the response. If data cannot be provided for that language the API uses the closest match. Allowed values rely on the IETF standard. Default value is en.", +"type": "string" +}, +"location": { +"$ref": "LatLng", +"description": "Required. The latitude and longitude for which the API looks for air quality history data." +}, +"pageSize": { +"description": "Optional. The maximum number of hourly info records to return per page. The default is 72 and the max value is 168 (7 days of data).", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous history call. It is used to retrieve the subsequent page. Note that when providing a value for this parameter all other parameters provided must match the call that provided the page token (the previous call).", +"type": "string" +}, +"period": { +"$ref": "Interval", +"description": "Indicates the start and end period for which to get the historical data. The timestamp is rounded to the previous exact hour." +}, +"uaqiColorPalette": { +"description": "Optional. Determines the color palette used for data provided by the 'Universal Air Quality Index' (UAQI). This color palette is relevant just for UAQI, other AQIs have a predetermined color palette that can't be controlled.", +"enum": [ +"COLOR_PALETTE_UNSPECIFIED", +"RED_GREEN", +"INDIGO_PERSIAN_DARK", +"INDIGO_PERSIAN_LIGHT" +], +"enumDescriptions": [ +"The default value. Ignored if passed as a parameter.", +"Determines whether to use a red/green palette.", +"Determines whether to use a indigo/persian palette (dark theme).", +"Determines whether to use a indigo/persian palette (light theme)." +], +"type": "string" +}, +"universalAqi": { +"description": "Optional. If set to true, the Universal AQI will be included in the 'indexes' field of the response. Default value is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"LookupHistoryResponse": { +"id": "LookupHistoryResponse", +"properties": { +"hoursInfo": { +"description": "Optional. Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of history there will be 48 elements of hourly info.", +"items": { +"$ref": "HourInfo" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Optional. The token to retrieve the next page.", +"type": "string" +}, +"regionCode": { +"description": "Optional. The ISO_3166-1 alpha-2 code of the country/region corresponding to the location provided in the request. This field might be omitted from the response if the location provided in the request resides in a disputed territory.", +"type": "string" +} +}, +"type": "object" +}, +"Pollutant": { +"description": "Data regarding an air quality pollutant.", +"id": "Pollutant", +"properties": { +"additionalInfo": { +"$ref": "AdditionalInfo", +"description": "Additional information about the pollutant." +}, +"code": { +"description": "The pollutant's code name (for example, \"so2\"). For a list of supported pollutant codes, see [Reported pollutants](/maps/documentation/air-quality/pollutants#reported_pollutants).", +"type": "string" +}, +"concentration": { +"$ref": "Concentration", +"description": "The pollutant's concentration level measured by one of the standard air pollutation measure units." +}, +"displayName": { +"description": "The pollutant's display name. For example: \"NOx\".", +"type": "string" +}, +"fullName": { +"description": "The pollutant's full name. For chemical compounds, this is the IUPAC name. Example: \"Sulfur Dioxide\". For more information about the IUPAC names table, see https://iupac.org/what-we-do/periodic-table-of-elements/.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Air Quality API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidenterprise.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidenterprise.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..7a88d4ed5df756b7201ef6c00fdaa978626e3e6f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidenterprise.v1.json @@ -0,0 +1,4967 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/androidenterprise": { +"description": "Manage corporate Android devices" +} +} +} +}, +"basePath": "", +"baseUrl": "https://androidenterprise.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Android Enterprise", +"description": "Manages the deployment of apps to Android Enterprise devices.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/android/work/play/emm-api", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "androidenterprise:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://androidenterprise.mtls.googleapis.com/", +"name": "androidenterprise", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"devices": { +"methods": { +"forceReportUpload": { +"description": "Uploads a report containing any changes in app states on the device since the last report was generated. You can call this method up to 3 times every 24 hours for a given device. If you exceed the quota, then the Google Play EMM API returns HTTP 429 Too Many Requests.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/forceReportUpload", +"httpMethod": "POST", +"id": "androidenterprise.devices.forceReportUpload", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/forceReportUpload", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves the details of a device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", +"httpMethod": "GET", +"id": "androidenterprise.devices.get", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", +"response": { +"$ref": "Device" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getState": { +"description": "Retrieves whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", +"httpMethod": "GET", +"id": "androidenterprise.devices.getState", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", +"response": { +"$ref": "DeviceState" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves the IDs of all of a user's devices.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices", +"httpMethod": "GET", +"id": "androidenterprise.devices.list", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices", +"response": { +"$ref": "DevicesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"setState": { +"description": "Sets whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", +"httpMethod": "PUT", +"id": "androidenterprise.devices.setState", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", +"request": { +"$ref": "DeviceState" +}, +"response": { +"$ref": "DeviceState" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Updates the device policy. To ensure the policy is properly enforced, you need to prevent unmanaged accounts from accessing Google Play by setting the allowed_accounts in the managed configuration for the Google Play package. See restrict accounts in Google Play. When provisioning a new device, you should set the device policy using this method before adding the managed Google Play Account to the device, otherwise the policy will not be applied for a short period of time after adding the account to the device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", +"httpMethod": "PUT", +"id": "androidenterprise.devices.update", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields to update. If not set, all modifiable fields will be modified. When set in a query parameter, this field should be specified as updateMask=,,...", +"location": "query", +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", +"request": { +"$ref": "Device" +}, +"response": { +"$ref": "Device" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"enterprises": { +"methods": { +"acknowledgeNotificationSet": { +"description": "Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications.", +"flatPath": "androidenterprise/v1/enterprises/acknowledgeNotificationSet", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.acknowledgeNotificationSet", +"parameterOrder": [], +"parameters": { +"notificationSetId": { +"description": "The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided.", +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/acknowledgeNotificationSet", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"completeSignup": { +"description": "Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token.", +"flatPath": "androidenterprise/v1/enterprises/completeSignup", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.completeSignup", +"parameterOrder": [], +"parameters": { +"completionToken": { +"description": "The Completion token initially returned by GenerateSignupUrl.", +"location": "query", +"type": "string" +}, +"enterpriseToken": { +"description": "The Enterprise token appended to the Callback URL.", +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/completeSignup", +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"createEnrollmentToken": { +"description": "Returns a token for device enrollment. The DPC can encode this token within the QR/NFC/zero-touch enrollment payload or fetch it before calling the on-device API to authenticate the user. The token can be generated for each device or reused across multiple devices.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/createEnrollmentToken", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.createEnrollmentToken", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "Required. The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/createEnrollmentToken", +"request": { +"$ref": "EnrollmentToken" +}, +"response": { +"$ref": "EnrollmentToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"createWebToken": { +"description": "Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the JavaScript API documentation for further information.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/createWebToken", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.createWebToken", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/createWebToken", +"request": { +"$ref": "AdministratorWebTokenSpec" +}, +"response": { +"$ref": "AdministratorWebToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"enroll": { +"description": "Enrolls an enterprise with the calling EMM.", +"flatPath": "androidenterprise/v1/enterprises/enroll", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.enroll", +"parameterOrder": [ +"token" +], +"parameters": { +"token": { +"description": "Required. The token provided by the enterprise to register the EMM.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/enroll", +"request": { +"$ref": "Enterprise" +}, +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"generateSignupUrl": { +"description": "Generates a sign-up URL.", +"flatPath": "androidenterprise/v1/enterprises/signupUrl", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.generateSignupUrl", +"parameterOrder": [], +"parameters": { +"adminEmail": { +"description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user. If `allowedDomains` is non-empty then this must belong to one of the `allowedDomains`.", +"location": "query", +"type": "string" +}, +"allowedDomains": { +"description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has `*.` prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise.", +"location": "query", +"repeated": true, +"type": "string" +}, +"callbackUrl": { +"description": "The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named \"enterpriseToken\" which will contain an opaque token to be used for the CompleteSignup request. Beware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed.", +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/signupUrl", +"response": { +"$ref": "SignupInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves the name and domain of an enterprise.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}", +"httpMethod": "GET", +"id": "androidenterprise.enterprises.get", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}", +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getServiceAccount": { +"description": "Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side. This method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error. Subsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials. Once the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccount", +"httpMethod": "GET", +"id": "androidenterprise.enterprises.getServiceAccount", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"keyType": { +"description": "The type of credential to return with the service account. Required.", +"enum": [ +"googleCredentials", +"pkcs12" +], +"enumDescriptions": [ +"Google Credentials File format.", +"PKCS12 format. The password for the PKCS12 file is 'notasecret'. For more information, see https://tools.ietf.org/html/rfc7292. The data for keys of this type are base64 encoded according to RFC 4648 Section 4. See http://tools.ietf.org/html/rfc4648#section-4." +], +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccount", +"response": { +"$ref": "ServiceAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getStoreLayout": { +"description": "Returns the store layout for the enterprise. If the store layout has not been set, returns \"basic\" as the store layout type and no homepage.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", +"httpMethod": "GET", +"id": "androidenterprise.enterprises.getStoreLayout", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", +"response": { +"$ref": "StoreLayout" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call.", +"flatPath": "androidenterprise/v1/enterprises", +"httpMethod": "GET", +"id": "androidenterprise.enterprises.list", +"parameterOrder": [ +"domain" +], +"parameters": { +"domain": { +"description": "Required. The exact primary domain name of the enterprise to look up.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises", +"response": { +"$ref": "EnterprisesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"pullNotificationSet": { +"description": "Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending. A notification set returned needs to be acknowledged within 20 seconds by calling Enterprises.AcknowledgeNotificationSet, unless the notification set is empty. Notifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy. Multiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending. If no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available.", +"flatPath": "androidenterprise/v1/enterprises/pullNotificationSet", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.pullNotificationSet", +"parameterOrder": [], +"parameters": { +"requestMode": { +"description": "The request mode for pulling notifications. Specifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time. Specifying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present. If omitted, defaults to waitForNotifications.", +"enum": [ +"waitForNotifications", +"returnImmediately" +], +"enumDescriptions": [ +"Wait until one or more notifications are present.", +"Returns immediately whether notifications are present or not." +], +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/pullNotificationSet", +"response": { +"$ref": "NotificationSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"sendTestPushNotification": { +"description": "Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/sendTestPushNotification", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.sendTestPushNotification", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/sendTestPushNotification", +"response": { +"$ref": "EnterprisesSendTestPushNotificationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"setAccount": { +"description": "Sets the account that will be used to authenticate to the API as the enterprise.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/account", +"httpMethod": "PUT", +"id": "androidenterprise.enterprises.setAccount", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/account", +"request": { +"$ref": "EnterpriseAccount" +}, +"response": { +"$ref": "EnterpriseAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"setStoreLayout": { +"description": "Sets the store layout for the enterprise. By default, storeLayoutType is set to \"basic\" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the setAvailableProductSet call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = \"custom\" and setting a homepage), the basic store layout is disabled.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", +"httpMethod": "PUT", +"id": "androidenterprise.enterprises.setStoreLayout", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", +"request": { +"$ref": "StoreLayout" +}, +"response": { +"$ref": "StoreLayout" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"unenroll": { +"description": "Unenrolls an enterprise from the calling EMM.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/unenroll", +"httpMethod": "POST", +"id": "androidenterprise.enterprises.unenroll", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/unenroll", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"entitlements": { +"methods": { +"delete": { +"description": "Removes an entitlement to an app for a user. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"httpMethod": "DELETE", +"id": "androidenterprise.entitlements.delete", +"parameterOrder": [ +"enterpriseId", +"userId", +"entitlementId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"entitlementId": { +"description": "The ID of the entitlement (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of an entitlement. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"httpMethod": "GET", +"id": "androidenterprise.entitlements.get", +"parameterOrder": [ +"enterpriseId", +"userId", +"entitlementId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"entitlementId": { +"description": "The ID of the entitlement (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"response": { +"$ref": "Entitlement" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Lists all entitlements for the specified user. Only the ID is set. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements", +"httpMethod": "GET", +"id": "androidenterprise.entitlements.list", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements", +"response": { +"$ref": "EntitlementsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Adds or updates an entitlement to an app for a user. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"httpMethod": "PUT", +"id": "androidenterprise.entitlements.update", +"parameterOrder": [ +"enterpriseId", +"userId", +"entitlementId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"entitlementId": { +"description": "The ID of the entitlement (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"install": { +"description": "Set to true to also install the product on all the user's devices where possible. Failure to install on one or more devices will not prevent this operation from returning successfully, as long as the entitlement was successfully assigned to the user.", +"location": "query", +"type": "boolean" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", +"request": { +"$ref": "Entitlement" +}, +"response": { +"$ref": "Entitlement" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"grouplicenses": { +"methods": { +"get": { +"description": "Retrieves details of an enterprise's group license for a product. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}", +"httpMethod": "GET", +"id": "androidenterprise.grouplicenses.get", +"parameterOrder": [ +"enterpriseId", +"groupLicenseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"groupLicenseId": { +"description": "The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}", +"response": { +"$ref": "GroupLicense" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves IDs of all products for which the enterprise has a group license. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses", +"httpMethod": "GET", +"id": "androidenterprise.grouplicenses.list", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses", +"response": { +"$ref": "GroupLicensesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"grouplicenseusers": { +"methods": { +"list": { +"description": "Retrieves the IDs of the users who have been granted entitlements under the license. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users", +"httpMethod": "GET", +"id": "androidenterprise.grouplicenseusers.list", +"parameterOrder": [ +"enterpriseId", +"groupLicenseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"groupLicenseId": { +"description": "The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users", +"response": { +"$ref": "GroupLicenseUsersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"installs": { +"methods": { +"delete": { +"description": "Requests to remove an app from a device. A call to get or list will still show the app as installed on the device until it is actually removed. A successful response indicates that a removal request has been sent to the device. The call will be considered successful even if the app is not present on the device (e.g. it was never installed, or was removed by the user).", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"httpMethod": "DELETE", +"id": "androidenterprise.installs.delete", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"installId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"installId": { +"description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of an installation of an app on a device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"httpMethod": "GET", +"id": "androidenterprise.installs.get", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"installId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"installId": { +"description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"response": { +"$ref": "Install" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves the details of all apps installed on the specified device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs", +"httpMethod": "GET", +"id": "androidenterprise.installs.list", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs", +"response": { +"$ref": "InstallsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Requests to install the latest version of an app to a device. If the app is already installed, then it is updated to the latest version if necessary.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"httpMethod": "PUT", +"id": "androidenterprise.installs.update", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"installId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"installId": { +"description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", +"request": { +"$ref": "Install" +}, +"response": { +"$ref": "Install" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"managedconfigurationsfordevice": { +"methods": { +"delete": { +"description": "Removes a per-device managed configuration for an app for the specified device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"httpMethod": "DELETE", +"id": "androidenterprise.managedconfigurationsfordevice.delete", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"managedConfigurationForDeviceId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForDeviceId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of a per-device managed configuration.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"httpMethod": "GET", +"id": "androidenterprise.managedconfigurationsfordevice.get", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"managedConfigurationForDeviceId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForDeviceId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"response": { +"$ref": "ManagedConfiguration" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Lists all the per-device managed configurations for the specified device. Only the ID is set.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice", +"httpMethod": "GET", +"id": "androidenterprise.managedconfigurationsfordevice.list", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice", +"response": { +"$ref": "ManagedConfigurationsForDeviceListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Adds or updates a per-device managed configuration for an app for the specified device.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"httpMethod": "PUT", +"id": "androidenterprise.managedconfigurationsfordevice.update", +"parameterOrder": [ +"enterpriseId", +"userId", +"deviceId", +"managedConfigurationForDeviceId" +], +"parameters": { +"deviceId": { +"description": "The Android ID of the device.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForDeviceId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", +"request": { +"$ref": "ManagedConfiguration" +}, +"response": { +"$ref": "ManagedConfiguration" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"managedconfigurationsforuser": { +"methods": { +"delete": { +"description": "Removes a per-user managed configuration for an app for the specified user.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"httpMethod": "DELETE", +"id": "androidenterprise.managedconfigurationsforuser.delete", +"parameterOrder": [ +"enterpriseId", +"userId", +"managedConfigurationForUserId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForUserId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of a per-user managed configuration for an app for the specified user.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"httpMethod": "GET", +"id": "androidenterprise.managedconfigurationsforuser.get", +"parameterOrder": [ +"enterpriseId", +"userId", +"managedConfigurationForUserId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForUserId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"response": { +"$ref": "ManagedConfiguration" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Lists all the per-user managed configurations for the specified user. Only the ID is set.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser", +"httpMethod": "GET", +"id": "androidenterprise.managedconfigurationsforuser.list", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser", +"response": { +"$ref": "ManagedConfigurationsForUserListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Adds or updates the managed configuration settings for an app for the specified user. If you support the Managed configurations iframe, you can apply managed configurations to a user by specifying an mcmId and its associated configuration variables (if any) in the request. Alternatively, all EMMs can apply managed configurations by passing a list of managed properties.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"httpMethod": "PUT", +"id": "androidenterprise.managedconfigurationsforuser.update", +"parameterOrder": [ +"enterpriseId", +"userId", +"managedConfigurationForUserId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"managedConfigurationForUserId": { +"description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", +"request": { +"$ref": "ManagedConfiguration" +}, +"response": { +"$ref": "ManagedConfiguration" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"managedconfigurationssettings": { +"methods": { +"list": { +"description": "Lists all the managed configurations settings for the specified app.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings", +"httpMethod": "GET", +"id": "androidenterprise.managedconfigurationssettings.list", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"productId": { +"description": "The ID of the product for which the managed configurations settings applies to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings", +"response": { +"$ref": "ManagedConfigurationsSettingsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"permissions": { +"methods": { +"get": { +"description": "Retrieves details of an Android app permission for display to an enterprise admin.", +"flatPath": "androidenterprise/v1/permissions/{permissionId}", +"httpMethod": "GET", +"id": "androidenterprise.permissions.get", +"parameterOrder": [ +"permissionId" +], +"parameters": { +"language": { +"description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\")", +"location": "query", +"type": "string" +}, +"permissionId": { +"description": "The ID of the permission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/permissions/{permissionId}", +"response": { +"$ref": "Permission" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"products": { +"methods": { +"approve": { +"description": " Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000. To learn how to use managed Google Play to design and create a store layout to display approved products to your users, see Store Layout Design. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations. ", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve", +"httpMethod": "POST", +"id": "androidenterprise.products.approve", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"productId": { +"description": "The ID of the product.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve", +"request": { +"$ref": "ProductsApproveRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"generateApprovalUrl": { +"description": "Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product. Admins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as the approvalUrlInfo.approvalUrl property in a Products.approve call to approve the product. This URL can only be used to display permissions for up to 1 day. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations. ", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl", +"httpMethod": "POST", +"id": "androidenterprise.products.generateApprovalUrl", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"languageCode": { +"description": "The BCP 47 language code used for permission names and descriptions in the returned iframe, for instance \"en-US\".", +"location": "query", +"type": "string" +}, +"productId": { +"description": "The ID of the product.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl", +"response": { +"$ref": "ProductsGenerateApprovalUrlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of a product for display to an enterprise admin.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}", +"httpMethod": "GET", +"id": "androidenterprise.products.get", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"language": { +"description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\").", +"location": "query", +"type": "string" +}, +"productId": { +"description": "The ID of the product, e.g. \"app:com.google.android.gm\".", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}", +"response": { +"$ref": "Product" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getAppRestrictionsSchema": { +"description": "Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema", +"httpMethod": "GET", +"id": "androidenterprise.products.getAppRestrictionsSchema", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"language": { +"description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\").", +"location": "query", +"type": "string" +}, +"productId": { +"description": "The ID of the product.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema", +"response": { +"$ref": "AppRestrictionsSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getPermissions": { +"description": "Retrieves the Android app permissions required by this app.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions", +"httpMethod": "GET", +"id": "androidenterprise.products.getPermissions", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"productId": { +"description": "The ID of the product.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions", +"response": { +"$ref": "ProductPermissions" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Finds approved products that match a query, or all approved products if there is no query. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations. ", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products", +"httpMethod": "GET", +"id": "androidenterprise.products.list", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"approved": { +"description": "Specifies whether to search among all products (false) or among only products that have been approved (true). Only \"true\" is supported, and should be specified.", +"location": "query", +"type": "boolean" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"language": { +"description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\"). Results are returned in the language best matching the preferred language.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Defines how many results the list operation should return. The default number depends on the resource collection.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"query": { +"description": "The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).", +"location": "query", +"type": "string" +}, +"token": { +"description": "Defines the token of the page to return, usually taken from TokenPagination. This can only be used if token paging is enabled.", +"location": "query", +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products", +"response": { +"$ref": "ProductsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"unapprove": { +"description": "Unapproves the specified product (and the relevant app permissions, if any) **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove", +"httpMethod": "POST", +"id": "androidenterprise.products.unapprove", +"parameterOrder": [ +"enterpriseId", +"productId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"productId": { +"description": "The ID of the product.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"serviceaccountkeys": { +"methods": { +"delete": { +"description": "Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", +"httpMethod": "DELETE", +"id": "androidenterprise.serviceaccountkeys.delete", +"parameterOrder": [ +"enterpriseId", +"keyId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"keyId": { +"description": "The ID of the key.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"insert": { +"description": "Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount. Only the type of the key should be populated in the resource to be inserted.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", +"httpMethod": "POST", +"id": "androidenterprise.serviceaccountkeys.insert", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", +"request": { +"$ref": "ServiceAccountKey" +}, +"response": { +"$ref": "ServiceAccountKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", +"httpMethod": "GET", +"id": "androidenterprise.serviceaccountkeys.list", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", +"response": { +"$ref": "ServiceAccountKeysListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"storelayoutclusters": { +"methods": { +"delete": { +"description": "Deletes a cluster.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"httpMethod": "DELETE", +"id": "androidenterprise.storelayoutclusters.delete", +"parameterOrder": [ +"enterpriseId", +"pageId", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "The ID of the cluster.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of a cluster.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"httpMethod": "GET", +"id": "androidenterprise.storelayoutclusters.get", +"parameterOrder": [ +"enterpriseId", +"pageId", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "The ID of the cluster.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"response": { +"$ref": "StoreCluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"insert": { +"description": "Inserts a new cluster in a page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", +"httpMethod": "POST", +"id": "androidenterprise.storelayoutclusters.insert", +"parameterOrder": [ +"enterpriseId", +"pageId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", +"request": { +"$ref": "StoreCluster" +}, +"response": { +"$ref": "StoreCluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves the details of all clusters on the specified page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", +"httpMethod": "GET", +"id": "androidenterprise.storelayoutclusters.list", +"parameterOrder": [ +"enterpriseId", +"pageId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", +"response": { +"$ref": "StoreLayoutClustersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Updates a cluster.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"httpMethod": "PUT", +"id": "androidenterprise.storelayoutclusters.update", +"parameterOrder": [ +"enterpriseId", +"pageId", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "The ID of the cluster.", +"location": "path", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", +"request": { +"$ref": "StoreCluster" +}, +"response": { +"$ref": "StoreCluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"storelayoutpages": { +"methods": { +"delete": { +"description": "Deletes a store page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"httpMethod": "DELETE", +"id": "androidenterprise.storelayoutpages.delete", +"parameterOrder": [ +"enterpriseId", +"pageId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves details of a store page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"httpMethod": "GET", +"id": "androidenterprise.storelayoutpages.get", +"parameterOrder": [ +"enterpriseId", +"pageId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"response": { +"$ref": "StorePage" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"insert": { +"description": "Inserts a new store page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", +"httpMethod": "POST", +"id": "androidenterprise.storelayoutpages.insert", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", +"request": { +"$ref": "StorePage" +}, +"response": { +"$ref": "StorePage" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves the details of all pages in the store.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", +"httpMethod": "GET", +"id": "androidenterprise.storelayoutpages.list", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", +"response": { +"$ref": "StoreLayoutPagesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Updates the content of a store page.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"httpMethod": "PUT", +"id": "androidenterprise.storelayoutpages.update", +"parameterOrder": [ +"enterpriseId", +"pageId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"description": "The ID of the page.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", +"request": { +"$ref": "StorePage" +}, +"response": { +"$ref": "StorePage" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"users": { +"methods": { +"delete": { +"description": "Deleted an EMM-managed user.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"httpMethod": "DELETE", +"id": "androidenterprise.users.delete", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"generateAuthenticationToken": { +"description": "Generates an authentication token which the device policy client can use to provision the given EMM-managed user account on a device. The generated token is single-use and expires after a few minutes. You can provision a maximum of 10 devices per user. This call only works with EMM-managed accounts.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/authenticationToken", +"httpMethod": "POST", +"id": "androidenterprise.users.generateAuthenticationToken", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/authenticationToken", +"response": { +"$ref": "AuthenticationToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Retrieves a user's details.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"httpMethod": "GET", +"id": "androidenterprise.users.get", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"getAvailableProductSet": { +"description": "Retrieves the set of products a user is entitled to access. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", +"httpMethod": "GET", +"id": "androidenterprise.users.getAvailableProductSet", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", +"response": { +"$ref": "ProductSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"insert": { +"description": "Creates a new EMM-managed user. The Users resource passed in the body of the request should include an accountIdentifier and an accountType. If a corresponding user already exists with the same account identifier, the user will be updated with the resource. In this case only the displayName field can be changed.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users", +"httpMethod": "POST", +"id": "androidenterprise.users.insert", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Looks up a user by primary email address. This is only supported for Google-managed users. Lookup of the id is not needed for EMM-managed users because the id is already returned in the result of the Users.insert call.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users", +"httpMethod": "GET", +"id": "androidenterprise.users.list", +"parameterOrder": [ +"enterpriseId", +"email" +], +"parameters": { +"email": { +"description": "Required. The exact primary email address of the user to look up.", +"location": "query", +"required": true, +"type": "string" +}, +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users", +"response": { +"$ref": "UsersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"revokeDeviceAccess": { +"description": "Revokes access to all devices currently provisioned to the user. The user will no longer be able to use the managed Play store on any of their managed devices. This call only works with EMM-managed accounts.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/deviceAccess", +"httpMethod": "DELETE", +"id": "androidenterprise.users.revokeDeviceAccess", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/deviceAccess", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"setAvailableProductSet": { +"description": "Modifies the set of products that a user is entitled to access (referred to as *whitelisted* products). Only products that are approved or products that were previously approved (products with revoked approval) can be whitelisted. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", +"httpMethod": "PUT", +"id": "androidenterprise.users.setAvailableProductSet", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", +"request": { +"$ref": "ProductSet" +}, +"response": { +"$ref": "ProductSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Updates the details of an EMM-managed user. Can be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"httpMethod": "PUT", +"id": "androidenterprise.users.update", +"parameterOrder": [ +"enterpriseId", +"userId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The ID of the user.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +}, +"webapps": { +"methods": { +"delete": { +"description": "Deletes an existing web app.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"httpMethod": "DELETE", +"id": "androidenterprise.webapps.delete", +"parameterOrder": [ +"enterpriseId", +"webAppId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"webAppId": { +"description": "The ID of the web app.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"get": { +"description": "Gets an existing web app.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"httpMethod": "GET", +"id": "androidenterprise.webapps.get", +"parameterOrder": [ +"enterpriseId", +"webAppId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"webAppId": { +"description": "The ID of the web app.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"insert": { +"description": "Creates a new web app for the enterprise.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", +"httpMethod": "POST", +"id": "androidenterprise.webapps.insert", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"list": { +"description": "Retrieves the details of all web apps for a given enterprise.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", +"httpMethod": "GET", +"id": "androidenterprise.webapps.list", +"parameterOrder": [ +"enterpriseId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", +"response": { +"$ref": "WebAppsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +}, +"update": { +"description": "Updates an existing web app.", +"flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"httpMethod": "PUT", +"id": "androidenterprise.webapps.update", +"parameterOrder": [ +"enterpriseId", +"webAppId" +], +"parameters": { +"enterpriseId": { +"description": "The ID of the enterprise.", +"location": "path", +"required": true, +"type": "string" +}, +"webAppId": { +"description": "The ID of the web app.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidenterprise" +] +} +} +} +}, +"revision": "20250109", +"rootUrl": "https://androidenterprise.googleapis.com/", +"schemas": { +"Administrator": { +"description": "This represents an enterprise admin who can manage the enterprise in the managed Google Play store.", +"id": "Administrator", +"properties": { +"email": { +"description": "The admin's email address.", +"type": "string" +} +}, +"type": "object" +}, +"AdministratorWebToken": { +"description": "A token authorizing an admin to access an iframe.", +"id": "AdministratorWebToken", +"properties": { +"token": { +"description": "An opaque token to be passed to the Play front-end to generate an iframe.", +"type": "string" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpec": { +"description": "Specification for a token used to generate iframes. The token specifies what data the admin is allowed to modify and the URI the iframe is allowed to communiate with.", +"id": "AdministratorWebTokenSpec", +"properties": { +"managedConfigurations": { +"$ref": "AdministratorWebTokenSpecManagedConfigurations", +"description": "Options for displaying the Managed Configuration page." +}, +"parent": { +"description": "The URI of the parent frame hosting the iframe. To prevent XSS, the iframe may not be hosted at other URIs. This URI must be https. Use whitespaces to separate multiple parent URIs.", +"type": "string" +}, +"permission": { +"description": "Deprecated. Use PlaySearch.approveApps.", +"items": { +"enum": [ +"unknown", +"approveApps", +"manageMcm" +], +"enumDescriptions": [ +"Unknown permission.", +"Permission to approve and unapprove apps.", +"Permission to manage app restrictions." +], +"type": "string" +}, +"type": "array" +}, +"playSearch": { +"$ref": "AdministratorWebTokenSpecPlaySearch", +"description": "Options for displaying the managed Play Search apps page." +}, +"privateApps": { +"$ref": "AdministratorWebTokenSpecPrivateApps", +"description": "Options for displaying the Private Apps page." +}, +"storeBuilder": { +"$ref": "AdministratorWebTokenSpecStoreBuilder", +"description": "Options for displaying the Organize apps page." +}, +"webApps": { +"$ref": "AdministratorWebTokenSpecWebApps", +"description": "Options for displaying the Web Apps page." +}, +"zeroTouch": { +"$ref": "AdministratorWebTokenSpecZeroTouch", +"description": "Options for displaying the Zero Touch page." +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecManagedConfigurations": { +"id": "AdministratorWebTokenSpecManagedConfigurations", +"properties": { +"enabled": { +"description": "Whether the Managed Configuration page is displayed. Default is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecPlaySearch": { +"id": "AdministratorWebTokenSpecPlaySearch", +"properties": { +"approveApps": { +"description": "Allow access to the iframe in approve mode. Default is false.", +"type": "boolean" +}, +"enabled": { +"description": "Whether the managed Play Search apps page is displayed. Default is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecPrivateApps": { +"id": "AdministratorWebTokenSpecPrivateApps", +"properties": { +"enabled": { +"description": "Whether the Private Apps page is displayed. Default is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecStoreBuilder": { +"id": "AdministratorWebTokenSpecStoreBuilder", +"properties": { +"enabled": { +"description": "Whether the Organize apps page is displayed. Default is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecWebApps": { +"id": "AdministratorWebTokenSpecWebApps", +"properties": { +"enabled": { +"description": "Whether the Web Apps page is displayed. Default is true.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdministratorWebTokenSpecZeroTouch": { +"id": "AdministratorWebTokenSpecZeroTouch", +"properties": { +"enabled": { +"description": "Whether zero-touch embedded UI is usable with this token. If enabled, the admin can link zero-touch customers to this enterprise.", +"type": "boolean" +} +}, +"type": "object" +}, +"AppRestrictionsSchema": { +"description": "Represents the list of app restrictions available to be pre-configured for the product.", +"id": "AppRestrictionsSchema", +"properties": { +"kind": { +"description": "Deprecated.", +"type": "string" +}, +"restrictions": { +"description": "The set of restrictions that make up this schema.", +"items": { +"$ref": "AppRestrictionsSchemaRestriction" +}, +"type": "array" +} +}, +"type": "object" +}, +"AppRestrictionsSchemaChangeEvent": { +"description": "An event generated when a new app version is uploaded to Google Play and its app restrictions schema changed. To fetch the app restrictions schema for an app, use Products.getAppRestrictionsSchema on the EMM API.", +"id": "AppRestrictionsSchemaChangeEvent", +"properties": { +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the app restriction schema changed. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"AppRestrictionsSchemaRestriction": { +"description": "A restriction in the App Restriction Schema represents a piece of configuration that may be pre-applied.", +"id": "AppRestrictionsSchemaRestriction", +"properties": { +"defaultValue": { +"$ref": "AppRestrictionsSchemaRestrictionRestrictionValue", +"description": "The default value of the restriction. bundle and bundleArray restrictions never have a default value." +}, +"description": { +"description": "A longer description of the restriction, giving more detail of what it affects.", +"type": "string" +}, +"entry": { +"description": "For choice or multiselect restrictions, the list of possible entries' human-readable names.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entryValue": { +"description": "For choice or multiselect restrictions, the list of possible entries' machine-readable values. These values should be used in the configuration, either as a single string value for a choice restriction or in a stringArray for a multiselect restriction.", +"items": { +"type": "string" +}, +"type": "array" +}, +"key": { +"description": "The unique key that the product uses to identify the restriction, e.g. \"com.google.android.gm.fieldname\".", +"type": "string" +}, +"nestedRestriction": { +"description": "For bundle or bundleArray restrictions, the list of nested restrictions. A bundle restriction is always nested within a bundleArray restriction, and a bundleArray restriction is at most two levels deep.", +"items": { +"$ref": "AppRestrictionsSchemaRestriction" +}, +"type": "array" +}, +"restrictionType": { +"description": "The type of the restriction.", +"enum": [ +"bool", +"string", +"integer", +"choice", +"multiselect", +"hidden", +"bundle", +"bundleArray" +], +"enumDescriptions": [ +"A restriction of boolean type.", +"A restriction of string type.", +"A restriction of integer type.", +"A choice of one item from a set.", +"A choice of multiple items from a set.", +"A hidden restriction of string type (the default value can be used to pass along information that cannot be modified, such as a version code).", +"[M+ devices only] A bundle of restrictions", +"[M+ devices only] An array of restriction bundles" +], +"type": "string" +}, +"title": { +"description": "The name of the restriction.", +"type": "string" +} +}, +"type": "object" +}, +"AppRestrictionsSchemaRestrictionRestrictionValue": { +"description": "A typed value for the restriction.", +"id": "AppRestrictionsSchemaRestrictionRestrictionValue", +"properties": { +"type": { +"description": "The type of the value being provided.", +"enum": [ +"bool", +"string", +"integer", +"choice", +"multiselect", +"hidden", +"bundle", +"bundleArray" +], +"enumDescriptions": [ +"A restriction of boolean type.", +"A restriction of string type.", +"A restriction of integer type.", +"A choice of one item from a set.", +"A choice of multiple items from a set.", +"A hidden restriction of string type (the default value can be used to pass along information that cannot be modified, such as a version code).", +"[M+ devices only] A bundle of restrictions", +"[M+ devices only] An array of restriction bundles" +], +"type": "string" +}, +"valueBool": { +"description": "The boolean value - this will only be present if type is bool.", +"type": "boolean" +}, +"valueInteger": { +"description": "The integer value - this will only be present if type is integer.", +"format": "int32", +"type": "integer" +}, +"valueMultiselect": { +"description": "The list of string values - this will only be present if type is multiselect.", +"items": { +"type": "string" +}, +"type": "array" +}, +"valueString": { +"description": "The string value - this will be present for types string, choice and hidden.", +"type": "string" +} +}, +"type": "object" +}, +"AppState": { +"description": "List of states set by the app.", +"id": "AppState", +"properties": { +"keyedAppState": { +"description": "List of keyed app states. This field will always be present.", +"items": { +"$ref": "KeyedAppState" +}, +"type": "array" +}, +"packageName": { +"description": "The package name of the app. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"AppUpdateEvent": { +"description": "An event generated when a new version of an app is uploaded to Google Play. Notifications are sent for new public versions only: alpha, beta, or canary versions do not generate this event. To fetch up-to-date version history for an app, use Products.Get on the EMM API.", +"id": "AppUpdateEvent", +"properties": { +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") that was updated. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"AppVersion": { +"description": "This represents a single version of the app.", +"id": "AppVersion", +"properties": { +"isProduction": { +"description": "True if this version is a production APK.", +"type": "boolean" +}, +"targetSdkVersion": { +"description": "The SDK version this app targets, as specified in the manifest of the APK. See http://developer.android.com/guide/topics/manifest/uses-sdk-element.html", +"format": "int32", +"type": "integer" +}, +"track": { +"description": "Deprecated, use trackId instead.", +"enum": [ +"appTrackUnspecified", +"production", +"beta", +"alpha" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"trackId": { +"description": "Track ids that the app version is published in. Replaces the track field (deprecated), but doesn't include the production track (see isProduction instead).", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCode": { +"description": "Unique increasing identifier for the app version.", +"format": "int32", +"type": "integer" +}, +"versionString": { +"description": "The string used in the Play store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be \"1.4\").", +"type": "string" +} +}, +"type": "object" +}, +"ApprovalUrlInfo": { +"description": "Information on an approval URL.", +"id": "ApprovalUrlInfo", +"properties": { +"approvalUrl": { +"description": "A URL that displays a product's permissions and that can also be used to approve the product with the Products.approve call.", +"type": "string" +} +}, +"type": "object" +}, +"AuthenticationToken": { +"description": "An AuthenticationToken is used by the EMM's device policy client on a device to provision the given EMM-managed user on that device.", +"id": "AuthenticationToken", +"properties": { +"token": { +"description": "The authentication token to be passed to the device policy client on the device where it can be used to provision the account for which this token was generated.", +"type": "string" +} +}, +"type": "object" +}, +"AutoInstallConstraint": { +"description": "The auto-install constraint. Defines a set of restrictions for installation. At least one of the fields must be set.", +"id": "AutoInstallConstraint", +"properties": { +"chargingStateConstraint": { +"description": "Charging state constraint.", +"enum": [ +"chargingStateConstraintUnspecified", +"chargingNotRequired", +"chargingRequired" +], +"enumDescriptions": [ +"", +"Device doesn't have to be charging.", +"Device has to be charging." +], +"type": "string" +}, +"deviceIdleStateConstraint": { +"description": "Device idle state constraint.", +"enum": [ +"deviceIdleStateConstraintUnspecified", +"deviceIdleNotRequired", +"deviceIdleRequired" +], +"enumDescriptions": [ +"", +"Device doesn't have to be idle, app can be installed while the user is interacting with the device.", +"Device has to be idle." +], +"type": "string" +}, +"networkTypeConstraint": { +"description": "Network type constraint.", +"enum": [ +"networkTypeConstraintUnspecified", +"anyNetwork", +"unmeteredNetwork" +], +"enumDescriptions": [ +"", +"Any active networks (Wi-Fi, cellular, etc.).", +"Any unmetered network (e.g. Wi-FI)." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoInstallPolicy": { +"id": "AutoInstallPolicy", +"properties": { +"autoInstallConstraint": { +"description": "The constraints for auto-installing the app. You can specify a maximum of one constraint.", +"items": { +"$ref": "AutoInstallConstraint" +}, +"type": "array" +}, +"autoInstallMode": { +"description": "The auto-install mode. If unset, defaults to \"doNotAutoInstall\". An app is automatically installed regardless of a set maintenance window.", +"enum": [ +"autoInstallModeUnspecified", +"doNotAutoInstall", +"autoInstallOnce", +"forceAutoInstall" +], +"enumDescriptions": [ +"", +"The product is not installed automatically, the user needs to install it from the Play Store.", +"The product is automatically installed once, if the user uninstalls the product it will not be installed again.", +"The product is automatically installed, if the user uninstalls the product it will be installed again. On managed devices the DPC should block uninstall." +], +"type": "string" +}, +"autoInstallPriority": { +"description": "The priority of the install, as an unsigned integer. A lower number means higher priority.", +"format": "int32", +"type": "integer" +}, +"minimumVersionCode": { +"description": "The minimum version of the app. If a lower version of the app is installed, then the app will be auto-updated according to the auto-install constraints, instead of waiting for the regular auto-update. You can set a minimum version code for at most 20 apps per device.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ConfigurationVariables": { +"description": "A configuration variables resource contains the managed configuration settings ID to be applied to a single user, as well as the variable set that is attributed to the user. The variable set will be used to replace placeholders in the managed configuration settings.", +"id": "ConfigurationVariables", +"properties": { +"mcmId": { +"description": "The ID of the managed configurations settings.", +"type": "string" +}, +"variableSet": { +"description": "The variable set that is attributed to the user.", +"items": { +"$ref": "VariableSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"Device": { +"description": "A Devices resource represents a mobile device managed by the EMM and belonging to a specific enterprise user.", +"id": "Device", +"properties": { +"androidId": { +"description": "The Google Play Services Android ID for the device encoded as a lowercase hex string. For example, \"123456789abcdef0\".", +"type": "string" +}, +"device": { +"description": "The internal hardware codename of the device. This comes from android.os.Build.DEVICE. (field named \"device\" per logs/wireless/android/android_checkin.proto)", +"type": "string" +}, +"latestBuildFingerprint": { +"description": "The build fingerprint of the device if known.", +"type": "string" +}, +"maker": { +"description": "The manufacturer of the device. This comes from android.os.Build.MANUFACTURER.", +"type": "string" +}, +"managementType": { +"description": "Identifies the extent to which the device is controlled by a managed Google Play EMM in various deployment configurations. Possible values include: - \"managedDevice\", a device that has the EMM's device policy controller (DPC) as the device owner. - \"managedProfile\", a device that has a profile managed by the DPC (DPC is profile owner) in addition to a separate, personal profile that is unavailable to the DPC. - \"containerApp\", no longer used (deprecated). - \"unmanagedProfile\", a device that has been allowed (by the domain's admin, using the Admin Console to enable the privilege) to use managed Google Play, but the profile is itself not owned by a DPC. ", +"enum": [ +"managedDevice", +"managedProfile", +"containerApp", +"unmanagedProfile" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"model": { +"description": "The model name of the device. This comes from android.os.Build.MODEL.", +"type": "string" +}, +"policy": { +"$ref": "Policy", +"description": "The policy enforced on the device." +}, +"product": { +"description": "The product name of the device. This comes from android.os.Build.PRODUCT.", +"type": "string" +}, +"report": { +"$ref": "DeviceReport", +"description": "The device report updated with the latest app states." +}, +"retailBrand": { +"description": "Retail brand for the device, if set. See android.os.Build.BRAND", +"type": "string" +}, +"sdkVersion": { +"description": "API compatibility version.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DeviceReport": { +"description": "Device report updated with the latest app states for managed apps on the device.", +"id": "DeviceReport", +"properties": { +"appState": { +"description": "List of app states set by managed apps on the device. App states are defined by the app's developers. This field will always be present.", +"items": { +"$ref": "AppState" +}, +"type": "array" +}, +"lastUpdatedTimestampMillis": { +"description": "The timestamp of the last report update in milliseconds since epoch. This field will always be present.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DeviceReportUpdateEvent": { +"description": "An event generated when an updated device report is available.", +"id": "DeviceReportUpdateEvent", +"properties": { +"deviceId": { +"description": "The Android ID of the device. This field will always be present.", +"type": "string" +}, +"report": { +"$ref": "DeviceReport", +"description": "The device report updated with the latest app states. This field will always be present." +}, +"userId": { +"description": "The ID of the user. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"DeviceState": { +"description": "The state of a user's device, as accessed by the getState and setState methods on device resources.", +"id": "DeviceState", +"properties": { +"accountState": { +"description": "The state of the Google account on the device. \"enabled\" indicates that the Google account on the device can be used to access Google services (including Google Play), while \"disabled\" means that it cannot. A new device is initially in the \"disabled\" state.", +"enum": [ +"enabled", +"disabled" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"DevicesListResponse": { +"id": "DevicesListResponse", +"properties": { +"device": { +"description": "A managed device.", +"items": { +"$ref": "Device" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnrollmentToken": { +"description": "A token used to enroll a device.", +"id": "EnrollmentToken", +"properties": { +"duration": { +"description": "[Optional] The length of time the enrollment token is valid, ranging from 1 minute to [`Durations.MAX_VALUE`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), approximately 10,000 years. If not specified, the default duration is 1 hour.", +"format": "google-duration", +"type": "string" +}, +"enrollmentTokenType": { +"description": "[Required] The type of the enrollment token.", +"enum": [ +"enrollmentTokenTypeUnspecified", +"userlessDevice", +"userDevice" +], +"enumDescriptions": [ +"The value is unused.", +"The enrollment token is for a userless device.", +"The enrollment token is for a user device." +], +"type": "string" +}, +"token": { +"description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", +"type": "string" +} +}, +"type": "object" +}, +"Enterprise": { +"description": "An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details.", +"id": "Enterprise", +"properties": { +"administrator": { +"description": "Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow.", +"items": { +"$ref": "Administrator" +}, +"type": "array" +}, +"googleAuthenticationSettings": { +"$ref": "GoogleAuthenticationSettings", +"description": "Output only. Settings for Google-provided user authentication.", +"readOnly": true +}, +"id": { +"description": "The unique ID for the enterprise.", +"type": "string" +}, +"name": { +"description": "The name of the enterprise, for example, \"Example, Inc\".", +"type": "string" +}, +"primaryDomain": { +"description": "The enterprise's primary domain, such as \"example.com\".", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseAccount": { +"description": "A service account that can be used to authenticate as the enterprise to API calls that require such authentication.", +"id": "EnterpriseAccount", +"properties": { +"accountEmail": { +"description": "The email address of the service account.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseAuthenticationAppLinkConfig": { +"description": "An authentication URL configuration for the authenticator app of an identity provider.", +"id": "EnterpriseAuthenticationAppLinkConfig", +"properties": { +"uri": { +"description": "An authentication url.", +"type": "string" +} +}, +"type": "object" +}, +"EnterprisesListResponse": { +"id": "EnterprisesListResponse", +"properties": { +"enterprise": { +"description": "An enterprise.", +"items": { +"$ref": "Enterprise" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterprisesSendTestPushNotificationResponse": { +"id": "EnterprisesSendTestPushNotificationResponse", +"properties": { +"messageId": { +"description": "The message ID of the test push notification that was sent.", +"type": "string" +}, +"topicName": { +"description": "The name of the Cloud Pub/Sub topic to which notifications for this enterprise's enrolled account will be sent.", +"type": "string" +} +}, +"type": "object" +}, +"Entitlement": { +"description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. ", +"id": "Entitlement", +"properties": { +"productId": { +"description": "The ID of the product that the entitlement is for. For example, \"app:com.google.android.gm\".", +"type": "string" +}, +"reason": { +"description": "The reason for the entitlement. For example, \"free\" for free apps. This property is temporary: it will be replaced by the acquisition kind field of group licenses.", +"enum": [ +"free", +"groupLicense", +"userPurchase" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EntitlementsListResponse": { +"id": "EntitlementsListResponse", +"properties": { +"entitlement": { +"description": "An entitlement of a user to a product (e.g. an app). For example, a free app that they have installed, or a paid app that they have been allocated a license to.", +"items": { +"$ref": "Entitlement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAuthenticationSettings": { +"description": "Contains settings for Google-provided user authentication.", +"id": "GoogleAuthenticationSettings", +"properties": { +"dedicatedDevicesAllowed": { +"description": "Whether dedicated devices are allowed.", +"enum": [ +"dedicatedDevicesAllowedUnspecified", +"disallowed", +"allowed" +], +"enumDescriptions": [ +"This value is unused.", +"Dedicated devices are not allowed.", +"Dedicated devices are allowed." +], +"type": "string" +}, +"googleAuthenticationRequired": { +"description": "Whether Google authentication is required.", +"enum": [ +"googleAuthenticationRequiredUnspecified", +"notRequired", +"required" +], +"enumDescriptions": [ +"This value is unused.", +"Google authentication is not required.", +"User is required to be successfully authenticated by Google." +], +"type": "string" +} +}, +"type": "object" +}, +"GroupLicense": { +"description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", +"id": "GroupLicense", +"properties": { +"acquisitionKind": { +"description": "How this group license was acquired. \"bulkPurchase\" means that this Grouplicenses resource was created because the enterprise purchased licenses for this product; otherwise, the value is \"free\" (for free products).", +"enum": [ +"free", +"bulkPurchase" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"approval": { +"description": "Whether the product to which this group license relates is currently approved by the enterprise. Products are approved when a group license is first created, but this approval may be revoked by an enterprise admin via Google Play. Unapproved products will not be visible to end users in collections, and new entitlements to them should not normally be created.", +"enum": [ +"approved", +"unapproved" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"numProvisioned": { +"description": "The total number of provisioned licenses for this product. Returned by read operations, but ignored in write operations.", +"format": "int32", +"type": "integer" +}, +"numPurchased": { +"description": "The number of purchased licenses (possibly in multiple purchases). If this field is omitted, then there is no limit on the number of licenses that can be provisioned (for example, if the acquisition kind is \"free\").", +"format": "int32", +"type": "integer" +}, +"permissions": { +"description": "The permission approval status of the product. This field is only set if the product is approved. Possible states are: - \"currentApproved\", the current set of permissions is approved, but additional permissions will require the administrator to reapprove the product (If the product was approved without specifying the approved permissions setting, then this is the default behavior.), - \"needsReapproval\", the product has unapproved permissions. No additional product licenses can be assigned until the product is reapproved, - \"allCurrentAndFutureApproved\", the current permissions are approved and any future permission updates will be automatically approved without administrator review. ", +"enum": [ +"currentApproved", +"needsReapproval", +"allCurrentAndFutureApproved" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"productId": { +"description": "The ID of the product that the license is for. For example, \"app:com.google.android.gm\".", +"type": "string" +} +}, +"type": "object" +}, +"GroupLicenseUsersListResponse": { +"id": "GroupLicenseUsersListResponse", +"properties": { +"user": { +"description": "A user of an enterprise.", +"items": { +"$ref": "User" +}, +"type": "array" +} +}, +"type": "object" +}, +"GroupLicensesListResponse": { +"id": "GroupLicensesListResponse", +"properties": { +"groupLicense": { +"description": "A group license for a product approved for use in the enterprise.", +"items": { +"$ref": "GroupLicense" +}, +"type": "array" +} +}, +"type": "object" +}, +"Install": { +"description": "The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending). The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails. The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version. Note that it is not possible to force the installation of a specific version of an app: the version code is read-only. If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created. The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.", +"id": "Install", +"properties": { +"installState": { +"description": "Install state. The state \"installPending\" means that an install request has recently been made and download to the device is in progress. The state \"installed\" means that the app has been installed. This field is read-only.", +"enum": [ +"installed", +"installPending" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"productId": { +"description": "The ID of the product that the install is for. For example, \"app:com.google.android.gm\".", +"type": "string" +}, +"versionCode": { +"description": "The version of the installed product. Guaranteed to be set only if the install state is \"installed\".", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstallFailureEvent": { +"description": "An event generated when an app installation failed on a device", +"id": "InstallFailureEvent", +"properties": { +"deviceId": { +"description": "The Android ID of the device. This field will always be present.", +"type": "string" +}, +"failureDetails": { +"description": "Additional details on the failure if applicable.", +"type": "string" +}, +"failureReason": { +"description": "The reason for the installation failure. This field will always be present.", +"enum": [ +"unknown", +"timeout" +], +"enumDescriptions": [ +"Used whenever no better reason for failure can be provided.", +"Used when the installation timed out. This can cover a number of situations, for example when the device did not have connectivity at any point during the retry period, or if the device is OOM." +], +"type": "string" +}, +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the install failure event occured. This field will always be present.", +"type": "string" +}, +"userId": { +"description": "The ID of the user. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"InstallsListResponse": { +"id": "InstallsListResponse", +"properties": { +"install": { +"description": "An installation of an app for a user on a specific device. The existence of an install implies that the user must have an entitlement to the app.", +"items": { +"$ref": "Install" +}, +"type": "array" +} +}, +"type": "object" +}, +"KeyedAppState": { +"description": "Represents a keyed app state containing a key, timestamp, severity level, optional description, and optional data.", +"id": "KeyedAppState", +"properties": { +"data": { +"description": "Additional field intended for machine-readable data. For example, a number or JSON object. To prevent XSS, we recommend removing any HTML from the data before displaying it.", +"type": "string" +}, +"key": { +"description": "Key indicating what the app is providing a state for. The content of the key is set by the app's developer. To prevent XSS, we recommend removing any HTML from the key before displaying it. This field will always be present.", +"type": "string" +}, +"message": { +"description": "Free-form, human-readable message describing the app state. For example, an error message. To prevent XSS, we recommend removing any HTML from the message before displaying it.", +"type": "string" +}, +"severity": { +"description": "Severity of the app state. This field will always be present.", +"enum": [ +"severityUnknown", +"severityInfo", +"severityError" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"stateTimestampMillis": { +"description": "Timestamp of when the app set the state in milliseconds since epoch. This field will always be present.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"LocalizedText": { +"description": "A localized string with its locale.", +"id": "LocalizedText", +"properties": { +"locale": { +"description": "The BCP47 tag for a locale. (e.g. \"en-US\", \"de\").", +"type": "string" +}, +"text": { +"description": "The text localized in the associated locale.", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "Maintenance window for managed Google Play Accounts. This allows Play store to update the apps on the foreground in the designated window.", +"id": "MaintenanceWindow", +"properties": { +"durationMs": { +"description": "Duration of the maintenance window, in milliseconds. The duration must be between 30 minutes and 24 hours (inclusive).", +"format": "int64", +"type": "string" +}, +"startTimeAfterMidnightMs": { +"description": "Start time of the maintenance window, in milliseconds after midnight on the device. Windows can span midnight.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ManagedConfiguration": { +"description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", +"id": "ManagedConfiguration", +"properties": { +"configurationVariables": { +"$ref": "ConfigurationVariables", +"description": "Contains the ID of the managed configuration profile and the set of configuration variables (if any) defined for the user." +}, +"kind": { +"description": "Deprecated.", +"type": "string" +}, +"managedProperty": { +"description": "The set of managed properties for this configuration.", +"items": { +"$ref": "ManagedProperty" +}, +"type": "array" +}, +"productId": { +"description": "The ID of the product that the managed configuration is for, e.g. \"app:com.google.android.gm\".", +"type": "string" +} +}, +"type": "object" +}, +"ManagedConfigurationsForDeviceListResponse": { +"id": "ManagedConfigurationsForDeviceListResponse", +"properties": { +"managedConfigurationForDevice": { +"description": "A managed configuration for an app on a specific device.", +"items": { +"$ref": "ManagedConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedConfigurationsForUserListResponse": { +"id": "ManagedConfigurationsForUserListResponse", +"properties": { +"managedConfigurationForUser": { +"description": "A managed configuration for an app for a specific user.", +"items": { +"$ref": "ManagedConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedConfigurationsSettings": { +"description": "A managed configurations settings resource contains the set of managed properties that have been configured for an Android app to be applied to a set of users. The app's developer would have defined configurable properties in the managed configurations schema.", +"id": "ManagedConfigurationsSettings", +"properties": { +"lastUpdatedTimestampMillis": { +"description": "The last updated time of the managed configuration settings in milliseconds since 1970-01-01T00:00:00Z.", +"format": "int64", +"type": "string" +}, +"mcmId": { +"description": "The ID of the managed configurations settings.", +"type": "string" +}, +"name": { +"description": "The name of the managed configurations settings.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedConfigurationsSettingsListResponse": { +"id": "ManagedConfigurationsSettingsListResponse", +"properties": { +"managedConfigurationsSettings": { +"description": "A managed configurations settings for an app that may be assigned to a group of users in an enterprise.", +"items": { +"$ref": "ManagedConfigurationsSettings" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedProperty": { +"description": "A managed property of a managed configuration. The property must match one of the properties in the app restrictions schema of the product. Exactly one of the value fields must be populated, and it must match the property's type in the app restrictions schema.", +"id": "ManagedProperty", +"properties": { +"key": { +"description": "The unique key that identifies the property.", +"type": "string" +}, +"valueBool": { +"description": "The boolean value - this will only be present if type of the property is bool.", +"type": "boolean" +}, +"valueBundle": { +"$ref": "ManagedPropertyBundle", +"description": "The bundle of managed properties - this will only be present if type of the property is bundle." +}, +"valueBundleArray": { +"description": "The list of bundles of properties - this will only be present if type of the property is bundle_array.", +"items": { +"$ref": "ManagedPropertyBundle" +}, +"type": "array" +}, +"valueInteger": { +"description": "The integer value - this will only be present if type of the property is integer.", +"format": "int32", +"type": "integer" +}, +"valueString": { +"description": "The string value - this will only be present if type of the property is string, choice or hidden.", +"type": "string" +}, +"valueStringArray": { +"description": "The list of string values - this will only be present if type of the property is multiselect.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedPropertyBundle": { +"description": "A bundle of managed properties.", +"id": "ManagedPropertyBundle", +"properties": { +"managedProperty": { +"description": "The list of managed properties.", +"items": { +"$ref": "ManagedProperty" +}, +"type": "array" +} +}, +"type": "object" +}, +"NewDeviceEvent": { +"description": "An event generated when a new device is ready to be managed.", +"id": "NewDeviceEvent", +"properties": { +"deviceId": { +"description": "The Android ID of the device. This field will always be present.", +"type": "string" +}, +"dpcPackageName": { +"description": "Policy app on the device.", +"type": "string" +}, +"managementType": { +"description": "Identifies the extent to which the device is controlled by an Android EMM in various deployment configurations. Possible values include: - \"managedDevice\", a device where the DPC is set as device owner, - \"managedProfile\", a device where the DPC is set as profile owner. ", +"enum": [ +"managedDevice", +"managedProfile" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"userId": { +"description": "The ID of the user. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"NewPermissionsEvent": { +"description": "An event generated when new permissions are added to an app.", +"id": "NewPermissionsEvent", +"properties": { +"approvedPermissions": { +"description": "The set of permissions that the enterprise admin has already approved for this application. Use Permissions.Get on the EMM API to retrieve details about these permissions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") for which new permissions were added. This field will always be present.", +"type": "string" +}, +"requestedPermissions": { +"description": "The set of permissions that the app is currently requesting. Use Permissions.Get on the EMM API to retrieve details about these permissions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Notification": { +"description": "A notification of one event relating to an enterprise.", +"id": "Notification", +"properties": { +"appRestrictionsSchemaChangeEvent": { +"$ref": "AppRestrictionsSchemaChangeEvent", +"description": "Notifications about new app restrictions schema changes." +}, +"appUpdateEvent": { +"$ref": "AppUpdateEvent", +"description": "Notifications about app updates." +}, +"deviceReportUpdateEvent": { +"$ref": "DeviceReportUpdateEvent", +"description": "Notifications about device report updates." +}, +"enterpriseId": { +"description": "The ID of the enterprise for which the notification is sent. This will always be present.", +"type": "string" +}, +"installFailureEvent": { +"$ref": "InstallFailureEvent", +"description": "Notifications about an app installation failure." +}, +"newDeviceEvent": { +"$ref": "NewDeviceEvent", +"description": "Notifications about new devices." +}, +"newPermissionsEvent": { +"$ref": "NewPermissionsEvent", +"description": "Notifications about new app permissions." +}, +"notificationType": { +"description": "Type of the notification.", +"enum": [ +"unknown", +"testNotification", +"productApproval", +"installFailure", +"appUpdate", +"newPermissions", +"appRestricionsSchemaChange", +"productAvailabilityChange", +"newDevice", +"deviceReportUpdate" +], +"enumDescriptions": [ +"", +"A test push notification.", +"Notification about change to a product's approval status.", +"Notification about an app installation failure.", +"Notification about app update.", +"Notification about new app permissions.", +"Notification about new app restrictions schema change.", +"Notification about product availability change.", +"Notification about a new device.", +"Notification about an updated device report." +], +"type": "string" +}, +"productApprovalEvent": { +"$ref": "ProductApprovalEvent", +"description": "Notifications about changes to a product's approval status." +}, +"productAvailabilityChangeEvent": { +"$ref": "ProductAvailabilityChangeEvent", +"description": "Notifications about product availability changes." +}, +"timestampMillis": { +"description": "The time when the notification was published in milliseconds since 1970-01-01T00:00:00Z. This will always be present.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"NotificationSet": { +"description": "A resource returned by the PullNotificationSet API, which contains a collection of notifications for enterprises associated with the service account authenticated for the request.", +"id": "NotificationSet", +"properties": { +"notification": { +"description": "The notifications received, or empty if no notifications are present.", +"items": { +"$ref": "Notification" +}, +"type": "array" +}, +"notificationSetId": { +"description": "The notification set ID, required to mark the notification as received with the Enterprises.AcknowledgeNotification API. This will be omitted if no notifications are present.", +"type": "string" +} +}, +"type": "object" +}, +"PageInfo": { +"description": "Information about the current page. List operations that supports paging return only one \"page\" of results. This protocol buffer message describes the page that has been returned.", +"id": "PageInfo", +"properties": { +"resultPerPage": { +"description": "Maximum number of results returned in one page. ! The number of results included in the API response.", +"format": "int32", +"type": "integer" +}, +"startIndex": { +"description": "Index of the first result returned in the current page.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "Total number of results available on the backend ! The total number of results in the result set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Permission": { +"description": "A Permissions resource represents some extra capability, to be granted to an Android app, which requires explicit consent. An enterprise admin must consent to these permissions on behalf of their users before an entitlement for the app can be created. The permissions collection is read-only. The information provided for each permission (localized name and description) is intended to be used in the MDM user interface when obtaining consent from the enterprise.", +"id": "Permission", +"properties": { +"description": { +"description": "A longer description of the Permissions resource, giving more details of what it affects.", +"type": "string" +}, +"name": { +"description": "The name of the permission.", +"type": "string" +}, +"permissionId": { +"description": "An opaque string uniquely identifying the permission.", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "The device policy for a given managed device.", +"id": "Policy", +"properties": { +"autoUpdatePolicy": { +"deprecated": true, +"description": "Controls when automatic app updates on the device can be applied. Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, autoUpdatePolicy has no effect. - choiceToTheUser allows the device's user to configure the app update policy. - always enables auto updates. - never disables auto updates. - wifiOnly enables auto updates only when the device is connected to wifi. *Important:* Changes to app update policies don't affect updates that are in progress. Any policy changes will apply to subsequent app updates. ", +"enum": [ +"autoUpdatePolicyUnspecified", +"choiceToTheUser", +"never", +"wifiOnly", +"always" +], +"enumDescriptions": [ +"The auto update policy is not set.", +"The user can control auto-updates.", +"Apps are never auto-updated.", +"Apps are auto-updated over WiFi only.", +"Apps are auto-updated at any time. Data charges may apply." +], +"type": "string" +}, +"deviceReportPolicy": { +"description": "Whether the device reports app states to the EMM. The default value is \"deviceReportDisabled\".", +"enum": [ +"deviceReportPolicyUnspecified", +"deviceReportDisabled", +"deviceReportEnabled" +], +"enumDescriptions": [ +"The device report policy is not set.", +"Device reports are disabled.", +"Device reports are enabled." +], +"type": "string" +}, +"maintenanceWindow": { +"$ref": "MaintenanceWindow", +"description": "The maintenance window defining when apps running in the foreground should be updated." +}, +"policyId": { +"description": "An identifier for the policy that will be passed with the app install feedback sent from the Play Store.", +"type": "string" +}, +"productAvailabilityPolicy": { +"description": "The availability granted to the device for the specified products. \"all\" gives the device access to all products, regardless of approval status. \"all\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks. \"whitelist\" grants the device access the products specified in productPolicy[]. Only products that are approved or products that were previously approved (products with revoked approval) by the enterprise can be whitelisted. If no value is provided, the availability set at the user level is applied by default.", +"enum": [ +"productAvailabilityPolicyUnspecified", +"whitelist", +"all" +], +"enumDescriptions": [ +"Unspecified, applies the user available product set by default.", +"The approved products with product availability set to AVAILABLE in the product policy are available.", +"All products are available except those explicitly marked as unavailable in the product availability policy." +], +"type": "string" +}, +"productPolicy": { +"description": "The list of product policies. The productAvailabilityPolicy needs to be set to WHITELIST or ALL for the product policies to be applied.", +"items": { +"$ref": "ProductPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"Product": { +"description": "A Products resource represents an app in the Google Play store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.) The information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.", +"id": "Product", +"properties": { +"appRestrictionsSchema": { +"$ref": "AppRestrictionsSchema", +"description": "The app restriction schema" +}, +"appTracks": { +"description": "The tracks visible to the enterprise.", +"items": { +"$ref": "TrackInfo" +}, +"type": "array" +}, +"appVersion": { +"description": "App versions currently available for this product.", +"items": { +"$ref": "AppVersion" +}, +"type": "array" +}, +"authorName": { +"description": "The name of the author of the product (for example, the app developer).", +"type": "string" +}, +"availableCountries": { +"description": "The countries which this app is available in.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableTracks": { +"description": "Deprecated, use appTracks instead.", +"items": { +"enum": [ +"appTrackUnspecified", +"production", +"beta", +"alpha" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"category": { +"description": "The app category (e.g. RACING, SOCIAL, etc.)", +"type": "string" +}, +"contentRating": { +"description": "The content rating for this app.", +"enum": [ +"ratingUnknown", +"all", +"preTeen", +"teen", +"mature" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"description": { +"description": "The localized promotional description, if available.", +"type": "string" +}, +"detailsUrl": { +"description": "A link to the (consumer) Google Play details page for the product.", +"type": "string" +}, +"distributionChannel": { +"description": "How and to whom the package is made available. The value publicGoogleHosted means that the package is available through the Play store and not restricted to a specific enterprise. The value privateGoogleHosted means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted means that the package is a private app (restricted to an enterprise) and is privately hosted.", +"enum": [ +"publicGoogleHosted", +"privateGoogleHosted", +"privateSelfHosted" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"features": { +"description": "Noteworthy features (if any) of this product.", +"items": { +"enum": [ +"featureUnknown", +"vpnApp" +], +"enumDescriptions": [ +"", +"The app is a VPN." +], +"type": "string" +}, +"type": "array" +}, +"fullDescription": { +"description": "The localized full app store description, if available.", +"type": "string" +}, +"iconUrl": { +"description": "A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px.", +"type": "string" +}, +"lastUpdatedTimestampMillis": { +"description": "The approximate time (within 7 days) the app was last published, expressed in milliseconds since epoch.", +"format": "int64", +"type": "string" +}, +"minAndroidSdkVersion": { +"description": "The minimum Android SDK necessary to run the app.", +"format": "int32", +"type": "integer" +}, +"permissions": { +"description": "A list of permissions required by the app.", +"items": { +"$ref": "ProductPermission" +}, +"type": "array" +}, +"productId": { +"description": "A string of the form *app:*. For example, app:com.google.android.gm represents the Gmail app.", +"type": "string" +}, +"productPricing": { +"description": "Whether this product is free, free with in-app purchases, or paid. If the pricing is unknown, this means the product is not generally available anymore (even though it might still be available to people who own it).", +"enum": [ +"unknown", +"free", +"freeWithInAppPurchase", +"paid" +], +"enumDescriptions": [ +"Unknown pricing, used to denote an approved product that is not generally available.", +"The product is free.", +"The product is free, but offers in-app purchases.", +"The product is paid." +], +"type": "string" +}, +"recentChanges": { +"description": "A description of the recent changes made to the app.", +"type": "string" +}, +"requiresContainerApp": { +"description": "Deprecated.", +"type": "boolean" +}, +"screenshotUrls": { +"description": "A list of screenshot links representing the app.", +"items": { +"type": "string" +}, +"type": "array" +}, +"signingCertificate": { +"$ref": "ProductSigningCertificate", +"description": "The certificate used to sign this product." +}, +"smallIconUrl": { +"description": "A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px.", +"type": "string" +}, +"title": { +"description": "The name of the product.", +"type": "string" +}, +"workDetailsUrl": { +"description": "A link to the managed Google Play details page for the product, for use by an Enterprise admin.", +"type": "string" +} +}, +"type": "object" +}, +"ProductApprovalEvent": { +"description": "An event generated when a product's approval status is changed.", +"id": "ProductApprovalEvent", +"properties": { +"approved": { +"description": "Whether the product was approved or unapproved. This field will always be present.", +"enum": [ +"unknown", +"approved", +"unapproved" +], +"enumDescriptions": [ +"Conveys no information.", +"The product was approved.", +"The product was unapproved." +], +"type": "string" +}, +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the approval status has changed. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"ProductAvailabilityChangeEvent": { +"description": "An event generated whenever a product's availability changes.", +"id": "ProductAvailabilityChangeEvent", +"properties": { +"availabilityStatus": { +"description": "The new state of the product. This field will always be present.", +"enum": [ +"unknown", +"available", +"removed", +"unpublished" +], +"enumDescriptions": [ +"Conveys no information.", +"The previously unavailable product is again available on Google Play.", +"The product was removed from Google Play.", +"The product was unpublished by the developer." +], +"type": "string" +}, +"productId": { +"description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the product availability changed. This field will always be present.", +"type": "string" +} +}, +"type": "object" +}, +"ProductPermission": { +"description": "A product permissions resource represents the set of permissions required by a specific app and whether or not they have been accepted by an enterprise admin. The API can be used to read the set of permissions, and also to update the set to indicate that permissions have been accepted.", +"id": "ProductPermission", +"properties": { +"permissionId": { +"description": "An opaque string uniquely identifying the permission.", +"type": "string" +}, +"state": { +"description": "Whether the permission has been accepted or not.", +"enum": [ +"required", +"accepted" +], +"enumDescriptions": [ +"The permission is required by the app but has not yet been accepted by the enterprise.", +"The permission has been accepted by the enterprise." +], +"type": "string" +} +}, +"type": "object" +}, +"ProductPermissions": { +"description": "Information about the permissions required by a specific app and whether they have been accepted by the enterprise.", +"id": "ProductPermissions", +"properties": { +"permission": { +"description": "The permissions required by the app.", +"items": { +"$ref": "ProductPermission" +}, +"type": "array" +}, +"productId": { +"description": "The ID of the app that the permissions relate to, e.g. \"app:com.google.android.gm\".", +"type": "string" +} +}, +"type": "object" +}, +"ProductPolicy": { +"description": "The policy for a product.", +"id": "ProductPolicy", +"properties": { +"autoInstallPolicy": { +"$ref": "AutoInstallPolicy", +"description": "The auto-install policy for the product." +}, +"autoUpdateMode": { +"description": "The auto-update mode for the product. When autoUpdateMode is used, it always takes precedence over the user's choice. So when a user makes changes to the device settings manually, these changes are ignored.", +"enum": [ +"autoUpdateModeUnspecified", +"autoUpdateDefault", +"autoUpdatePostponed", +"autoUpdateHighPriority" +], +"enumDescriptions": [ +"Unspecified. Defaults to AUTO_UPDATE_DEFAULT.", +"The app is automatically updated with low priority to minimize the impact on the user. The app is updated when the following constraints are met: * The device is not actively used * The device is connected to an unmetered network * The device is charging The device is notified about a new update within 24 hours after it is published by the developer, after which the app is updated the next time the constraints above are met.", +"The app is not automatically updated for a maximum of 90 days after the app becomes out of date. 90 days after the app becomes out of date, the latest available version is installed automatically with low priority (see AUTO_UPDATE_DEFAULT). After the app is updated it is not automatically updated again until 90 days after it becomes out of date again. The user can still manually update the app from the Play Store at any time.", +"The app is updated as soon as possible. No constraints are applied. The device is notified as soon as possible about a new app update after it is published by the developer." +], +"type": "string" +}, +"enterpriseAuthenticationAppLinkConfigs": { +"description": "An authentication URL configuration for the authenticator app of an identity provider. This helps to launch the identity provider's authenticator app during the authentication happening in a private app using Android WebView. Authenticator app should already be the default handler for the authentication url on the device.", +"items": { +"$ref": "EnterpriseAuthenticationAppLinkConfig" +}, +"type": "array" +}, +"managedConfiguration": { +"$ref": "ManagedConfiguration", +"description": "The managed configuration for the product." +}, +"productId": { +"description": "The ID of the product. For example, \"app:com.google.android.gm\".", +"type": "string" +}, +"trackIds": { +"description": "Grants the device visibility to the specified product release track(s), identified by trackIds. The list of release tracks of a product can be obtained by calling Products.Get.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tracks": { +"description": "Deprecated. Use trackIds instead.", +"items": { +"enum": [ +"appTrackUnspecified", +"production", +"beta", +"alpha" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProductSet": { +"description": "A set of products.", +"id": "ProductSet", +"properties": { +"productId": { +"description": "The list of product IDs making up the set of products.", +"items": { +"type": "string" +}, +"type": "array" +}, +"productSetBehavior": { +"description": "The interpretation of this product set. \"unknown\" should never be sent and is ignored if received. \"whitelist\" means that the user is entitled to access the product set. \"includeAll\" means that all products are accessible, including products that are approved, products with revoked approval, and products that have never been approved. \"allApproved\" means that the user is entitled to access all products that are approved for the enterprise. If the value is \"allApproved\" or \"includeAll\", the productId field is ignored. If no value is provided, it is interpreted as \"whitelist\" for backwards compatibility. Further \"allApproved\" or \"includeAll\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks for Android app. Use ProductVisibility to enable \"alpha\" or \"beta\" tracks per user.", +"enum": [ +"unknown", +"whitelist", +"includeAll", +"allApproved" +], +"enumDescriptions": [ +"This value should never be sent and ignored if received.", +"This product set constitutes a whitelist.", +"This product set represents all products. For Android app it represents only \"production\" track. (The value of the productId field is therefore ignored).", +"This product set represents all approved products. For Android app it represents only \"production\" track. (The value of the product_id field is therefore ignored)." +], +"type": "string" +}, +"productVisibility": { +"description": "Additional list of product IDs making up the product set. Unlike the productID array, in this list It's possible to specify which tracks (alpha, beta, production) of a product are visible to the user. See ProductVisibility and its fields for more information. Specifying the same product ID both here and in the productId array is not allowed and it will result in an error.", +"items": { +"$ref": "ProductVisibility" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProductSigningCertificate": { +"id": "ProductSigningCertificate", +"properties": { +"certificateHashSha1": { +"description": "The base64 urlsafe encoded SHA1 hash of the certificate. (This field is deprecated in favor of SHA2-256. It should not be used and may be removed at any time.)", +"type": "string" +}, +"certificateHashSha256": { +"description": "The base64 urlsafe encoded SHA2-256 hash of the certificate.", +"type": "string" +} +}, +"type": "object" +}, +"ProductVisibility": { +"description": "A product to be made visible to a user.", +"id": "ProductVisibility", +"properties": { +"productId": { +"description": "The product ID to make visible to the user. Required for each item in the productVisibility list.", +"type": "string" +}, +"trackIds": { +"description": "Grants the user visibility to the specified product track(s), identified by trackIds.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tracks": { +"description": "Deprecated. Use trackIds instead.", +"items": { +"enum": [ +"appTrackUnspecified", +"production", +"beta", +"alpha" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProductsApproveRequest": { +"id": "ProductsApproveRequest", +"properties": { +"approvalUrlInfo": { +"$ref": "ApprovalUrlInfo", +"description": "The approval URL that was shown to the user. Only the permissions shown to the user with that URL will be accepted, which may not be the product's entire set of permissions. For example, the URL may only display new permissions from an update after the product was approved, or not include new permissions if the product was updated since the URL was generated." +}, +"approvedPermissions": { +"description": "Sets how new permission requests for the product are handled. \"allPermissions\" automatically approves all current and future permissions for the product. \"currentPermissionsOnly\" approves the current set of permissions for the product, but any future permissions added through updates will require manual reapproval. If not specified, only the current set of permissions will be approved.", +"enum": [ +"currentPermissionsOnly", +"allPermissions" +], +"enumDescriptions": [ +"Approve only the permissions the product requires at approval time. If an update requires additional permissions, the app will not be updated on devices associated with enterprise users until the additional permissions are approved.", +"All current and future permissions the app requires are automatically approved." +], +"type": "string" +} +}, +"type": "object" +}, +"ProductsGenerateApprovalUrlResponse": { +"id": "ProductsGenerateApprovalUrlResponse", +"properties": { +"url": { +"description": "A URL that can be rendered in an iframe to display the permissions (if any) of a product. This URL can be used to approve the product only once and only within 24 hours of being generated, using the Products.approve call. If the product is currently unapproved and has no permissions, this URL will point to an empty page. If the product is currently approved, a URL will only be generated if that product has added permissions since it was last approved, and the URL will only display those new permissions that have not yet been accepted.", +"type": "string" +} +}, +"type": "object" +}, +"ProductsListResponse": { +"id": "ProductsListResponse", +"properties": { +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"product": { +"description": "Information about a product (e.g. an app) in the Google Play store, for display to an enterprise admin.", +"items": { +"$ref": "Product" +}, +"type": "array" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"description": "Pagination information for token pagination." +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account identity, including the name and credentials that can be used to authenticate as the service account.", +"id": "ServiceAccount", +"properties": { +"key": { +"$ref": "ServiceAccountKey", +"description": "Credentials that can be used to authenticate as this ServiceAccount." +}, +"name": { +"description": "The account name of the service account, in the form of an email address. Assigned by the server.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccountKey": { +"description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", +"id": "ServiceAccountKey", +"properties": { +"data": { +"description": "The body of the private key credentials file, in string format. This is only populated when the ServiceAccountKey is created, and is not stored by Google.", +"type": "string" +}, +"id": { +"description": "An opaque, unique identifier for this ServiceAccountKey. Assigned by the server.", +"type": "string" +}, +"publicData": { +"description": "Public key data for the credentials file. This is an X.509 cert. If you are using the googleCredentials key type, this is identical to the cert that can be retrieved by using the X.509 cert url inside of the credentials file.", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"androidenterprise.serviceaccountkeys.insert" +] +}, +"description": "The file format of the generated key data.", +"enum": [ +"googleCredentials", +"pkcs12" +], +"enumDescriptions": [ +"Google Credentials File format.", +"PKCS12 format. The password for the PKCS12 file is 'notasecret'. For more information, see https://tools.ietf.org/html/rfc7292. The data for keys of this type are base64 encoded according to RFC 4648 Section 4. See http://tools.ietf.org/html/rfc4648#section-4." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccountKeysListResponse": { +"id": "ServiceAccountKeysListResponse", +"properties": { +"serviceAccountKey": { +"description": "The service account credentials.", +"items": { +"$ref": "ServiceAccountKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"SignupInfo": { +"description": "A resource returned by the GenerateSignupUrl API, which contains the Signup URL and Completion Token.", +"id": "SignupInfo", +"properties": { +"completionToken": { +"description": "An opaque token that will be required, along with the Enterprise Token, for obtaining the enterprise resource from CompleteSignup.", +"type": "string" +}, +"kind": { +"description": "Deprecated.", +"type": "string" +}, +"url": { +"description": "A URL under which the Admin can sign up for an enterprise. The page pointed to cannot be rendered in an iframe.", +"type": "string" +} +}, +"type": "object" +}, +"StoreCluster": { +"description": "Definition of a managed Google Play store cluster, a list of products displayed as part of a store page.", +"id": "StoreCluster", +"properties": { +"id": { +"description": "Unique ID of this cluster. Assigned by the server. Immutable once assigned.", +"type": "string" +}, +"name": { +"description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.", +"items": { +"$ref": "LocalizedText" +}, +"type": "array" +}, +"orderInPage": { +"description": "String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters.", +"type": "string" +}, +"productId": { +"description": "List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"StoreLayout": { +"description": "General setting for the managed Google Play store layout, currently only specifying the page to display the first time the store is opened.", +"id": "StoreLayout", +"properties": { +"homepageId": { +"description": "The ID of the store page to be used as the homepage. The homepage is the first page shown in the managed Google Play Store. Not specifying a homepage is equivalent to setting the store layout type to \"basic\".", +"type": "string" +}, +"storeLayoutType": { +"description": "The store layout type. By default, this value is set to \"basic\" if the homepageId field is not set, and to \"custom\" otherwise. If set to \"basic\", the layout will consist of all approved apps that have been whitelisted for the user.", +"enum": [ +"unknown", +"basic", +"custom" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"StoreLayoutClustersListResponse": { +"id": "StoreLayoutClustersListResponse", +"properties": { +"cluster": { +"description": "A store cluster of an enterprise.", +"items": { +"$ref": "StoreCluster" +}, +"type": "array" +} +}, +"type": "object" +}, +"StoreLayoutPagesListResponse": { +"id": "StoreLayoutPagesListResponse", +"properties": { +"page": { +"description": "A store page of an enterprise.", +"items": { +"$ref": "StorePage" +}, +"type": "array" +} +}, +"type": "object" +}, +"StorePage": { +"description": "Definition of a managed Google Play store page, made of a localized name and links to other pages. A page also contains clusters defined as a subcollection.", +"id": "StorePage", +"properties": { +"id": { +"description": "Unique ID of this page. Assigned by the server. Immutable once assigned.", +"type": "string" +}, +"link": { +"description": "Ordered list of pages a user should be able to reach from this page. The list can't include this page. It is recommended that the basic pages are created first, before adding the links between pages. The API doesn't verify that the pages exist or the pages are reachable.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.", +"items": { +"$ref": "LocalizedText" +}, +"type": "array" +} +}, +"type": "object" +}, +"TokenPagination": { +"description": "Pagination information returned by a List operation when token pagination is enabled. List operations that supports paging return only one \"page\" of results. This protocol buffer message describes the page that has been returned. When using token pagination, clients should use the next/previous token to get another page of the result. The presence or absence of next/previous token indicates whether a next/previous page is available and provides a mean of accessing this page. ListRequest.page_token should be set to either next_page_token or previous_page_token to access another page.", +"id": "TokenPagination", +"properties": { +"nextPageToken": { +"description": "Tokens to pass to the standard list field 'page_token'. Whenever available, tokens are preferred over manipulating start_index.", +"type": "string" +}, +"previousPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"TrackInfo": { +"description": "Id to name association of a track.", +"id": "TrackInfo", +"properties": { +"trackAlias": { +"description": "A modifiable name for a track. This is the visible name in the play developer console.", +"type": "string" +}, +"trackId": { +"description": "Unmodifiable, unique track identifier. This identifier is the releaseTrackId in the url of the play developer console page that displays the track information.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to managed Google Play only, or to other Google services, depending on the identity model: - The Google managed domain identity model requires synchronization to Google account sources (via primaryEmail). - The managed Google Play Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to managed Google Play. ", +"id": "User", +"properties": { +"accountIdentifier": { +"annotations": { +"required": [ +"androidenterprise.users.insert" +] +}, +"description": "A unique identifier you create for this user, such as \"user342\" or \"asset#44418\". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.", +"type": "string" +}, +"accountType": { +"annotations": { +"required": [ +"androidenterprise.users.insert" +] +}, +"description": "The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.", +"enum": [ +"deviceAccount", +"userAccount" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"displayName": { +"description": "The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as \"Example, Inc.\") or your name (as EMM). Not used for Google-managed user accounts. @mutable androidenterprise.users.update", +"type": "string" +}, +"id": { +"description": "The unique ID for the user.", +"type": "string" +}, +"managementType": { +"description": "The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.", +"enum": [ +"googleManaged", +"emmManaged" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"primaryEmail": { +"description": "The user's primary email address, for example, \"jsmith@example.com\". Will always be set for Google managed users and not set for EMM managed users.", +"type": "string" +} +}, +"type": "object" +}, +"UsersListResponse": { +"id": "UsersListResponse", +"properties": { +"user": { +"description": "A user of an enterprise.", +"items": { +"$ref": "User" +}, +"type": "array" +} +}, +"type": "object" +}, +"VariableSet": { +"description": "A variable set is a key-value pair of EMM-provided placeholders and its corresponding value, which is attributed to a user. For example, $FIRSTNAME could be a placeholder, and its value could be Alice. Placeholders should start with a '$' sign and should be alphanumeric only.", +"id": "VariableSet", +"properties": { +"placeholder": { +"description": "The placeholder string; defined by EMM.", +"type": "string" +}, +"userValue": { +"description": "The value of the placeholder, specific to the user.", +"type": "string" +} +}, +"type": "object" +}, +"WebApp": { +"description": "A WebApps resource represents a web app created for an enterprise. Web apps are published to managed Google Play and can be distributed like other Android apps. On a user's device, a web app opens its specified URL.", +"id": "WebApp", +"properties": { +"displayMode": { +"description": "The display mode of the web app. Possible values include: - \"minimalUi\", the device's status bar, navigation bar, the app's URL, and a refresh button are visible when the app is open. For HTTP URLs, you can only select this option. - \"standalone\", the device's status bar and navigation bar are visible when the app is open. - \"fullScreen\", the app opens in full screen mode, hiding the device's status and navigation bars. All browser UI elements, page URL, system status bar and back button are not visible, and the web app takes up the entirety of the available display area. ", +"enum": [ +"displayModeUnspecified", +"minimalUi", +"standalone", +"fullScreen" +], +"enumDescriptions": [ +"", +"Opens the web app with a minimal set of browser UI elements for controlling navigation and viewing the page URL.", +"Opens the web app to look and feel like a standalone native application. The browser UI elements and page URL are not visible, however the system status bar and back button are visible.", +"Opens the web app in full screen without any visible controls. The browser UI elements, page URL, system status bar and back button are not visible, and the web app takes up the entirety of the available display area." +], +"type": "string" +}, +"icons": { +"description": "A list of icons representing this website. If absent, a default icon (for create) or the current icon (for update) will be used.", +"items": { +"$ref": "WebAppIcon" +}, +"type": "array" +}, +"isPublished": { +"description": "A flag whether the app has been published to the Play store yet.", +"type": "boolean" +}, +"startUrl": { +"description": "The start URL, i.e. the URL that should load when the user opens the application.", +"type": "string" +}, +"title": { +"description": "The title of the web app as displayed to the user (e.g., amongst a list of other applications, or as a label for an icon).", +"type": "string" +}, +"versionCode": { +"description": "The current version of the app. Note that the version can automatically increase during the lifetime of the web app, while Google does internal housekeeping to keep the web app up-to-date.", +"format": "int64", +"type": "string" +}, +"webAppId": { +"description": "The ID of the application. A string of the form \"app:\" where the package name always starts with the prefix \"com.google.enterprise.webapp.\" followed by a random id.", +"type": "string" +} +}, +"type": "object" +}, +"WebAppIcon": { +"description": "Icon for a web app.", +"id": "WebAppIcon", +"properties": { +"imageData": { +"description": "The actual bytes of the image in a base64url encoded string (c.f. RFC4648, section 5 \"Base 64 Encoding with URL and Filename Safe Alphabet\"). - The image type can be png or jpg. - The image should ideally be square. - The image should ideally have a size of 512x512. ", +"type": "string" +} +}, +"type": "object" +}, +"WebAppsListResponse": { +"id": "WebAppsListResponse", +"properties": { +"webApp": { +"description": "The manifest describing a web app.", +"items": { +"$ref": "WebApp" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Play EMM API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..0c68de99b650a6ad0fc20aef26a9c67c33c0ba56 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1beta.json @@ -0,0 +1,1834 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://apigateway.googleapis.com/", +"batchPath": "batch", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/api-gateway/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "apigateway:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://apigateway.mtls.googleapis.com/", +"name": "apigateway", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "apigateway.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta/{+name}/locations", +"response": { +"$ref": "ApigatewayListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"apis": { +"methods": { +"create": { +"description": "Creates a new Api in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiId": { +"description": "Required. Identifier to assign to the API. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API, of the form: `projects/*/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apis", +"request": { +"$ref": "ApigatewayApi" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Api.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.apis.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Api.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayApi" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Apis in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API, of the form: `projects/*/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apis", +"response": { +"$ref": "ApigatewayListApisResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Api.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.apis.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "ApigatewayApi" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"configs": { +"methods": { +"create": { +"description": "Creates a new ApiConfig in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiConfigId": { +"description": "Required. Identifier to assign to the API Config. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/configs", +"request": { +"$ref": "ApigatewayApiConfig" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ApiConfig.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.apis.configs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ApiConfig.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", +"enum": [ +"CONFIG_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"", +"Do not include configuration source files.", +"Include configuration source files." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayApiConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ApiConfigs in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/configs", +"response": { +"$ref": "ApigatewayListApiConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single ApiConfig.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.apis.configs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "ApigatewayApiConfig" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"gateways": { +"methods": { +"create": { +"description": "Creates a new Gateway in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"gatewayId": { +"description": "Required. Identifier to assign to the Gateway. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Gateway, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/gateways", +"request": { +"$ref": "ApigatewayGateway" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Gateway.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.gateways.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/*/gateways/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Gateway.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/*/gateways/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Gateways in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Gateway, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/gateways", +"response": { +"$ref": "ApigatewayListGatewaysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Gateway.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.gateways.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "ApigatewayGateway" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "apigateway.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:cancel", +"request": { +"$ref": "ApigatewayCancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "apigateway.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "ApigatewayListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://apigateway.googleapis.com/", +"schemas": { +"ApigatewayApi": { +"description": "An API that can be served by one or more Gateways.", +"id": "ApigatewayApi", +"properties": { +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"managedService": { +"description": "Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the API.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"API does not have a state yet.", +"API is being created.", +"API is active.", +"API creation failed.", +"API is being deleted.", +"API is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfig": { +"description": "An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.", +"id": "ApigatewayApiConfig", +"properties": { +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"gatewayConfig": { +"$ref": "ApigatewayGatewayConfig", +"description": "Immutable. Gateway specific configuration." +}, +"gatewayServiceAccount": { +"description": "Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email (`{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`) or its full resource name (`projects/{PROJECT}/accounts/{UNIQUE_ID}`). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service.", +"type": "string" +}, +"grpcServices": { +"description": "Optional. gRPC service definition files. If specified, openapi_documents must not be included.", +"items": { +"$ref": "ApigatewayApiConfigGrpcServiceDefinition" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"managedServiceConfigs": { +"description": "Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#service_configuration_overview for the expected file contents. If multiple files are specified, the files are merged with the following rules: * All singular scalar fields are merged using \"last one wins\" semantics in the order of the files uploaded. * Repeated fields are concatenated. * Singular embedded messages are merged using these rules for nested fields.", +"items": { +"$ref": "ApigatewayApiConfigFile" +}, +"type": "array" +}, +"name": { +"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"readOnly": true, +"type": "string" +}, +"openapiDocuments": { +"description": "Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included.", +"items": { +"$ref": "ApigatewayApiConfigOpenApiDocument" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "Output only. The ID of the associated Service Config ( https://cloud.google.com/service-infrastructure/docs/glossary#config).", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the API Config.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING", +"ACTIVATING" +], +"enumDescriptions": [ +"API Config does not have a state yet.", +"API Config is being created and deployed to the API Controller.", +"API Config is ready for use by Gateways.", +"API Config creation failed.", +"API Config is being deleted.", +"API Config is being updated.", +"API Config settings are being activated in downstream systems. API Configs in this state cannot be used by Gateways." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfigFile": { +"description": "A lightweight description of a file.", +"id": "ApigatewayApiConfigFile", +"properties": { +"contents": { +"description": "The bytes that constitute the file.", +"format": "byte", +"type": "string" +}, +"path": { +"description": "The file path (full or relative path). This is typically the path of the file when it is uploaded.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfigGrpcServiceDefinition": { +"description": "A gRPC service definition.", +"id": "ApigatewayApiConfigGrpcServiceDefinition", +"properties": { +"fileDescriptorSet": { +"$ref": "ApigatewayApiConfigFile", +"description": "Input only. File descriptor set, generated by protoc. To generate, use protoc with imports and source info included. For an example test.proto file, the following command would put the value in a new file named out.pb. $ protoc --include_imports --include_source_info test.proto -o out.pb" +}, +"source": { +"description": "Optional. Uncompiled proto files associated with the descriptor set, used for display purposes (server-side compilation is not supported). These should match the inputs to 'protoc' command used to generate file_descriptor_set.", +"items": { +"$ref": "ApigatewayApiConfigFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayApiConfigOpenApiDocument": { +"description": "An OpenAPI Specification Document describing an API.", +"id": "ApigatewayApiConfigOpenApiDocument", +"properties": { +"document": { +"$ref": "ApigatewayApiConfigFile", +"description": "The OpenAPI Specification document file." +} +}, +"type": "object" +}, +"ApigatewayAuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "ApigatewayAuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "ApigatewayAuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayAuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "ApigatewayAuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayBackendConfig": { +"deprecated": true, +"description": "Configuration for all backends.", +"id": "ApigatewayBackendConfig", +"properties": { +"googleServiceAccount": { +"description": "Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend). This may either be the Service Account's email (i.e. \"{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com\") or its full resource name (i.e. \"projects/{PROJECT}/accounts/{UNIQUE_ID}\"). This is most often used when the backend is a GCP resource such as a Cloud Run Service or an IAP-secured service. Note that this token is always sent as an authorization header bearer token. The audience of the OIDC token is configured in the associated Service Config in the BackendRule option (https://github.com/googleapis/googleapis/blob/master/google/api/backend.proto#L125).", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayBinding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "ApigatewayBinding", +"properties": { +"condition": { +"$ref": "ApigatewayExpr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ApigatewayCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "ApigatewayCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ApigatewayExpr": { +"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() < 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.", +"id": "ApigatewayExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"ApigatewayGateway": { +"description": "A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API-Consumer specific actions based on an API Config such as authentication, policy enforcement, and backend selection.", +"id": "ApigatewayGateway", +"properties": { +"apiConfig": { +"description": "Required. Resource name of the API Config for this Gateway. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig}", +"type": "string" +}, +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultHostname": { +"description": "Output only. The default API Gateway host name of the form `{gateway_id}-{hash}.{region_code}.gateway.dev`.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the Gateway.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"Gateway does not have a state yet.", +"Gateway is being created.", +"Gateway is running and ready for requests.", +"Gateway creation failed.", +"Gateway is being deleted.", +"Gateway is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayGatewayConfig": { +"description": "Configuration settings for Gateways.", +"id": "ApigatewayGatewayConfig", +"properties": { +"backendConfig": { +"$ref": "ApigatewayBackendConfig", +"deprecated": true, +"description": "Required. Backend settings that are applied to all backends of the Gateway." +} +}, +"type": "object" +}, +"ApigatewayListApiConfigsResponse": { +"description": "Response message for ApiGatewayService.ListApiConfigs", +"id": "ApigatewayListApiConfigsResponse", +"properties": { +"apiConfigs": { +"description": "API Configs.", +"items": { +"$ref": "ApigatewayApiConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListApisResponse": { +"description": "Response message for ApiGatewayService.ListApis", +"id": "ApigatewayListApisResponse", +"properties": { +"apis": { +"description": "APIs.", +"items": { +"$ref": "ApigatewayApi" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListGatewaysResponse": { +"description": "Response message for ApiGatewayService.ListGateways", +"id": "ApigatewayListGatewaysResponse", +"properties": { +"gateways": { +"description": "Gateways.", +"items": { +"$ref": "ApigatewayGateway" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ApigatewayListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "ApigatewayLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ApigatewayListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "ApigatewayOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "ApigatewayLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "ApigatewayOperation", +"properties": { +"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": { +"$ref": "ApigatewayStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"ApigatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "ApigatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"diagnostics": { +"description": "Output only. Diagnostics generated during processing of configuration source files.", +"items": { +"$ref": "ApigatewayOperationMetadataDiagnostic" +}, +"readOnly": true, +"type": "array" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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 google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"ApigatewayOperationMetadataDiagnostic": { +"description": "Diagnostic information from configuration processing.", +"id": "ApigatewayOperationMetadataDiagnostic", +"properties": { +"location": { +"description": "Location of the diagnostic.", +"type": "string" +}, +"message": { +"description": "The diagnostic message.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayPolicy": { +"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 < 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 < 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": "ApigatewayPolicy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "ApigatewayAuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "ApigatewayBinding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ApigatewaySetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "ApigatewaySetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "ApigatewayPolicy", +"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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayStatus": { +"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).", +"id": "ApigatewayStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ApigatewayTestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "ApigatewayTestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayTestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "ApigatewayTestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "API Gateway API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..810929733652ba8601778b429c48a84418a72f2d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1.json @@ -0,0 +1,4450 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/appengine.admin": { +"description": "View and manage your applications deployed on Google App Engine" +}, +"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" +} +} +} +}, +"basePath": "", +"baseUrl": "https://appengine.googleapis.com/", +"batchPath": "batch", +"description": "Provisions and manages developers' App Engine applications.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "appengine:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://appengine.mtls.googleapis.com/", +"name": "appengine", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"apps": { +"methods": { +"create": { +"description": "Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/standard/python/console/).", +"flatPath": "v1/apps", +"httpMethod": "POST", +"id": "appengine.apps.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/apps", +"request": { +"$ref": "Application" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about an application.", +"flatPath": "v1/apps/{appsId}", +"httpMethod": "GET", +"id": "appengine.apps.get", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"includeExtraData": { +"description": "Options to include extra data", +"enum": [ +"INCLUDE_EXTRA_DATA_UNSPECIFIED", +"INCLUDE_EXTRA_DATA_NONE", +"INCLUDE_GOOGLE_GENERATED_METADATA" +], +"enumDescriptions": [ +"Unspecified: No extra data will be returned", +"Do not return any extra data", +"Return GGCM associated with the resources" +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}", +"response": { +"$ref": "Application" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"listRuntimes": { +"description": "Lists all the available runtimes for the application.", +"flatPath": "v1/apps/{appsId}:listRuntimes", +"httpMethod": "GET", +"id": "appengine.apps.listRuntimes", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"environment": { +"description": "Optional. The environment of the Application.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"STANDARD", +"FLEXIBLE" +], +"enumDescriptions": [ +"Default value.", +"App Engine Standard.", +"App Engine Flexible" +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}:listRuntimes", +"response": { +"$ref": "ListRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.", +"flatPath": "v1/apps/{appsId}", +"httpMethod": "PATCH", +"id": "appengine.apps.patch", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}", +"request": { +"$ref": "Application" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"repair": { +"description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique_id\"%2C\"resource\"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.", +"flatPath": "v1/apps/{appsId}:repair", +"httpMethod": "POST", +"id": "appengine.apps.repair", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the application to repair. Example: apps/myapp", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}:repair", +"request": { +"$ref": "RepairApplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"authorizedCertificates": { +"methods": { +"create": { +"description": "Uploads the specified SSL certificate.", +"flatPath": "v1/apps/{appsId}/authorizedCertificates", +"httpMethod": "POST", +"id": "appengine.apps.authorizedCertificates.create", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedCertificates", +"request": { +"$ref": "AuthorizedCertificate" +}, +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified SSL certificate.", +"flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "DELETE", +"id": "appengine.apps.authorizedCertificates.delete", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified SSL certificate.", +"flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "GET", +"id": "appengine.apps.authorizedCertificates.get", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the GET response.", +"enum": [ +"BASIC_CERTIFICATE", +"FULL_CERTIFICATE" +], +"enumDescriptions": [ +"Basic certificate information, including applicable domains and expiration date.", +"The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists all SSL certificates the user is authorized to administer.", +"flatPath": "v1/apps/{appsId}/authorizedCertificates", +"httpMethod": "GET", +"id": "appengine.apps.authorizedCertificates.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the LIST response.", +"enum": [ +"BASIC_CERTIFICATE", +"FULL_CERTIFICATE" +], +"enumDescriptions": [ +"Basic certificate information, including applicable domains and expiration date.", +"The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedCertificates", +"response": { +"$ref": "ListAuthorizedCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", +"flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "PATCH", +"id": "appengine.apps.authorizedCertificates.patch", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"request": { +"$ref": "AuthorizedCertificate" +}, +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"authorizedDomains": { +"methods": { +"list": { +"description": "Lists all domains the user is authorized to administer.", +"flatPath": "v1/apps/{appsId}/authorizedDomains", +"httpMethod": "GET", +"id": "appengine.apps.authorizedDomains.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/authorizedDomains", +"response": { +"$ref": "ListAuthorizedDomainsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"domainMappings": { +"methods": { +"create": { +"description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", +"flatPath": "v1/apps/{appsId}/domainMappings", +"httpMethod": "POST", +"id": "appengine.apps.domainMappings.create", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"overrideStrategy": { +"description": "Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.", +"enum": [ +"UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY", +"STRICT", +"OVERRIDE" +], +"enumDescriptions": [ +"Strategy unspecified. Defaults to STRICT.", +"Overrides not allowed. If a mapping already exists for the specified domain, the request will return an ALREADY_EXISTS (409).", +"Overrides allowed. If a mapping already exists for the specified domain, the request will overwrite it. Note that this might stop another Google product from serving. For example, if the domain is mapped to another App Engine application, that app will no longer serve from that domain." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/domainMappings", +"request": { +"$ref": "DomainMapping" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", +"flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "DELETE", +"id": "appengine.apps.domainMappings.delete", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified domain mapping.", +"flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "GET", +"id": "appengine.apps.domainMappings.get", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"response": { +"$ref": "DomainMapping" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the domain mappings on an application.", +"flatPath": "v1/apps/{appsId}/domainMappings", +"httpMethod": "GET", +"id": "appengine.apps.domainMappings.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/domainMappings", +"response": { +"$ref": "ListDomainMappingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", +"flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "PATCH", +"id": "appengine.apps.domainMappings.patch", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", +"request": { +"$ref": "DomainMapping" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"firewall": { +"resources": { +"ingressRules": { +"methods": { +"batchUpdate": { +"description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", +"httpMethod": "POST", +"id": "appengine.apps.firewall.ingressRules.batchUpdate", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", +"request": { +"$ref": "BatchUpdateIngressRulesRequest" +}, +"response": { +"$ref": "BatchUpdateIngressRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a firewall rule for the application.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules", +"httpMethod": "POST", +"id": "appengine.apps.firewall.ingressRules.create", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules", +"request": { +"$ref": "FirewallRule" +}, +"response": { +"$ref": "FirewallRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified firewall rule.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"httpMethod": "DELETE", +"id": "appengine.apps.firewall.ingressRules.delete", +"parameterOrder": [ +"appsId", +"ingressRulesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.", +"location": "path", +"required": true, +"type": "string" +}, +"ingressRulesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified firewall rule.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"httpMethod": "GET", +"id": "appengine.apps.firewall.ingressRules.get", +"parameterOrder": [ +"appsId", +"ingressRulesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", +"location": "path", +"required": true, +"type": "string" +}, +"ingressRulesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"response": { +"$ref": "FirewallRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the firewall rules of an application.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules", +"httpMethod": "GET", +"id": "appengine.apps.firewall.ingressRules.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.", +"location": "path", +"required": true, +"type": "string" +}, +"matchingAddress": { +"description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules", +"response": { +"$ref": "ListIngressRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified firewall rule.", +"flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"httpMethod": "PATCH", +"id": "appengine.apps.firewall.ingressRules.patch", +"parameterOrder": [ +"appsId", +"ingressRulesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", +"location": "path", +"required": true, +"type": "string" +}, +"ingressRulesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", +"request": { +"$ref": "FirewallRule" +}, +"response": { +"$ref": "FirewallRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/apps/{appsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "appengine.apps.locations.get", +"parameterOrder": [ +"appsId", +"locationsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Resource name for the location.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/locations/{locationsId}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/apps/{appsId}/locations", +"httpMethod": "GET", +"id": "appengine.apps.locations.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The resource that owns the locations collection, if applicable.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/apps/{appsId}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/apps/{appsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "appengine.apps.operations.get", +"parameterOrder": [ +"appsId", +"operationsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The name of the operation resource.", +"location": "path", +"required": true, +"type": "string" +}, +"operationsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/operations/{operationsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1/apps/{appsId}/operations", +"httpMethod": "GET", +"id": "appengine.apps.operations.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The name of the operation's parent resource.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"services": { +"methods": { +"delete": { +"description": "Deletes the specified service and all enclosed versions.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "appengine.apps.services.delete", +"parameterOrder": [ +"appsId", +"servicesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the current configuration of the specified service.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "appengine.apps.services.get", +"parameterOrder": [ +"appsId", +"servicesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists all the services in the application.", +"flatPath": "v1/apps/{appsId}/services", +"httpMethod": "GET", +"id": "appengine.apps.services.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the configuration of the specified service.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "appengine.apps.services.patch", +"parameterOrder": [ +"appsId", +"servicesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"migrateTraffic": { +"description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", +"location": "query", +"type": "boolean" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"versions": { +"methods": { +"create": { +"description": "Deploys code and resource files to a new version.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions", +"httpMethod": "POST", +"id": "appengine.apps.services.versions.create", +"parameterOrder": [ +"appsId", +"servicesId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `parent`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions", +"request": { +"$ref": "Version" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing Version resource.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "appengine.apps.services.versions.delete", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "appengine.apps.services.versions.get", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the Get response.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Basic version information including scaling and inbound services, but not detailed deployment information.", +"The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"response": { +"$ref": "Version" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the versions of a service.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions", +"httpMethod": "GET", +"id": "appengine.apps.services.versions.list", +"parameterOrder": [ +"appsId", +"servicesId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"servicesId": { +"description": "Part of `parent`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the List response.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Basic version information including scaling and inbound services, but not detailed deployment information.", +"The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions", +"response": { +"$ref": "ListVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:Standard environment instance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class)automatic scaling in the standard environment: automatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automaticScaling.standard_scheduler_settings.max_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.min_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_cpu_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_throughput_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings)basic scaling or manual scaling in the standard environment: serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling)Flexible environment serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status)automatic scaling in the flexible environment: automatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling)manual scaling in the flexible environment: manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling)", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"httpMethod": "PATCH", +"id": "appengine.apps.services.versions.patch", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", +"request": { +"$ref": "Version" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"debug": { +"description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", +"httpMethod": "POST", +"id": "appengine.apps.services.versions.instances.debug", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId", +"instancesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", +"location": "path", +"required": true, +"type": "string" +}, +"instancesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", +"request": { +"$ref": "DebugInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "appengine.apps.services.versions.instances.delete", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId", +"instancesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", +"location": "path", +"required": true, +"type": "string" +}, +"instancesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets instance information.", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "appengine.apps.services.versions.instances.get", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId", +"instancesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", +"location": "path", +"required": true, +"type": "string" +}, +"instancesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", +"flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", +"httpMethod": "GET", +"id": "appengine.apps.services.versions.instances.list", +"parameterOrder": [ +"appsId", +"servicesId", +"versionsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"servicesId": { +"description": "Part of `parent`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `parent`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"applications": { +"resources": { +"authorizedDomains": { +"methods": { +"list": { +"description": "Lists all domains the user is authorized to administer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains", +"httpMethod": "GET", +"id": "appengine.projects.locations.applications.authorizedDomains.list", +"parameterOrder": [ +"projectsId", +"locationsId", +"applicationsId" +], +"parameters": { +"applicationsId": { +"description": "Part of `parent`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `parent`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"projectsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains", +"response": { +"$ref": "ListAuthorizedDomainsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"services": { +"methods": { +"delete": { +"description": "Deletes the specified service and all enclosed versions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "appengine.projects.locations.applications.services.delete", +"parameterOrder": [ +"projectsId", +"locationsId", +"applicationsId", +"servicesId" +], +"parameters": { +"applicationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"versions": { +"methods": { +"delete": { +"description": "Deletes an existing Version resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "appengine.projects.locations.applications.services.versions.delete", +"parameterOrder": [ +"projectsId", +"locationsId", +"applicationsId", +"servicesId", +"versionsId" +], +"parameters": { +"applicationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", +"location": "path", +"required": true, +"type": "string" +}, +"servicesId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"versionsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://appengine.googleapis.com/", +"schemas": { +"ApiConfigHandler": { +"description": "Google Cloud Endpoints (https://cloud.google.com/endpoints) configuration for API handlers.", +"id": "ApiConfigHandler", +"properties": { +"authFailAction": { +"description": "Action to take when users access resources that require authentication. Defaults to redirect.", +"enum": [ +"AUTH_FAIL_ACTION_UNSPECIFIED", +"AUTH_FAIL_ACTION_REDIRECT", +"AUTH_FAIL_ACTION_UNAUTHORIZED" +], +"enumDescriptions": [ +"Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", +"Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", +"Rejects request with a 401 HTTP status code and an error message." +], +"type": "string" +}, +"login": { +"description": "Level of login required to access this resource. Defaults to optional.", +"enum": [ +"LOGIN_UNSPECIFIED", +"LOGIN_OPTIONAL", +"LOGIN_ADMIN", +"LOGIN_REQUIRED" +], +"enumDescriptions": [ +"Not specified. LOGIN_OPTIONAL is assumed.", +"Does not require that the user is signed in.", +"If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", +"If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." +], +"type": "string" +}, +"script": { +"description": "Path to the script from the application root directory.", +"type": "string" +}, +"securityLevel": { +"description": "Security (HTTPS) enforcement for this URL.", +"enum": [ +"SECURE_UNSPECIFIED", +"SECURE_DEFAULT", +"SECURE_NEVER", +"SECURE_OPTIONAL", +"SECURE_ALWAYS" +], +"enumDescriptions": [ +"Not specified.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", +"Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", +"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." +], +"type": "string" +}, +"url": { +"description": "URL to serve the endpoint at.", +"type": "string" +} +}, +"type": "object" +}, +"ApiEndpointHandler": { +"description": "Uses Google Cloud Endpoints to handle requests.", +"id": "ApiEndpointHandler", +"properties": { +"scriptPath": { +"description": "Path to the script from the application root directory.", +"type": "string" +} +}, +"type": "object" +}, +"Application": { +"description": "An Application resource contains the top-level configuration of an App Engine application.", +"id": "Application", +"properties": { +"authDomain": { +"description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", +"type": "string" +}, +"codeBucket": { +"description": "Output only. Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"databaseType": { +"description": "The type of the Cloud Firestore or Cloud Datastore database associated with this application.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"CLOUD_DATASTORE", +"CLOUD_FIRESTORE", +"CLOUD_DATASTORE_COMPATIBILITY" +], +"enumDescriptions": [ +"Database type is unspecified.", +"Cloud Datastore", +"Cloud Firestore Native", +"Cloud Firestore in Datastore Mode" +], +"type": "string" +}, +"defaultBucket": { +"description": "Output only. Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"defaultCookieExpiration": { +"description": "Cookie expiration policy for this application.", +"format": "google-duration", +"type": "string" +}, +"defaultHostname": { +"description": "Output only. Hostname used to reach this application, as resolved by App Engine.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"dispatchRules": { +"description": "HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported.", +"items": { +"$ref": "UrlDispatchRule" +}, +"type": "array" +}, +"featureSettings": { +"$ref": "FeatureSettings", +"description": "The feature specific settings to be used in the application." +}, +"gcrDomain": { +"description": "Output only. The Google Container Registry domain used for storing managed build docker images for this application.", +"readOnly": true, +"type": "string" +}, +"generatedCustomerMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest", +"type": "object" +}, +"iap": { +"$ref": "IdentityAwareProxy" +}, +"id": { +"description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", +"type": "string" +}, +"locationId": { +"description": "Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations).", +"type": "string" +}, +"name": { +"description": "Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one.", +"type": "string" +}, +"servingStatus": { +"description": "Serving status of this application.", +"enum": [ +"UNSPECIFIED", +"SERVING", +"USER_DISABLED", +"SYSTEM_DISABLED" +], +"enumDescriptions": [ +"Serving status is unspecified.", +"Application is serving.", +"Application has been disabled by the user.", +"Application has been disabled by the system." +], +"type": "string" +} +}, +"type": "object" +}, +"AuthorizedCertificate": { +"description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", +"id": "AuthorizedCertificate", +"properties": { +"certificateRawData": { +"$ref": "CertificateRawData", +"description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority." +}, +"displayName": { +"description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", +"type": "string" +}, +"domainMappingsCount": { +"description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", +"format": "int32", +"type": "integer" +}, +"domainNames": { +"description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +}, +"expireTime": { +"description": "The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", +"type": "string" +}, +"managedCertificate": { +"$ref": "ManagedCertificate", +"description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" +}, +"name": { +"description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", +"type": "string" +}, +"visibleDomainMappings": { +"description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthorizedDomain": { +"description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Search Console (https://search.google.com/search-console/welcome).", +"id": "AuthorizedDomain", +"properties": { +"id": { +"description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", +"type": "string" +}, +"name": { +"description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"AutomaticScaling": { +"description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", +"id": "AutomaticScaling", +"properties": { +"coolDownPeriod": { +"description": "The time period that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Only applicable in the App Engine flexible environment.", +"format": "google-duration", +"type": "string" +}, +"cpuUtilization": { +"$ref": "CpuUtilization", +"description": "Target scaling by CPU usage." +}, +"diskUtilization": { +"$ref": "DiskUtilization", +"description": "Target scaling by disk usage." +}, +"maxConcurrentRequests": { +"description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", +"format": "int32", +"type": "integer" +}, +"maxIdleInstances": { +"description": "Maximum number of idle instances that should be maintained for this version.", +"format": "int32", +"type": "integer" +}, +"maxPendingLatency": { +"description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", +"format": "google-duration", +"type": "string" +}, +"maxTotalInstances": { +"description": "Maximum number of instances that should be started to handle requests for this version.", +"format": "int32", +"type": "integer" +}, +"minIdleInstances": { +"description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", +"format": "int32", +"type": "integer" +}, +"minPendingLatency": { +"description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", +"format": "google-duration", +"type": "string" +}, +"minTotalInstances": { +"description": "Minimum number of running instances that should be maintained for this version.", +"format": "int32", +"type": "integer" +}, +"networkUtilization": { +"$ref": "NetworkUtilization", +"description": "Target scaling by network usage." +}, +"requestUtilization": { +"$ref": "RequestUtilization", +"description": "Target scaling by request utilization." +}, +"standardSchedulerSettings": { +"$ref": "StandardSchedulerSettings", +"description": "Scheduler settings for standard environment." +} +}, +"type": "object" +}, +"BasicScaling": { +"description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", +"id": "BasicScaling", +"properties": { +"idleTimeout": { +"description": "Duration of time after the last request that an instance must wait before the instance is shut down.", +"format": "google-duration", +"type": "string" +}, +"maxInstances": { +"description": "Maximum number of instances to create for this version.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BatchUpdateIngressRulesRequest": { +"description": "Request message for Firewall.BatchUpdateIngressRules.", +"id": "BatchUpdateIngressRulesRequest", +"properties": { +"ingressRules": { +"description": "A list of FirewallRules to replace the existing set.", +"items": { +"$ref": "FirewallRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUpdateIngressRulesResponse": { +"description": "Response message for Firewall.UpdateAllIngressRules.", +"id": "BatchUpdateIngressRulesResponse", +"properties": { +"ingressRules": { +"description": "The full list of ingress FirewallRules for this application.", +"items": { +"$ref": "FirewallRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"CertificateRawData": { +"description": "An SSL certificate obtained from a certificate authority.", +"id": "CertificateRawData", +"properties": { +"privateKey": { +"description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- @InputOnly", +"type": "string" +}, +"publicCertificate": { +"description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- ", +"type": "string" +} +}, +"type": "object" +}, +"CloudBuildOptions": { +"description": "Options for the build operations performed as a part of the version deployment. Only applicable for App Engine flexible environment when creating a version using source code directly.", +"id": "CloudBuildOptions", +"properties": { +"appYamlPath": { +"description": "Path to the yaml file used in deployment, used to determine runtime configuration details.Required for flexible environment builds.See https://cloud.google.com/appengine/docs/standard/python/config/appref for more details.", +"type": "string" +}, +"cloudBuildTimeout": { +"description": "The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ContainerInfo": { +"description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", +"id": "ContainerInfo", +"properties": { +"image": { +"description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", +"type": "string" +} +}, +"type": "object" +}, +"ContainerState": { +"description": "ContainerState contains the externally-visible container state that is used to communicate the state and reasoning for that state to the CLH. This data is not persisted by CCFE, but is instead derived from CCFE's internal representation of the container state.", +"id": "ContainerState", +"properties": { +"currentReasons": { +"$ref": "Reasons" +}, +"previousReasons": { +"$ref": "Reasons", +"description": "The previous and current reasons for a container state will be sent for a container event. CLHs that need to know the signal that caused the container event to trigger (edges) as opposed to just knowing the state can act upon differences in the previous and current reasons.Reasons will be provided for every system: service management, data governance, abuse, and billing.If this is a CCFE-triggered event used for reconciliation then the current reasons will be set to their *_CONTROL_PLANE_SYNC state. The previous reasons will contain the last known set of non-unknown non-control_plane_sync reasons for the state." +}, +"state": { +"description": "The current state of the container. This state is the culmination of all of the opinions from external systems that CCFE knows about of the container.", +"enum": [ +"UNKNOWN_STATE", +"ON", +"OFF", +"DELETED" +], +"enumDescriptions": [ +"A container should never be in an unknown state. Receipt of a container with this state is an error.", +"CCFE considers the container to be serving or transitioning into serving.", +"CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON/OFF/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.", +"This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached." +], +"type": "string" +} +}, +"type": "object" +}, +"CpuUtilization": { +"description": "Target scaling by CPU usage.", +"id": "CpuUtilization", +"properties": { +"aggregationWindowLength": { +"description": "Period of time over which CPU utilization is calculated.", +"format": "google-duration", +"type": "string" +}, +"targetUtilization": { +"description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1.CreateVersionRequest.", +"id": "CreateVersionMetadataV1", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1Alpha": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1alpha.CreateVersionRequest.", +"id": "CreateVersionMetadataV1Alpha", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1Beta": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1beta.CreateVersionRequest.", +"id": "CreateVersionMetadataV1Beta", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DebugInstanceRequest": { +"description": "Request message for Instances.DebugInstance.", +"id": "DebugInstanceRequest", +"properties": { +"sshKey": { +"description": "Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more information, see Adding and Removing SSH Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).", +"type": "string" +} +}, +"type": "object" +}, +"Deployment": { +"description": "Code and application artifacts used to deploy a version to App Engine.", +"id": "Deployment", +"properties": { +"cloudBuildOptions": { +"$ref": "CloudBuildOptions", +"description": "Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip." +}, +"container": { +"$ref": "ContainerInfo", +"description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." +}, +"files": { +"additionalProperties": { +"$ref": "FileInfo" +}, +"description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", +"type": "object" +}, +"zip": { +"$ref": "ZipInfo", +"description": "The zip file for this deployment, if this is a zip deployment." +} +}, +"type": "object" +}, +"DiskUtilization": { +"description": "Target scaling by disk usage. Only applicable in the App Engine flexible environment.", +"id": "DiskUtilization", +"properties": { +"targetReadBytesPerSecond": { +"description": "Target bytes read per second.", +"format": "int32", +"type": "integer" +}, +"targetReadOpsPerSecond": { +"description": "Target ops read per seconds.", +"format": "int32", +"type": "integer" +}, +"targetWriteBytesPerSecond": { +"description": "Target bytes written per second.", +"format": "int32", +"type": "integer" +}, +"targetWriteOpsPerSecond": { +"description": "Target ops written per second.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DomainMapping": { +"description": "A domain serving an App Engine application.", +"id": "DomainMapping", +"properties": { +"id": { +"description": "Relative name of the domain serving the application. Example: example.com.", +"type": "string" +}, +"name": { +"description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", +"type": "string" +}, +"resourceRecords": { +"description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", +"items": { +"$ref": "ResourceRecord" +}, +"type": "array" +}, +"sslSettings": { +"$ref": "SslSettings", +"description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL." +} +}, +"type": "object" +}, +"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); } ", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EndpointsApiService": { +"description": "Google Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy. Only valid for App Engine Flexible environment deployments.The fields here refer to the name and configuration ID of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", +"id": "EndpointsApiService", +"properties": { +"configId": { +"description": "Endpoints service configuration ID as specified by the Service Management API. For example \"2016-09-19r1\".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config_id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config_id must be omitted.", +"type": "string" +}, +"disableTraceSampling": { +"description": "Enable or disable trace sampling. By default, this is set to false for enabled.", +"type": "boolean" +}, +"name": { +"description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", +"type": "string" +}, +"rolloutStrategy": { +"description": "Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED, config_id must be omitted.", +"enum": [ +"UNSPECIFIED_ROLLOUT_STRATEGY", +"FIXED", +"MANAGED" +], +"enumDescriptions": [ +"Not specified. Defaults to FIXED.", +"Endpoints service configuration ID will be fixed to the configuration ID specified by config_id.", +"Endpoints service configuration ID will be updated with each rollout." +], +"type": "string" +} +}, +"type": "object" +}, +"Entrypoint": { +"description": "The entrypoint for the application.", +"id": "Entrypoint", +"properties": { +"shell": { +"description": "The format should be a shell command that can be fed to bash -c.", +"type": "string" +} +}, +"type": "object" +}, +"ErrorHandler": { +"description": "Custom static error page to be served when an error occurs.", +"id": "ErrorHandler", +"properties": { +"errorCode": { +"description": "Error condition this handler applies to.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"ERROR_CODE_DEFAULT", +"ERROR_CODE_OVER_QUOTA", +"ERROR_CODE_DOS_API_DENIAL", +"ERROR_CODE_TIMEOUT" +], +"enumDescriptions": [ +"Not specified. ERROR_CODE_DEFAULT is assumed.", +"All other error types.", +"Application has exceeded a resource quota.", +"Client blocked by the application's Denial of Service protection configuration.", +"Deadline reached before the application responds." +], +"type": "string" +}, +"mimeType": { +"description": "MIME type of file. Defaults to text/html.", +"type": "string" +}, +"staticFile": { +"description": "Static file content to be served for this error.", +"type": "string" +} +}, +"type": "object" +}, +"FeatureSettings": { +"description": "The feature specific settings to be used in the application. These define behaviors that are user configurable.", +"id": "FeatureSettings", +"properties": { +"splitHealthChecks": { +"description": "Boolean value indicating if split health checks should be used instead of the legacy health checks. At an app.yaml level, this means defaulting to 'readiness_check' and 'liveness_check' values instead of 'health_check' ones. Once the legacy 'health_check' behavior is deprecated, and this value is always true, this setting can be removed.", +"type": "boolean" +}, +"useContainerOptimizedOs": { +"description": "If true, use Container-Optimized OS (https://cloud.google.com/container-optimized-os/) base image for VMs, rather than a base Debian image.", +"type": "boolean" +} +}, +"type": "object" +}, +"FileInfo": { +"description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", +"id": "FileInfo", +"properties": { +"mimeType": { +"description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", +"type": "string" +}, +"sha1Sum": { +"description": "The SHA1 hash of the file, in hex.", +"type": "string" +}, +"sourceUrl": { +"description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallRule": { +"description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.", +"id": "FirewallRule", +"properties": { +"action": { +"description": "The action to take on matched requests.", +"enum": [ +"UNSPECIFIED_ACTION", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"", +"Matching requests are allowed.", +"Matching requests are denied." +], +"type": "string" +}, +"description": { +"description": "An optional string description of this rule. This field has a maximum length of 400 characters.", +"type": "string" +}, +"priority": { +"description": "A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", +"format": "int32", +"type": "integer" +}, +"sourceRange": { +"description": "IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character \"*\" to match all IPs equivalent to \"0/0\" and \"::/0\" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.", +"type": "string" +} +}, +"type": "object" +}, +"FlexibleRuntimeSettings": { +"description": "Runtime settings for the App Engine flexible environment.", +"id": "FlexibleRuntimeSettings", +"properties": { +"operatingSystem": { +"description": "The operating system of the application runtime.", +"type": "string" +}, +"runtimeVersion": { +"description": "The runtime version of an App Engine flexible application.", +"type": "string" +} +}, +"type": "object" +}, +"GceTag": { +"description": "For use only by GCE. GceTag is a wrapper around the GCE administrative tag with parent info.", +"id": "GceTag", +"properties": { +"parent": { +"description": "The parents(s) of the tag. Eg. projects/123, folders/456 It usually contains only one parent. But, in some corner cases, it can contain multiple parents. Currently, organizations are not supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tag": { +"description": "The administrative_tag name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppengineV1betaLocationMetadata": { +"description": "Metadata for the given google.cloud.location.Location.", +"id": "GoogleAppengineV1betaLocationMetadata", +"properties": { +"flexibleEnvironmentAvailable": { +"description": "App Engine flexible environment is available in the given location.@OutputOnly", +"type": "boolean" +}, +"searchApiAvailable": { +"description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", +"readOnly": true, +"type": "boolean" +}, +"standardEnvironmentAvailable": { +"description": "App Engine standard environment is available in the given location.@OutputOnly", +"type": "boolean" +} +}, +"type": "object" +}, +"HealthCheck": { +"description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", +"id": "HealthCheck", +"properties": { +"checkInterval": { +"description": "Interval between health checks.", +"format": "google-duration", +"type": "string" +}, +"disableHealthCheck": { +"description": "Whether to explicitly disable health checks for this instance.", +"type": "boolean" +}, +"healthyThreshold": { +"description": "Number of consecutive successful health checks required before receiving traffic.", +"format": "uint32", +"type": "integer" +}, +"host": { +"description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", +"type": "string" +}, +"restartThreshold": { +"description": "Number of consecutive failed health checks required before an instance is restarted.", +"format": "uint32", +"type": "integer" +}, +"timeout": { +"description": "Time before the health check is considered failed.", +"format": "google-duration", +"type": "string" +}, +"unhealthyThreshold": { +"description": "Number of consecutive failed health checks required before removing traffic.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"IdentityAwareProxy": { +"description": "Identity-Aware Proxy", +"id": "IdentityAwareProxy", +"properties": { +"enabled": { +"description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", +"type": "boolean" +}, +"oauth2ClientId": { +"description": "OAuth2 client ID to use for the authentication flow.", +"type": "string" +}, +"oauth2ClientSecret": { +"description": "OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", +"type": "string" +}, +"oauth2ClientSecretSha256": { +"description": "Output only. Hex-encoded SHA-256 hash of the client secret.@OutputOnly", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", +"id": "Instance", +"properties": { +"appEngineRelease": { +"description": "Output only. App Engine release this instance is running on.", +"readOnly": true, +"type": "string" +}, +"availability": { +"description": "Output only. Availability of the instance.", +"enum": [ +"UNSPECIFIED", +"RESIDENT", +"DYNAMIC" +], +"enumDescriptions": [ +"", +"", +"" +], +"readOnly": true, +"type": "string" +}, +"averageLatency": { +"description": "Output only. Average latency (ms) over the last minute.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"errors": { +"description": "Output only. Number of errors since this instance was started.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"id": { +"description": "Output only. Relative name of the instance within the version. Example: instance-1.", +"readOnly": true, +"type": "string" +}, +"memoryUsage": { +"description": "Output only. Total memory in use (bytes).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", +"readOnly": true, +"type": "string" +}, +"qps": { +"description": "Output only. Average queries per second (QPS) over the last minute.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"requests": { +"description": "Output only. Number of requests since this instance was started.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Output only. Time that this instance was started.@OutputOnly", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vmDebugEnabled": { +"description": "Output only. Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "boolean" +}, +"vmId": { +"description": "Output only. Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "string" +}, +"vmIp": { +"description": "Output only. The IP address of this instance. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "string" +}, +"vmLiveness": { +"description": "Output only. The liveness health check of this instance. Only applicable for instances in App Engine flexible environment.", +"enum": [ +"LIVENESS_STATE_UNSPECIFIED", +"UNKNOWN", +"HEALTHY", +"UNHEALTHY", +"DRAINING", +"TIMEOUT" +], +"enumDescriptions": [ +"There is no liveness health check for the instance. Only applicable for instances in App Engine standard environment.", +"The health checking system is aware of the instance but its health is not known at the moment.", +"The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.", +"The instance is reachable, but does not conform to the requirements defined by the health check.", +"The instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.", +"The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout." +], +"readOnly": true, +"type": "string" +}, +"vmName": { +"description": "Output only. Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "string" +}, +"vmStatus": { +"description": "Output only. Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "string" +}, +"vmZoneName": { +"description": "Output only. Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Library": { +"description": "Third-party Python runtime library that is required by the application.", +"id": "Library", +"properties": { +"name": { +"description": "Name of the library. Example: \"django\".", +"type": "string" +}, +"version": { +"description": "Version of the library to select, or \"latest\".", +"type": "string" +} +}, +"type": "object" +}, +"ListAuthorizedCertificatesResponse": { +"description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", +"id": "ListAuthorizedCertificatesResponse", +"properties": { +"certificates": { +"description": "The SSL certificates the user is authorized to administer.", +"items": { +"$ref": "AuthorizedCertificate" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListAuthorizedDomainsResponse": { +"description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", +"id": "ListAuthorizedDomainsResponse", +"properties": { +"domains": { +"description": "The authorized domains belonging to the user.", +"items": { +"$ref": "AuthorizedDomain" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListDomainMappingsResponse": { +"description": "Response message for DomainMappings.ListDomainMappings.", +"id": "ListDomainMappingsResponse", +"properties": { +"domainMappings": { +"description": "The domain mappings for the application.", +"items": { +"$ref": "DomainMapping" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListIngressRulesResponse": { +"description": "Response message for Firewall.ListIngressRules.", +"id": "ListIngressRulesResponse", +"properties": { +"ingressRules": { +"description": "The ingress FirewallRules for this application.", +"items": { +"$ref": "FirewallRule" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response message for Instances.ListInstances.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "The instances belonging to the requested version.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRuntimesResponse": { +"description": "Response message for Applications.ListRuntimes.", +"id": "ListRuntimesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"runtimes": { +"description": "The runtimes available to the requested application.", +"items": { +"$ref": "Runtime" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Response message for Services.ListServices.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"services": { +"description": "The services belonging to the requested application.", +"items": { +"$ref": "Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVersionsResponse": { +"description": "Response message for Versions.ListVersions.", +"id": "ListVersionsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"versions": { +"description": "The versions belonging to the requested service.", +"items": { +"$ref": "Version" +}, +"type": "array" +} +}, +"type": "object" +}, +"LivenessCheck": { +"description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", +"id": "LivenessCheck", +"properties": { +"checkInterval": { +"description": "Interval between health checks.", +"format": "google-duration", +"type": "string" +}, +"failureThreshold": { +"description": "Number of consecutive failed checks required before considering the VM unhealthy.", +"format": "uint32", +"type": "integer" +}, +"host": { +"description": "Host header to send when performing a HTTP Liveness check. Example: \"myapp.appspot.com\"", +"type": "string" +}, +"initialDelay": { +"description": "The initial delay before starting to execute the checks.", +"format": "google-duration", +"type": "string" +}, +"path": { +"description": "The request path.", +"type": "string" +}, +"successThreshold": { +"description": "Number of consecutive successful checks required before considering the VM healthy.", +"format": "uint32", +"type": "integer" +}, +"timeout": { +"description": "Time before the check is considered failed.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: \"us-east1\".", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", +"type": "string" +} +}, +"type": "object" +}, +"LocationMetadata": { +"description": "Metadata for the given google.cloud.location.Location.", +"id": "LocationMetadata", +"properties": { +"flexibleEnvironmentAvailable": { +"description": "App Engine flexible environment is available in the given location.@OutputOnly", +"type": "boolean" +}, +"searchApiAvailable": { +"description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", +"readOnly": true, +"type": "boolean" +}, +"standardEnvironmentAvailable": { +"description": "App Engine standard environment is available in the given location.@OutputOnly", +"type": "boolean" +} +}, +"type": "object" +}, +"ManagedCertificate": { +"description": "A certificate managed by App Engine.", +"id": "ManagedCertificate", +"properties": { +"lastRenewalTime": { +"description": "Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.@OutputOnly", +"enum": [ +"MANAGEMENT_STATUS_UNSPECIFIED", +"OK", +"PENDING", +"FAILED_RETRYING_NOT_VISIBLE", +"FAILED_PERMANENT", +"FAILED_RETRYING_CAA_FORBIDDEN", +"FAILED_RETRYING_CAA_CHECKING" +], +"enumDescriptions": [ +"", +"Certificate was successfully obtained and inserted into the serving system.", +"Certificate is under active attempts to acquire or renew.", +"Most recent renewal failed due to an invalid DNS setup and will be retried. Renewal attempts will continue to fail until the certificate domain's DNS configuration is fixed. The last successfully provisioned certificate may still be serving.", +"All renewal attempts have been exhausted, likely due to an invalid DNS setup.", +"Most recent renewal failed due to an explicit CAA record that does not include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will continue to fail until the CAA is reconfigured. The last successfully provisioned certificate may still be serving.", +"Most recent renewal failed due to a CAA retrieval failure. This means that the domain's DNS provider does not properly handle CAA records, failing requests for CAA records when no CAA records are defined. Renewals will continue to fail until the DNS provider is changed or a CAA record is added for the given domain. The last successfully provisioned certificate may still be serving." +], +"type": "string" +} +}, +"type": "object" +}, +"ManualScaling": { +"description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", +"id": "ManualScaling", +"properties": { +"instances": { +"description": "Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Network": { +"description": "Extra network settings. Only applicable in the App Engine flexible environment.", +"id": "Network", +"properties": { +"forwardedPorts": { +"description": "List of ports, or port pairs, to forward from the virtual machine to the application container. Only applicable in the App Engine flexible environment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"instanceIpMode": { +"description": "The IP mode for instances. Only applicable in the App Engine flexible environment.", +"enum": [ +"INSTANCE_IP_MODE_UNSPECIFIED", +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"Unspecified is treated as EXTERNAL.", +"Instances are created with both internal and external IP addresses.", +"Instances are created with internal IP addresses only." +], +"type": "string" +}, +"instanceTag": { +"description": "Tag to apply to the instance during creation. Only applicable in the App Engine flexible environment.", +"type": "string" +}, +"name": { +"description": "Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", +"type": "string" +}, +"sessionAffinity": { +"description": "Enable session affinity. Only applicable in the App Engine flexible environment.", +"type": "boolean" +}, +"subnetworkName": { +"description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network. If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork_name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetwork_name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkSettings": { +"description": "A NetworkSettings resource is a container for ingress settings for a version or service.", +"id": "NetworkSettings", +"properties": { +"ingressTrafficAllowed": { +"description": "The ingress settings for version or service.", +"enum": [ +"INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", +"INGRESS_TRAFFIC_ALLOWED_ALL", +"INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", +"INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB" +], +"enumDescriptions": [ +"Unspecified", +"Allow HTTP traffic from public and private sources.", +"Allow HTTP traffic from only private VPC sources.", +"Allow HTTP traffic from private VPC sources and through load balancers." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkUtilization": { +"description": "Target scaling by network usage. Only applicable in the App Engine flexible environment.", +"id": "NetworkUtilization", +"properties": { +"targetReceivedBytesPerSecond": { +"description": "Target bytes received per second.", +"format": "int32", +"type": "integer" +}, +"targetReceivedPacketsPerSecond": { +"description": "Target packets received per second.", +"format": "int32", +"type": "integer" +}, +"targetSentBytesPerSecond": { +"description": "Target bytes sent per second.", +"format": "int32", +"type": "integer" +}, +"targetSentPacketsPerSecond": { +"description": "Target packets sent per second.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadataV1": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OperationMetadataV1Alpha": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1Alpha", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1Alpha" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OperationMetadataV1Beta": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1Beta", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1Beta" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectEvent": { +"description": "The request sent to CLHs during project events.", +"id": "ProjectEvent", +"properties": { +"eventId": { +"description": "The unique ID for this project event. CLHs can use this value to dedup repeated calls. required", +"type": "string" +}, +"phase": { +"description": "Phase indicates when in the container event propagation this event is being communicated. Events are sent before and after the per-resource events are propagated. required", +"enum": [ +"CONTAINER_EVENT_PHASE_UNSPECIFIED", +"BEFORE_RESOURCE_HANDLING", +"AFTER_RESOURCE_HANDLING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"projectMetadata": { +"$ref": "ProjectsMetadata", +"description": "The projects metadata for this project. required" +}, +"state": { +"$ref": "ContainerState", +"description": "The state of the organization that led to this event." +} +}, +"type": "object" +}, +"ProjectsMetadata": { +"description": "ProjectsMetadata is the metadata CCFE stores about the all the relevant projects (tenant, consumer, producer).", +"id": "ProjectsMetadata", +"properties": { +"consumerProjectId": { +"description": "The consumer project id.", +"type": "string" +}, +"consumerProjectNumber": { +"description": "The consumer project number.", +"format": "int64", +"type": "string" +}, +"consumerProjectState": { +"description": "The CCFE state of the consumer project. It is the same state that is communicated to the CLH during project events. Notice that this field is not set in the DB, it is only set in this proto when communicated to CLH in the side channel.", +"enum": [ +"UNKNOWN_STATE", +"ON", +"OFF", +"DELETED" +], +"enumDescriptions": [ +"A container should never be in an unknown state. Receipt of a container with this state is an error.", +"CCFE considers the container to be serving or transitioning into serving.", +"CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON/OFF/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.", +"This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached." +], +"type": "string" +}, +"gceTag": { +"description": "The GCE tags associated with the consumer project and those inherited due to their ancestry, if any. Not supported by CCFE.", +"items": { +"$ref": "GceTag" +}, +"type": "array" +}, +"p4ServiceAccount": { +"description": "The service account authorized to operate on the consumer project. Note: CCFE only propagates P4SA with default tag to CLH.", +"type": "string" +}, +"producerProjectId": { +"description": "The producer project id.", +"type": "string" +}, +"producerProjectNumber": { +"description": "The producer project number.", +"format": "int64", +"type": "string" +}, +"tenantProjectId": { +"description": "The tenant project id.", +"type": "string" +}, +"tenantProjectNumber": { +"description": "The tenant project number.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReadinessCheck": { +"description": "Readiness checking configuration for VM instances. Unhealthy instances are removed from traffic rotation.", +"id": "ReadinessCheck", +"properties": { +"appStartTimeout": { +"description": "A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic.", +"format": "google-duration", +"type": "string" +}, +"checkInterval": { +"description": "Interval between health checks.", +"format": "google-duration", +"type": "string" +}, +"failureThreshold": { +"description": "Number of consecutive failed checks required before removing traffic.", +"format": "uint32", +"type": "integer" +}, +"host": { +"description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"", +"type": "string" +}, +"path": { +"description": "The request path.", +"type": "string" +}, +"successThreshold": { +"description": "Number of consecutive successful checks required before receiving traffic.", +"format": "uint32", +"type": "integer" +}, +"timeout": { +"description": "Time before the check is considered failed.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Reasons": { +"description": "Containers transition between and within states based on reasons sent from various systems. CCFE will provide the CLH with reasons for the current state per system.The current systems that CCFE supports are: Service Management (Inception) Data Governance (Wipeout) Abuse (Ares) Billing (Internal Cloud Billing API) Service Activation (Service Controller)", +"id": "Reasons", +"properties": { +"abuse": { +"enum": [ +"ABUSE_UNKNOWN_REASON", +"ABUSE_CONTROL_PLANE_SYNC", +"SUSPEND", +"REINSTATE" +], +"enumDescriptions": [ +"An unknown reason indicates that the abuse system has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"If a container is deemed abusive we receive a suspend signal. Suspend is a reason to put the container into an INTERNAL_OFF state.", +"Containers that were once considered abusive can later be deemed non-abusive. When this happens we must reinstate the container. Reinstate is a reason to put the container into an ON state." +], +"type": "string" +}, +"billing": { +"enum": [ +"BILLING_UNKNOWN_REASON", +"BILLING_CONTROL_PLANE_SYNC", +"PROBATION", +"CLOSE", +"OPEN" +], +"enumDescriptions": [ +"An unknown reason indicates that the billing system has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"Minor infractions cause a probation signal to be sent. Probation is a reason to put the container into a ON state even though it is a negative signal. CCFE will block mutations for this container while it is on billing probation, but the CLH is expected to serve non-mutation requests.", +"When a billing account is closed, it is a stronger signal about non-payment. Close is a reason to put the container into an INTERNAL_OFF state.", +"Consumers can re-open billing accounts and update accounts to pull them out of probation. When this happens, we get a signal that the account is open. Open is a reason to put the container into an ON state." +], +"type": "string" +}, +"dataGovernance": { +"enum": [ +"DATA_GOVERNANCE_UNKNOWN_REASON", +"DATA_GOVERNANCE_CONTROL_PLANE_SYNC", +"HIDE", +"UNHIDE", +"PURGE" +], +"enumDescriptions": [ +"An unknown reason indicates that data governance has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"When a container is deleted we retain some data for a period of time to allow the consumer to change their mind. Data governance sends a signal to hide the data when this occurs. Hide is a reason to put the container in an INTERNAL_OFF state.", +"The decision to un-delete a container can be made. When this happens data governance tells us to unhide any hidden data. Unhide is a reason to put the container in an ON state.", +"After a period of time data must be completely removed from our systems. When data governance sends a purge signal we need to remove data. Purge is a reason to put the container in a DELETED state. Purge is the only event that triggers a delete mutation. All other events have update semantics." +], +"type": "string" +}, +"serviceActivation": { +"description": "Consumer Container denotes if the service is active within a project or not. This information could be used to clean up resources in case service in DISABLED_FULL i.e. Service is inactive > 30 days.", +"enum": [ +"SERVICE_ACTIVATION_STATUS_UNSPECIFIED", +"SERVICE_ACTIVATION_ENABLED", +"SERVICE_ACTIVATION_DISABLED", +"SERVICE_ACTIVATION_DISABLED_FULL", +"SERVICE_ACTIVATION_UNKNOWN_REASON" +], +"enumDescriptions": [ +"Default Unspecified status", +"Service is active in the project.", +"Service is disabled in the project recently i.e., within last 24 hours.", +"Service has been disabled for configured grace_period (default 30 days).", +"Happens when PSM cannot determine the status of service in a project Could happen due to variety of reasons like PERMISSION_DENIED or Project got deleted etc." +], +"type": "string" +}, +"serviceManagement": { +"enum": [ +"SERVICE_MANAGEMENT_UNKNOWN_REASON", +"SERVICE_MANAGEMENT_CONTROL_PLANE_SYNC", +"ACTIVATION", +"PREPARE_DEACTIVATION", +"ABORT_DEACTIVATION", +"COMMIT_DEACTIVATION" +], +"enumDeprecated": [ +false, +false, +true, +true, +true, +true +], +"enumDescriptions": [ +"An unknown reason indicates that we have not received a signal from service management about this container. Since containers are created by request of service management, this reason should never be set.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"When a customer activates an API CCFE notifies the CLH and sets the container to the ON state.", +"When a customer deactivates and API service management starts a two-step process to perform the deactivation. The first step is to prepare. Prepare is a reason to put the container in a EXTERNAL_OFF state.", +"If the deactivation is cancelled, service managed needs to abort the deactivation. Abort is a reason to put the container in an ON state.", +"If the deactivation is followed through with, service management needs to finish deactivation. Commit is a reason to put the container in a DELETED state." +], +"type": "string" +} +}, +"type": "object" +}, +"RepairApplicationRequest": { +"description": "Request message for 'Applications.RepairApplication'.", +"id": "RepairApplicationRequest", +"properties": {}, +"type": "object" +}, +"RequestUtilization": { +"description": "Target scaling by request utilization. Only applicable in the App Engine flexible environment.", +"id": "RequestUtilization", +"properties": { +"targetConcurrentRequests": { +"description": "Target number of concurrent requests.", +"format": "int32", +"type": "integer" +}, +"targetRequestCountPerSecond": { +"description": "Target requests per second.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourceEvent": { +"description": "The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.", +"id": "ResourceEvent", +"properties": { +"eventId": { +"description": "The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required", +"type": "string" +}, +"name": { +"description": "The name of the resource for which this event is. required", +"type": "string" +}, +"state": { +"$ref": "ContainerState", +"description": "The state of the project that led to this event." +} +}, +"type": "object" +}, +"ResourceRecord": { +"description": "A DNS resource record.", +"id": "ResourceRecord", +"properties": { +"name": { +"description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", +"type": "string" +}, +"rrdata": { +"description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", +"type": "string" +}, +"type": { +"description": "Resource record type. Example: AAAA.", +"enum": [ +"RECORD_TYPE_UNSPECIFIED", +"A", +"AAAA", +"CNAME" +], +"enumDescriptions": [ +"An unknown resource record.", +"An A resource record. Data is an IPv4 address.", +"An AAAA resource record. Data is an IPv6 address.", +"A CNAME resource record. Data is a domain name to be aliased." +], +"type": "string" +} +}, +"type": "object" +}, +"Resources": { +"description": "Machine resources for a version.", +"id": "Resources", +"properties": { +"cpu": { +"description": "Number of CPU cores needed.", +"format": "double", +"type": "number" +}, +"diskGb": { +"description": "Disk size (GB) needed.", +"format": "double", +"type": "number" +}, +"kmsKeyReference": { +"description": "The name of the encryption key that is stored in Google Cloud KMS. Only should be used by Cloud Composer to encrypt the vm disk", +"type": "string" +}, +"memoryGb": { +"description": "Memory (GB) needed.", +"format": "double", +"type": "number" +}, +"volumes": { +"description": "User specified volumes.", +"items": { +"$ref": "Volume" +}, +"type": "array" +} +}, +"type": "object" +}, +"Runtime": { +"description": "Runtime versions for App Engine.", +"id": "Runtime", +"properties": { +"decommissionedDate": { +"$ref": "Date", +"description": "Date when Runtime is decommissioned." +}, +"deprecationDate": { +"$ref": "Date", +"description": "Date when Runtime is deprecated." +}, +"displayName": { +"description": "User-friendly display name, e.g. 'Node.js 12', etc.", +"type": "string" +}, +"endOfSupportDate": { +"$ref": "Date", +"description": "Date when Runtime is end of support." +}, +"environment": { +"description": "The environment of the runtime.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"STANDARD", +"FLEXIBLE" +], +"enumDescriptions": [ +"Default value.", +"App Engine Standard.", +"App Engine Flexible" +], +"type": "string" +}, +"name": { +"description": "The name of the runtime, e.g., 'go113', 'nodejs12', etc.", +"type": "string" +}, +"stage": { +"description": "The stage of life this runtime is in, e.g., BETA, GA, etc.", +"enum": [ +"RUNTIME_STAGE_UNSPECIFIED", +"DEVELOPMENT", +"ALPHA", +"BETA", +"GA", +"DEPRECATED", +"DECOMMISSIONED", +"END_OF_SUPPORT" +], +"enumDescriptions": [ +"Not specified.", +"The runtime is in development.", +"The runtime is in the Alpha stage.", +"The runtime is in the Beta stage.", +"The runtime is generally available.", +"The runtime is deprecated.", +"The runtime is no longer supported.", +"The runtime is end of support." +], +"type": "string" +}, +"supportedOperatingSystems": { +"description": "Supported operating systems for the runtime, e.g., 'ubuntu22', etc.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warnings": { +"description": "Warning messages, e.g., a deprecation warning.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ScriptHandler": { +"description": "Executes a script to handle the request that matches the URL pattern.", +"id": "ScriptHandler", +"properties": { +"scriptPath": { +"description": "Path to the script from the application root directory.", +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", +"id": "Service", +"properties": { +"generatedCustomerMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest", +"type": "object" +}, +"id": { +"description": "Output only. Relative name of the service within the application. Example: default.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., \"env=prod\", \"env=qa\"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.", +"type": "object" +}, +"name": { +"description": "Output only. Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"networkSettings": { +"$ref": "NetworkSettings", +"description": "Ingress settings for this service. Will apply to all versions." +}, +"split": { +"$ref": "TrafficSplit", +"description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service." +} +}, +"type": "object" +}, +"SslSettings": { +"description": "SSL configuration for a DomainMapping resource.", +"id": "SslSettings", +"properties": { +"certificateId": { +"description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.", +"type": "string" +}, +"pendingManagedCertificateId": { +"description": "ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", +"type": "string" +}, +"sslManagementType": { +"description": "SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.", +"enum": [ +"SSL_MANAGEMENT_TYPE_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Defaults to AUTOMATIC.", +"SSL support for this domain is configured automatically. The mapped SSL certificate will be automatically renewed.", +"SSL support for this domain is configured manually by the user. Either the domain has no SSL support or a user-obtained SSL certificate has been explictly mapped to this domain." +], +"type": "string" +} +}, +"type": "object" +}, +"StandardSchedulerSettings": { +"description": "Scheduler settings for standard environment.", +"id": "StandardSchedulerSettings", +"properties": { +"maxInstances": { +"description": "Maximum number of instances to run for this version. Set to zero to disable max_instances configuration.", +"format": "int32", +"type": "integer" +}, +"minInstances": { +"description": "Minimum number of instances to run for this version. Set to zero to disable min_instances configuration.", +"format": "int32", +"type": "integer" +}, +"targetCpuUtilization": { +"description": "Target CPU utilization ratio to maintain when scaling.", +"format": "double", +"type": "number" +}, +"targetThroughputUtilization": { +"description": "Target throughput utilization ratio to maintain when scaling", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"StaticFilesHandler": { +"description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", +"id": "StaticFilesHandler", +"properties": { +"applicationReadable": { +"description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", +"type": "boolean" +}, +"expiration": { +"description": "Time a static file served by this handler should be cached by web proxies and browsers.", +"format": "google-duration", +"type": "string" +}, +"httpHeaders": { +"additionalProperties": { +"type": "string" +}, +"description": "HTTP headers to use for all responses from these URLs.", +"type": "object" +}, +"mimeType": { +"description": "MIME type used to serve all files served by this handler.Defaults to file-specific MIME types, which are derived from each file's filename extension.", +"type": "string" +}, +"path": { +"description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", +"type": "string" +}, +"requireMatchingFile": { +"description": "Whether this handler should match the request if the file referenced by the handler does not exist.", +"type": "boolean" +}, +"uploadPathRegex": { +"description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"TrafficSplit": { +"description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", +"id": "TrafficSplit", +"properties": { +"allocations": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", +"type": "object" +}, +"shardBy": { +"description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", +"enum": [ +"UNSPECIFIED", +"COOKIE", +"IP", +"RANDOM" +], +"enumDescriptions": [ +"Diversion method unspecified.", +"Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or no diversion will occur.", +"Diversion based on applying the modulus operation to a fingerprint of the IP address.", +"Diversion based on weighted random assignment. An incoming request is randomly routed to a version in the traffic split, with probability proportional to the version's traffic share." +], +"type": "string" +} +}, +"type": "object" +}, +"UrlDispatchRule": { +"description": "Rules to match an HTTP request and dispatch that request to a service.", +"id": "UrlDispatchRule", +"properties": { +"domain": { +"description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", +"type": "string" +}, +"path": { +"description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.", +"type": "string" +}, +"service": { +"description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMap": { +"description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.", +"id": "UrlMap", +"properties": { +"apiEndpoint": { +"$ref": "ApiEndpointHandler", +"description": "Uses API Endpoints to handle requests." +}, +"authFailAction": { +"description": "Action to take when users access resources that require authentication. Defaults to redirect.", +"enum": [ +"AUTH_FAIL_ACTION_UNSPECIFIED", +"AUTH_FAIL_ACTION_REDIRECT", +"AUTH_FAIL_ACTION_UNAUTHORIZED" +], +"enumDescriptions": [ +"Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", +"Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", +"Rejects request with a 401 HTTP status code and an error message." +], +"type": "string" +}, +"login": { +"description": "Level of login required to access this resource. Not supported for Node.js in the App Engine standard environment.", +"enum": [ +"LOGIN_UNSPECIFIED", +"LOGIN_OPTIONAL", +"LOGIN_ADMIN", +"LOGIN_REQUIRED" +], +"enumDescriptions": [ +"Not specified. LOGIN_OPTIONAL is assumed.", +"Does not require that the user is signed in.", +"If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", +"If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." +], +"type": "string" +}, +"redirectHttpResponseCode": { +"description": "30x code to use when performing redirects for the secure field. Defaults to 302.", +"enum": [ +"REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", +"REDIRECT_HTTP_RESPONSE_CODE_301", +"REDIRECT_HTTP_RESPONSE_CODE_302", +"REDIRECT_HTTP_RESPONSE_CODE_303", +"REDIRECT_HTTP_RESPONSE_CODE_307" +], +"enumDescriptions": [ +"Not specified. 302 is assumed.", +"301 Moved Permanently code.", +"302 Moved Temporarily code.", +"303 See Other code.", +"307 Temporary Redirect code." +], +"type": "string" +}, +"script": { +"$ref": "ScriptHandler", +"description": "Executes a script to handle the requests that match this URL pattern. Only the auto value is supported for Node.js in the App Engine standard environment, for example \"script\": \"auto\"." +}, +"securityLevel": { +"description": "Security (HTTPS) enforcement for this URL.", +"enum": [ +"SECURE_UNSPECIFIED", +"SECURE_DEFAULT", +"SECURE_NEVER", +"SECURE_OPTIONAL", +"SECURE_ALWAYS" +], +"enumDescriptions": [ +"Not specified.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", +"Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", +"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." +], +"type": "string" +}, +"staticFiles": { +"$ref": "StaticFilesHandler", +"description": "Returns the contents of a file, such as an image, as the response." +}, +"urlRegex": { +"description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", +"type": "string" +} +}, +"type": "object" +}, +"Version": { +"description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", +"id": "Version", +"properties": { +"apiConfig": { +"$ref": "ApiConfigHandler", +"deprecated": true, +"description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/endpoints).Only returned in GET requests if view=FULL is set." +}, +"appEngineApis": { +"description": "Allows App Engine second generation runtimes to access the legacy bundled services.", +"type": "boolean" +}, +"automaticScaling": { +"$ref": "AutomaticScaling", +"description": "Automatic scaling is based on request rate, response latencies, and other application metrics. Instances are dynamically created and destroyed as needed in order to handle traffic." +}, +"basicScaling": { +"$ref": "BasicScaling", +"description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity." +}, +"betaSettings": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata settings that are supplied to this version to enable beta runtime features.", +"type": "object" +}, +"buildEnvVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set.", +"type": "object" +}, +"createTime": { +"description": "Time that this version was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"createdBy": { +"description": "Output only. Email address of the user who created this version.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"defaultExpiration": { +"description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set.", +"format": "google-duration", +"type": "string" +}, +"deployment": { +"$ref": "Deployment", +"description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set." +}, +"diskUsageBytes": { +"description": "Output only. Total size in bytes of all the files that are included in this version and currently hosted on the App Engine disk.@OutputOnly", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"endpointsApiService": { +"$ref": "EndpointsApiService", +"description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app." +}, +"entrypoint": { +"$ref": "Entrypoint", +"description": "The entrypoint for the application." +}, +"env": { +"description": "App Engine execution environment for this version.Defaults to standard.", +"type": "string" +}, +"envVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set.", +"type": "object" +}, +"errorHandlers": { +"description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.", +"items": { +"$ref": "ErrorHandler" +}, +"type": "array" +}, +"flexibleRuntimeSettings": { +"$ref": "FlexibleRuntimeSettings", +"description": "Settings for App Engine flexible runtimes." +}, +"generatedCustomerMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest", +"type": "object" +}, +"handlers": { +"description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"healthCheck": { +"$ref": "HealthCheck", +"description": "Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment." +}, +"id": { +"description": "Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".", +"type": "string" +}, +"inboundServices": { +"description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", +"items": { +"enum": [ +"INBOUND_SERVICE_UNSPECIFIED", +"INBOUND_SERVICE_MAIL", +"INBOUND_SERVICE_MAIL_BOUNCE", +"INBOUND_SERVICE_XMPP_ERROR", +"INBOUND_SERVICE_XMPP_MESSAGE", +"INBOUND_SERVICE_XMPP_SUBSCRIBE", +"INBOUND_SERVICE_XMPP_PRESENCE", +"INBOUND_SERVICE_CHANNEL_PRESENCE", +"INBOUND_SERVICE_WARMUP" +], +"enumDescriptions": [ +"Not specified.", +"Allows an application to receive mail.", +"Allows an application to receive email-bound notifications.", +"Allows an application to receive error stanzas.", +"Allows an application to receive instant messages.", +"Allows an application to receive user subscription POSTs.", +"Allows an application to receive a user's chat presence.", +"Registers an application for notifications when a client connects or disconnects from a channel.", +"Enables warmup requests." +], +"type": "string" +}, +"type": "array" +}, +"instanceClass": { +"description": "Instance class that is used to run this version. Valid values are: AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", +"type": "string" +}, +"libraries": { +"description": "Configuration for third-party Python runtime libraries that are required by the application.Only returned in GET requests if view=FULL is set.", +"items": { +"$ref": "Library" +}, +"type": "array" +}, +"livenessCheck": { +"$ref": "LivenessCheck", +"description": "Configures liveness health checking for instances. Unhealthy instances are stopped and replaced with new instances" +}, +"manualScaling": { +"$ref": "ManualScaling", +"description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Manually scaled versions are sometimes referred to as \"backends\"." +}, +"name": { +"description": "Output only. Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", +"readOnly": true, +"type": "string" +}, +"network": { +"$ref": "Network", +"description": "Extra network settings. Only applicable in the App Engine flexible environment." +}, +"nobuildFilesRegex": { +"description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.", +"type": "string" +}, +"readinessCheck": { +"$ref": "ReadinessCheck", +"description": "Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation." +}, +"resources": { +"$ref": "Resources", +"description": "Machine resources for this version. Only applicable in the App Engine flexible environment." +}, +"runtime": { +"description": "Desired runtime. Example: python27.", +"type": "string" +}, +"runtimeApiVersion": { +"description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref", +"type": "string" +}, +"runtimeChannel": { +"description": "The channel of the runtime to use. Only available for some runtimes. Defaults to the default channel.", +"type": "string" +}, +"runtimeMainExecutablePath": { +"description": "The path or name of the app's main executable.", +"type": "string" +}, +"serviceAccount": { +"description": "The identity that the deployed version will run as. Admin API will use the App Engine Appspot service account as default if this field is neither provided in app.yaml file nor through CLI flag.", +"type": "string" +}, +"servingStatus": { +"description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", +"enum": [ +"SERVING_STATUS_UNSPECIFIED", +"SERVING", +"STOPPED" +], +"enumDescriptions": [ +"Not specified.", +"Currently serving. Instances are created according to the scaling settings of the version.", +"Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." +], +"type": "string" +}, +"threadsafe": { +"description": "Whether multiple requests can be dispatched to this version at once.", +"type": "boolean" +}, +"versionUrl": { +"description": "Output only. Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\"@OutputOnly", +"readOnly": true, +"type": "string" +}, +"vm": { +"description": "Whether to deploy this version in a container on a virtual machine.", +"type": "boolean" +}, +"vpcAccessConnector": { +"$ref": "VpcAccessConnector", +"description": "Enables VPC connectivity for standard apps." +}, +"zones": { +"description": "The Google Compute Engine zones that are supported by this version in the App Engine flexible environment. Deprecated.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Volume": { +"description": "Volumes mounted within the app container. Only applicable in the App Engine flexible environment.", +"id": "Volume", +"properties": { +"name": { +"description": "Unique name for the volume.", +"type": "string" +}, +"sizeGb": { +"description": "Volume size in gigabytes.", +"format": "double", +"type": "number" +}, +"volumeType": { +"description": "Underlying volume type, e.g. 'tmpfs'.", +"type": "string" +} +}, +"type": "object" +}, +"VpcAccessConnector": { +"description": "VPC access connector specification.", +"id": "VpcAccessConnector", +"properties": { +"egressSetting": { +"description": "The egress setting for the connector, controlling what traffic is diverted through it.", +"enum": [ +"EGRESS_SETTING_UNSPECIFIED", +"ALL_TRAFFIC", +"PRIVATE_IP_RANGES" +], +"enumDescriptions": [ +"", +"Force the use of VPC Access for all egress traffic from the function.", +"Use the VPC Access Connector for private IP space from RFC1918." +], +"type": "string" +}, +"name": { +"description": "Full Serverless VPC Access Connector name e.g. projects/my-project/locations/us-central1/connectors/c1.", +"type": "string" +} +}, +"type": "object" +}, +"ZipInfo": { +"description": "The zip file information for a zip deployment.", +"id": "ZipInfo", +"properties": { +"filesCount": { +"description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.", +"format": "int32", +"type": "integer" +}, +"sourceUrl": { +"description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "App Engine Admin API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..11a06ae10074490033c10c9d6742d5ad086aa109 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json @@ -0,0 +1,3953 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://baremetalsolution.googleapis.com/", +"batchPath": "batch", +"description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/bare-metal", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "baremetalsolution:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://baremetalsolution.mtls.googleapis.com/", +"name": "baremetalsolution", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"detachLun": { +"description": "Detach LUN from Instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:detachLun", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.detachLun", +"parameterOrder": [ +"instance" +], +"parameters": { +"instance": { +"description": "Required. Name of the instance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+instance}:detachLun", +"request": { +"$ref": "DetachLunRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disableHyperthreading": { +"description": "Perform disable hyperthreading operation on a single server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:disableHyperthreading", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.disableHyperthreading", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the instance. Format: projects/{project}/locations/{location}/instances/{instance}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:disableHyperthreading", +"request": { +"$ref": "DisableHyperthreadingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disableInteractiveSerialConsole": { +"description": "Disable the interactive serial console feature on an instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:disableInteractiveSerialConsole", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.disableInteractiveSerialConsole", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:disableInteractiveSerialConsole", +"request": { +"$ref": "DisableInteractiveSerialConsoleRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableHyperthreading": { +"description": "Perform enable hyperthreading operation on a single server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:enableHyperthreading", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.enableHyperthreading", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the instance. Format: projects/{project}/locations/{location}/instances/{instance}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:enableHyperthreading", +"request": { +"$ref": "EnableHyperthreadingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableInteractiveSerialConsole": { +"description": "Enable the interactive serial console feature on an instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:enableInteractiveSerialConsole", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.enableInteractiveSerialConsole", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:enableInteractiveSerialConsole", +"request": { +"$ref": "EnableInteractiveSerialConsoleRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get details about a single server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List servers in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListInstancesRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"loadAuthInfo": { +"description": "Load auth info for a server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:loadAuthInfo", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.instances.loadAuthInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the server.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:loadAuthInfo", +"response": { +"$ref": "LoadInstanceAuthInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update details of a single server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "baremetalsolution.projects.locations.instances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. The currently supported fields are: `labels` `hyperthreading_enabled` `os_image` `ssh_keys` `kms_key_version`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reimage": { +"description": "Perform reimage operation on a single server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reimage", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.reimage", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the instance. Format: projects/{project}/locations/{location}/instances/{instance}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:reimage", +"request": { +"$ref": "ReimageInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "RenameInstance sets a new name for an instance. Use with caution, previous names become immediately invalidated.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rename", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the instance. Format: projects/{project}/locations/{location}/instances/{instance}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rename", +"request": { +"$ref": "RenameInstanceRequest" +}, +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reset": { +"description": "Perform an ungraceful, hard reset on a server. Equivalent to shutting the power off and then turning it back on.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reset", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.reset", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:reset", +"request": { +"$ref": "ResetInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a server that was shutdown.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:start", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:start", +"request": { +"$ref": "StartInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stop a running server.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:stop", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.instances.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:stop", +"request": { +"$ref": "StopInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"networks": { +"methods": { +"get": { +"description": "Get details of a single network.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks/{networksId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.networks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Network" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List network in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.networks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListNetworksRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/networks", +"response": { +"$ref": "ListNetworksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listNetworkUsage": { +"description": "List all Networks (and used IPs for each Network) in the vendor account associated with the specified project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks:listNetworkUsage", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.networks.listNetworkUsage", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Parent value (project and location).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+location}/networks:listNetworkUsage", +"response": { +"$ref": "ListNetworkUsageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update details of a single network.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks/{networksId}", +"httpMethod": "PATCH", +"id": "baremetalsolution.projects.locations.networks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. The only currently supported fields are: `labels`, `reservations`, `vrf.vlan_attachments`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "RenameNetwork sets a new name for a network. Use with caution, previous names become immediately invalidated.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks/{networksId}:rename", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.networks.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the network. Format: projects/{project}/locations/{location}/networks/{network}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rename", +"request": { +"$ref": "RenameNetworkRequest" +}, +"response": { +"$ref": "Network" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"nfsShares": { +"methods": { +"create": { +"description": "Create an NFS share.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.nfsShares.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent project and location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/nfsShares", +"request": { +"$ref": "NfsShare" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete an NFS share. The underlying volume is automatically deleted.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}", +"httpMethod": "DELETE", +"id": "baremetalsolution.projects.locations.nfsShares.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NFS share to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get details of a single NFS share.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.nfsShares.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "NfsShare" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List NFS shares.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.nfsShares.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListNfsSharesRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/nfsShares", +"response": { +"$ref": "ListNfsSharesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update details of a single NFS share.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}", +"httpMethod": "PATCH", +"id": "baremetalsolution.projects.locations.nfsShares.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The name of the NFS share.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. The only currently supported fields are: `labels` `allowed_clients`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "NfsShare" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "RenameNfsShare sets a new name for an nfsshare. Use with caution, previous names become immediately invalidated.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}:rename", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.nfsShares.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the nfsshare. Format: projects/{project}/locations/{location}/nfsshares/{nfsshare}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rename", +"request": { +"$ref": "RenameNfsShareRequest" +}, +"response": { +"$ref": "NfsShare" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Get details about an operation.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"osImages": { +"methods": { +"get": { +"description": "Get details of a single OS image.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/osImages/{osImagesId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.osImages.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the OS image.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/osImages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "OSImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieves the list of OS images which are currently approved.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/osImages", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.osImages.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. Notice that page_size field is not supported and won't be respected in the API request for now, will be updated when pagination is supported.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListOSImagesRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/osImages", +"response": { +"$ref": "ListOSImagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"provisioningConfigs": { +"methods": { +"create": { +"description": "Create new ProvisioningConfig.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningConfigs", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.provisioningConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"email": { +"description": "Optional. Email provided to send a confirmation with provisioning config to.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project and location containing the ProvisioningConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/provisioningConfigs", +"request": { +"$ref": "ProvisioningConfig" +}, +"response": { +"$ref": "ProvisioningConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get ProvisioningConfig by name.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningConfigs/{provisioningConfigsId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.provisioningConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the ProvisioningConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/provisioningConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "ProvisioningConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update existing ProvisioningConfig.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningConfigs/{provisioningConfigsId}", +"httpMethod": "PATCH", +"id": "baremetalsolution.projects.locations.provisioningConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"email": { +"description": "Optional. Email provided to send a confirmation with provisioning config to.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Output only. The system-generated name of the provisioning config. This follows the UUID format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/provisioningConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "ProvisioningConfig" +}, +"response": { +"$ref": "ProvisioningConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"submit": { +"description": "Submit a provisiong configuration for a given project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningConfigs:submit", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.provisioningConfigs.submit", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent project and location containing the ProvisioningConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/provisioningConfigs:submit", +"request": { +"$ref": "SubmitProvisioningConfigRequest" +}, +"response": { +"$ref": "SubmitProvisioningConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"provisioningQuotas": { +"methods": { +"list": { +"description": "List the budget details to provision resources on a given project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningQuotas", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.provisioningQuotas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. Notice that page_size field is not supported and won't be respected in the API request for now, will be updated when pagination is supported.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListProvisioningQuotasRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/provisioningQuotas", +"response": { +"$ref": "ListProvisioningQuotasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sshKeys": { +"methods": { +"create": { +"description": "Register a public SSH key in the specified project for use with the interactive serial console feature.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/sshKeys", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.sshKeys.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent containing the SSH keys.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"sshKeyId": { +"description": "Required. The ID to use for the key, which will become the final component of the key's resource name. This value must match the regex: [a-zA-Z0-9@.\\-_]{1,64}", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/sshKeys", +"request": { +"$ref": "SSHKey" +}, +"response": { +"$ref": "SSHKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a public SSH key registered in the specified project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/sshKeys/{sshKeysId}", +"httpMethod": "DELETE", +"id": "baremetalsolution.projects.locations.sshKeys.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SSH key to delete. Currently, the only valid value for the location is \"global\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sshKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the public SSH keys registered for the specified project. These SSH keys are used only for the interactive serial console feature.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/sshKeys", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.sshKeys.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent containing the SSH keys. Currently, the only valid value for the location is \"global\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sshKeys", +"response": { +"$ref": "ListSSHKeysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"volumes": { +"methods": { +"evict": { +"description": "Skips volume's cooloff and deletes it now. Volume must be in cooloff state.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:evict", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.evict", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Volume.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:evict", +"request": { +"$ref": "EvictVolumeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get details of a single storage volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Volume" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List storage volumes in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListVolumesRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/volumes", +"response": { +"$ref": "ListVolumesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update details of a single storage volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", +"httpMethod": "PATCH", +"id": "baremetalsolution.projects.locations.volumes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. The only currently supported fields are: 'labels'", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Volume" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "RenameVolume sets a new name for a volume. Use with caution, previous names become immediately invalidated.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:rename", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `name` field is used to identify the volume. Format: projects/{project}/locations/{location}/volumes/{volume}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rename", +"request": { +"$ref": "RenameVolumeRequest" +}, +"response": { +"$ref": "Volume" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resize": { +"description": "Emergency Volume resize.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:resize", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.resize", +"parameterOrder": [ +"volume" +], +"parameters": { +"volume": { +"description": "Required. Volume to resize.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+volume}:resize", +"request": { +"$ref": "ResizeVolumeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"luns": { +"methods": { +"evict": { +"description": "Skips lun's cooloff and deletes it now. Lun must be in cooloff state.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/luns/{lunsId}:evict", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.luns.evict", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the lun.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/luns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:evict", +"request": { +"$ref": "EvictLunRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get details of a single storage logical unit number(LUN).", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/luns/{lunsId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.luns.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/luns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Lun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List storage volume luns for given storage volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/luns", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.luns.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListLunsRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/luns", +"response": { +"$ref": "ListLunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"snapshots": { +"methods": { +"create": { +"description": "Takes a snapshot of a boot volume. Returns INVALID_ARGUMENT if called for a non-boot volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.snapshots.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The volume to snapshot.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/snapshots", +"request": { +"$ref": "VolumeSnapshot" +}, +"response": { +"$ref": "VolumeSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a volume snapshot. Returns INVALID_ARGUMENT if called for a non-boot volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", +"httpMethod": "DELETE", +"id": "baremetalsolution.projects.locations.volumes.snapshots.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the snapshot to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the specified snapshot resource. Returns INVALID_ARGUMENT if called for a non-boot volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.snapshots.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the snapshot.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "VolumeSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieves the list of snapshots for the specified volume. Returns a response with an empty list of snapshots if called for a non-boot volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", +"httpMethod": "GET", +"id": "baremetalsolution.projects.locations.volumes.snapshots.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results from the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListVolumesRequest.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/snapshots", +"response": { +"$ref": "ListVolumeSnapshotsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restoreVolumeSnapshot": { +"description": "Uses the specified snapshot to restore its parent volume. Returns INVALID_ARGUMENT if called for a non-boot volume.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}:restoreVolumeSnapshot", +"httpMethod": "POST", +"id": "baremetalsolution.projects.locations.volumes.snapshots.restoreVolumeSnapshot", +"parameterOrder": [ +"volumeSnapshot" +], +"parameters": { +"volumeSnapshot": { +"description": "Required. Name of the snapshot which will be used to restore its parent volume.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+volumeSnapshot}:restoreVolumeSnapshot", +"request": { +"$ref": "RestoreVolumeSnapshotRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240830", +"rootUrl": "https://baremetalsolution.googleapis.com/", +"schemas": { +"AllowedClient": { +"description": "Represents an 'access point' for the share.", +"id": "AllowedClient", +"properties": { +"allowDev": { +"description": "Allow dev flag. Which controls whether to allow creation of devices.", +"type": "boolean" +}, +"allowSuid": { +"description": "Allow the setuid flag.", +"type": "boolean" +}, +"allowedClientsCidr": { +"description": "The subnet of IP addresses permitted to access the share.", +"type": "string" +}, +"mountPermissions": { +"description": "Mount permissions.", +"enum": [ +"MOUNT_PERMISSIONS_UNSPECIFIED", +"READ", +"READ_WRITE" +], +"enumDescriptions": [ +"Permissions were not specified.", +"NFS share can be mount with read-only permissions.", +"NFS share can be mount with read-write permissions." +], +"type": "string" +}, +"network": { +"description": "The network the access point sits on.", +"type": "string" +}, +"nfsPath": { +"description": "Output only. The path to access NFS, in format shareIP:/InstanceID InstanceID is the generated ID instead of customer provided name. example like \"10.0.0.0:/g123456789-nfs001\"", +"readOnly": true, +"type": "string" +}, +"noRootSquash": { +"description": "Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.", +"type": "boolean" +}, +"shareIp": { +"description": "Output only. The IP address of the share on this network. Assigned automatically during provisioning based on the network's services_cidr.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DetachLunRequest": { +"description": "Message for detach specific LUN from an Instance.", +"id": "DetachLunRequest", +"properties": { +"lun": { +"description": "Required. Name of the Lun to detach.", +"type": "string" +}, +"skipReboot": { +"description": "If true, performs lun unmapping without instance reboot.", +"type": "boolean" +} +}, +"type": "object" +}, +"DisableHyperthreadingRequest": { +"description": "Message requesting to perform disable hyperthreading operation on a server.", +"id": "DisableHyperthreadingRequest", +"properties": {}, +"type": "object" +}, +"DisableInteractiveSerialConsoleRequest": { +"description": "Message for disabling the interactive serial console on an instance.", +"id": "DisableInteractiveSerialConsoleRequest", +"properties": {}, +"type": "object" +}, +"DisableInteractiveSerialConsoleResponse": { +"description": "Message for response of DisableInteractiveSerialConsole.", +"id": "DisableInteractiveSerialConsoleResponse", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EnableHyperthreadingRequest": { +"description": "Message requesting to perform enable hyperthreading operation on a server.", +"id": "EnableHyperthreadingRequest", +"properties": {}, +"type": "object" +}, +"EnableInteractiveSerialConsoleRequest": { +"description": "Message for enabling the interactive serial console on an instance.", +"id": "EnableInteractiveSerialConsoleRequest", +"properties": {}, +"type": "object" +}, +"EnableInteractiveSerialConsoleResponse": { +"description": "Message for response of EnableInteractiveSerialConsole.", +"id": "EnableInteractiveSerialConsoleResponse", +"properties": {}, +"type": "object" +}, +"EvictLunRequest": { +"description": "Request for skip lun cooloff and delete it.", +"id": "EvictLunRequest", +"properties": {}, +"type": "object" +}, +"EvictVolumeRequest": { +"description": "Request for skip volume cooloff and delete it.", +"id": "EvictVolumeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudBaremetalsolutionV2LogicalInterface": { +"description": "Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.", +"id": "GoogleCloudBaremetalsolutionV2LogicalInterface", +"properties": { +"interfaceIndex": { +"deprecated": true, +"description": "The index of the logical interface mapping to the index of the hardware bond or nic on the chosen network template. This field is deprecated.", +"format": "int32", +"type": "integer" +}, +"logicalNetworkInterfaces": { +"description": "List of logical network interfaces within a logical interface.", +"items": { +"$ref": "LogicalNetworkInterface" +}, +"type": "array" +}, +"name": { +"description": "Interface name. This is of syntax or and forms part of the network template name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface": { +"description": "Logical interface.", +"id": "GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface", +"properties": { +"name": { +"description": "Interface name. This is not a globally unique identifier. Name is unique only inside the ServerNetworkTemplate. This is of syntax or and forms part of the network template name.", +"type": "string" +}, +"required": { +"description": "If true, interface must have network connected.", +"type": "boolean" +}, +"type": { +"description": "Interface type.", +"enum": [ +"INTERFACE_TYPE_UNSPECIFIED", +"BOND", +"NIC" +], +"enumDescriptions": [ +"Unspecified value.", +"Bond interface type.", +"NIC interface type." +], +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "A server.", +"id": "Instance", +"properties": { +"createTime": { +"description": "Output only. Create a time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"firmwareVersion": { +"description": "Output only. The firmware version for the instance.", +"readOnly": true, +"type": "string" +}, +"hyperthreadingEnabled": { +"description": "True if you enable hyperthreading for the server, otherwise false. The default value is false.", +"type": "boolean" +}, +"id": { +"description": "Output only. An identifier for the `Instance`, generated by the backend.", +"readOnly": true, +"type": "string" +}, +"interactiveSerialConsoleEnabled": { +"description": "Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.", +"readOnly": true, +"type": "boolean" +}, +"kmsKeyVersion": { +"description": "Optional. Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose. Format is `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"logicalInterfaces": { +"description": "List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. For the non-multivlan configurations (for eg, existing servers) that use existing default network template (bondaa-bondaa), both the Instance.networks field and the Instance.logical_interfaces fields will be filled to ensure backward compatibility. For the others, only Instance.logical_interfaces will be filled.", +"items": { +"$ref": "GoogleCloudBaremetalsolutionV2LogicalInterface" +}, +"type": "array" +}, +"loginInfo": { +"description": "Output only. Text field about info for logging in.", +"readOnly": true, +"type": "string" +}, +"luns": { +"description": "Immutable. List of LUNs associated with this server.", +"items": { +"$ref": "Lun" +}, +"type": "array" +}, +"machineType": { +"description": "Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", +"type": "string" +}, +"networkTemplate": { +"description": "Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of \"bond\" or \"nic\".", +"type": "string" +}, +"networks": { +"description": "Output only. List of networks associated with this server.", +"items": { +"$ref": "Network" +}, +"readOnly": true, +"type": "array" +}, +"osImage": { +"description": "The OS image currently installed on the server.", +"type": "string" +}, +"pod": { +"description": "Immutable. Pod name. Pod is an independent part of infrastructure. Instance can only be connected to the assets (networks, volumes) allocated in the same pod.", +"type": "string" +}, +"sshKeys": { +"description": "Optional. List of SSH Keys used during instance provisioning.", +"items": { +"type": "string" +}, +"type": "array" +}, +"state": { +"description": "Output only. The state of the server.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"RUNNING", +"DELETED", +"UPDATING", +"STARTING", +"STOPPING", +"SHUTDOWN" +], +"enumDescriptions": [ +"The server is in an unknown state.", +"The server is being provisioned.", +"The server is running.", +"The server has been deleted.", +"The server is being updated.", +"The server is starting.", +"The server is stopping.", +"The server is shutdown." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update a time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"volumes": { +"description": "Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses.", +"items": { +"$ref": "Volume" +}, +"type": "array" +}, +"workloadProfile": { +"description": "The workload profile for the instance.", +"enum": [ +"WORKLOAD_PROFILE_UNSPECIFIED", +"WORKLOAD_PROFILE_GENERIC", +"WORKLOAD_PROFILE_HANA" +], +"enumDescriptions": [ +"The workload profile is in an unknown state.", +"The workload profile is generic.", +"The workload profile is hana." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceConfig": { +"description": "Configuration parameters for a new instance.", +"id": "InstanceConfig", +"properties": { +"accountNetworksEnabled": { +"description": "If true networks can be from different projects of the same vendor account.", +"type": "boolean" +}, +"clientNetwork": { +"$ref": "NetworkAddress", +"deprecated": true, +"description": "Client network address. Filled if InstanceConfig.multivlan_config is false." +}, +"hyperthreading": { +"description": "Whether the instance should be provisioned with Hyperthreading enabled.", +"type": "boolean" +}, +"id": { +"deprecated": true, +"description": "A transient unique identifier to idenfity an instance within an ProvisioningConfig request.", +"type": "string" +}, +"instanceType": { +"description": "Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.", +"type": "string" +}, +"logicalInterfaces": { +"description": "List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true.", +"items": { +"$ref": "GoogleCloudBaremetalsolutionV2LogicalInterface" +}, +"type": "array" +}, +"name": { +"description": "The name of the instance config.", +"type": "string" +}, +"networkConfig": { +"description": "The type of network configuration on the instance.", +"enum": [ +"NETWORKCONFIG_UNSPECIFIED", +"SINGLE_VLAN", +"MULTI_VLAN" +], +"enumDescriptions": [ +"The unspecified network configuration.", +"Instance part of single client network and single private network.", +"Instance part of multiple (or single) client networks and private networks." +], +"type": "string" +}, +"networkTemplate": { +"description": "Server network template name. Filled if InstanceConfig.multivlan_config is true.", +"type": "string" +}, +"osImage": { +"description": "OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", +"type": "string" +}, +"privateNetwork": { +"$ref": "NetworkAddress", +"deprecated": true, +"description": "Private network address, if any. Filled if InstanceConfig.multivlan_config is false." +}, +"sshKeyNames": { +"description": "Optional. List of names of ssh keys used to provision the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userNote": { +"description": "User note field, it can be used by customers to add additional information for the BMS Ops team .", +"type": "string" +} +}, +"type": "object" +}, +"InstanceQuota": { +"description": "A resource budget.", +"id": "InstanceQuota", +"properties": { +"availableMachineCount": { +"description": "Number of machines than can be created for the given location and instance_type.", +"format": "int32", +"type": "integer" +}, +"gcpService": { +"description": "The gcp service of the provisioning quota.", +"type": "string" +}, +"instanceType": { +"deprecated": true, +"description": "Instance type. Deprecated: use gcp_service.", +"type": "string" +}, +"location": { +"description": "Location where the quota applies.", +"type": "string" +}, +"name": { +"description": "Output only. The name of the instance quota.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IntakeVlanAttachment": { +"description": "A GCP vlan attachment.", +"id": "IntakeVlanAttachment", +"properties": { +"id": { +"description": "Identifier of the VLAN attachment.", +"type": "string" +}, +"pairingKey": { +"description": "Attachment pairing key.", +"type": "string" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response message for the list of servers.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "The list of servers.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListLunsResponse": { +"description": "Response message containing the list of storage volume luns.", +"id": "ListLunsResponse", +"properties": { +"luns": { +"description": "The list of luns.", +"items": { +"$ref": "Lun" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListNetworkUsageResponse": { +"description": "Response with Networks with IPs", +"id": "ListNetworkUsageResponse", +"properties": { +"networks": { +"description": "Networks with IPs.", +"items": { +"$ref": "NetworkUsage" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListNetworksResponse": { +"description": "Response message containing the list of networks.", +"id": "ListNetworksResponse", +"properties": { +"networks": { +"description": "The list of networks.", +"items": { +"$ref": "Network" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListNfsSharesResponse": { +"description": "Response message containing the list of NFS shares.", +"id": "ListNfsSharesResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"nfsShares": { +"description": "The list of NFS shares.", +"items": { +"$ref": "NfsShare" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOSImagesResponse": { +"description": "Request for getting all available OS images.", +"id": "ListOSImagesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"osImages": { +"description": "The OS images available.", +"items": { +"$ref": "OSImage" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListProvisioningQuotasResponse": { +"description": "Response message for the list of provisioning quotas.", +"id": "ListProvisioningQuotasResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"provisioningQuotas": { +"description": "The provisioning quotas registered in this project.", +"items": { +"$ref": "ProvisioningQuota" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSSHKeysResponse": { +"description": "Message for response of ListSSHKeys.", +"id": "ListSSHKeysResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"sshKeys": { +"description": "The SSH keys registered in the project.", +"items": { +"$ref": "SSHKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVolumeSnapshotsResponse": { +"description": "Response message containing the list of volume snapshots.", +"id": "ListVolumeSnapshotsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +}, +"volumeSnapshots": { +"description": "The list of snapshots.", +"items": { +"$ref": "VolumeSnapshot" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVolumesResponse": { +"description": "Response message containing the list of storage volumes.", +"id": "ListVolumesResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results from the server.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +}, +"volumes": { +"description": "The list of storage volumes.", +"items": { +"$ref": "Volume" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoadInstanceAuthInfoResponse": { +"description": "Response for LoadInstanceAuthInfo.", +"id": "LoadInstanceAuthInfoResponse", +"properties": { +"sshKeys": { +"description": "List of ssh keys.", +"items": { +"$ref": "SSHKey" +}, +"type": "array" +}, +"userAccounts": { +"additionalProperties": { +"$ref": "UserAccount" +}, +"description": "Map of username to the user account info.", +"type": "object" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"LogicalNetworkInterface": { +"description": "Each logical network interface is effectively a network and IP pair.", +"id": "LogicalNetworkInterface", +"properties": { +"defaultGateway": { +"description": "Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.", +"type": "boolean" +}, +"id": { +"description": "An identifier for the `Network`, generated by the backend.", +"type": "string" +}, +"ipAddress": { +"description": "IP address in the network", +"type": "string" +}, +"network": { +"description": "Name of the network", +"type": "string" +}, +"networkType": { +"description": "Type of network.", +"enum": [ +"TYPE_UNSPECIFIED", +"CLIENT", +"PRIVATE" +], +"enumDescriptions": [ +"Unspecified value.", +"Client network, a network peered to a Google Cloud VPC.", +"Private network, a network local to the Bare Metal Solution environment." +], +"type": "string" +} +}, +"type": "object" +}, +"Lun": { +"description": "A storage volume logical unit number (LUN).", +"id": "Lun", +"properties": { +"bootLun": { +"description": "Display if this LUN is a boot LUN.", +"type": "boolean" +}, +"expireTime": { +"description": "Output only. Time after which LUN will be fully deleted. It is filled only for LUNs in COOL_OFF state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "An identifier for the LUN, generated by the backend.", +"type": "string" +}, +"instances": { +"description": "Output only. Instances this Lun is attached to.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"multiprotocolType": { +"description": "The LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system.", +"enum": [ +"MULTIPROTOCOL_TYPE_UNSPECIFIED", +"LINUX" +], +"enumDescriptions": [ +"Server has no OS specified.", +"Server with Linux OS." +], +"type": "string" +}, +"name": { +"description": "Output only. The name of the LUN.", +"readOnly": true, +"type": "string" +}, +"shareable": { +"description": "Display if this LUN can be shared between multiple physical servers.", +"type": "boolean" +}, +"sizeGb": { +"description": "The size of this LUN, in GiB.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "The state of this storage volume.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"UPDATING", +"READY", +"DELETING", +"COOL_OFF" +], +"enumDescriptions": [ +"The LUN is in an unknown state.", +"The LUN is being created.", +"The LUN is being updated.", +"The LUN is ready for use.", +"The LUN has been requested to be deleted.", +"The LUN is in cool off state. It will be deleted after `expire_time`." +], +"type": "string" +}, +"storageType": { +"description": "The storage type for this LUN.", +"enum": [ +"STORAGE_TYPE_UNSPECIFIED", +"SSD", +"HDD" +], +"enumDescriptions": [ +"The storage type for this LUN is unknown.", +"This storage type for this LUN is SSD.", +"This storage type for this LUN is HDD." +], +"type": "string" +}, +"storageVolume": { +"description": "Display the storage volume for this LUN.", +"type": "string" +}, +"wwid": { +"description": "The WWID for this LUN.", +"type": "string" +} +}, +"type": "object" +}, +"LunRange": { +"description": "A LUN(Logical Unit Number) range.", +"id": "LunRange", +"properties": { +"quantity": { +"description": "Number of LUNs to create.", +"format": "int32", +"type": "integer" +}, +"sizeGb": { +"description": "The requested size of each LUN, in GB.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Network": { +"description": "A Network.", +"id": "Network", +"properties": { +"cidr": { +"description": "The cidr of the Network.", +"type": "string" +}, +"gatewayIp": { +"description": "Output only. Gateway ip address.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "An identifier for the `Network`, generated by the backend.", +"type": "string" +}, +"ipAddress": { +"description": "IP address configured.", +"type": "string" +}, +"jumboFramesEnabled": { +"description": "Whether network uses standard frames or jumbo ones.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"macAddress": { +"description": "List of physical interfaces.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mountPoints": { +"description": "Input only. List of mount points to attach the network to.", +"items": { +"$ref": "NetworkMountPoint" +}, +"type": "array" +}, +"name": { +"description": "Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`", +"readOnly": true, +"type": "string" +}, +"pod": { +"description": "Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.", +"type": "string" +}, +"reservations": { +"description": "List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.", +"items": { +"$ref": "NetworkAddressReservation" +}, +"type": "array" +}, +"servicesCidr": { +"description": "IP range for reserved for services (e.g. NFS).", +"type": "string" +}, +"state": { +"description": "The Network state.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"PROVISIONED", +"DEPROVISIONING", +"UPDATING" +], +"enumDescriptions": [ +"The Network is in an unknown state.", +"The Network is provisioning.", +"The Network has been provisioned.", +"The Network is being deprovisioned.", +"The Network is being updated." +], +"type": "string" +}, +"type": { +"description": "The type of this network.", +"enum": [ +"TYPE_UNSPECIFIED", +"CLIENT", +"PRIVATE" +], +"enumDescriptions": [ +"Unspecified value.", +"Client network, a network peered to a Google Cloud VPC.", +"Private network, a network local to the Bare Metal Solution environment." +], +"type": "string" +}, +"vlanId": { +"description": "The vlan id of the Network.", +"type": "string" +}, +"vrf": { +"$ref": "VRF", +"description": "The Vrf for the Network. Use this only if a new Vrf needs to be created." +}, +"vrfAttachment": { +"description": "Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAddress": { +"description": "A network.", +"id": "NetworkAddress", +"properties": { +"address": { +"description": "IPv4 address to be assigned to the server.", +"type": "string" +}, +"existingNetworkId": { +"description": "Name of the existing network to use.", +"type": "string" +}, +"networkId": { +"description": "Id of the network to use, within the same ProvisioningConfig request.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAddressReservation": { +"description": "A reservation of one or more addresses in a network.", +"id": "NetworkAddressReservation", +"properties": { +"endAddress": { +"description": "The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.", +"type": "string" +}, +"note": { +"description": "A note about this reservation, intended for human consumption.", +"type": "string" +}, +"startAddress": { +"description": "The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "Configuration parameters for a new network.", +"id": "NetworkConfig", +"properties": { +"bandwidth": { +"description": "Interconnect bandwidth. Set only when type is CLIENT.", +"enum": [ +"BANDWIDTH_UNSPECIFIED", +"BW_1_GBPS", +"BW_2_GBPS", +"BW_5_GBPS", +"BW_10_GBPS" +], +"enumDescriptions": [ +"Unspecified value.", +"1 Gbps.", +"2 Gbps.", +"5 Gbps.", +"10 Gbps." +], +"type": "string" +}, +"cidr": { +"description": "CIDR range of the network.", +"type": "string" +}, +"gcpService": { +"description": "The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.", +"type": "string" +}, +"id": { +"description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.", +"type": "string" +}, +"jumboFramesEnabled": { +"description": "The JumboFramesEnabled option for customer to set.", +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the network config.", +"readOnly": true, +"type": "string" +}, +"serviceCidr": { +"description": "Service CIDR, if any.", +"enum": [ +"SERVICE_CIDR_UNSPECIFIED", +"DISABLED", +"HIGH_26", +"HIGH_27", +"HIGH_28" +], +"enumDescriptions": [ +"Unspecified value.", +"Services are disabled for the given network.", +"Use the highest /26 block of the network to host services.", +"Use the highest /27 block of the network to host services.", +"Use the highest /28 block of the network to host services." +], +"type": "string" +}, +"type": { +"description": "The type of this network, either Client or Private.", +"enum": [ +"TYPE_UNSPECIFIED", +"CLIENT", +"PRIVATE" +], +"enumDescriptions": [ +"Unspecified value.", +"Client network, that is a network peered to a GCP VPC.", +"Private network, that is a network local to the BMS POD." +], +"type": "string" +}, +"userNote": { +"description": "User note field, it can be used by customers to add additional information for the BMS Ops team .", +"type": "string" +}, +"vlanAttachments": { +"description": "List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan). Use only one of vlan_attachments or vrf", +"items": { +"$ref": "IntakeVlanAttachment" +}, +"type": "array" +}, +"vlanSameProject": { +"description": "Whether the VLAN attachment pair is located in the same project.", +"type": "boolean" +}, +"vrf": { +"description": "Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`. If vrf is specified, vlan_attachments must be empty.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkMountPoint": { +"description": "Mount point for a network.", +"id": "NetworkMountPoint", +"properties": { +"defaultGateway": { +"description": "Network should be a default gateway.", +"type": "boolean" +}, +"instance": { +"description": "Instance to attach network to.", +"type": "string" +}, +"ipAddress": { +"description": "Ip address of the server.", +"type": "string" +}, +"logicalInterface": { +"description": "Logical interface to detach from.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkUsage": { +"description": "Network with all used IP addresses.", +"id": "NetworkUsage", +"properties": { +"network": { +"$ref": "Network", +"description": "Network." +}, +"usedIps": { +"description": "All used IP addresses in this network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NfsExport": { +"description": "A NFS export entry.", +"id": "NfsExport", +"properties": { +"allowDev": { +"description": "Allow dev flag in NfsShare AllowedClientsRequest.", +"type": "boolean" +}, +"allowSuid": { +"description": "Allow the setuid flag.", +"type": "boolean" +}, +"cidr": { +"description": "A CIDR range.", +"type": "string" +}, +"machineId": { +"description": "Either a single machine, identified by an ID, or a comma-separated list of machine IDs.", +"type": "string" +}, +"networkId": { +"description": "Network to use to publish the export.", +"type": "string" +}, +"noRootSquash": { +"description": "Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.", +"type": "boolean" +}, +"permissions": { +"description": "Export permissions.", +"enum": [ +"PERMISSIONS_UNSPECIFIED", +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Unspecified value.", +"Read-only permission.", +"Read-write permission." +], +"type": "string" +} +}, +"type": "object" +}, +"NfsShare": { +"description": "An NFS share.", +"id": "NfsShare", +"properties": { +"allowedClients": { +"description": "List of allowed access points.", +"items": { +"$ref": "AllowedClient" +}, +"type": "array" +}, +"id": { +"description": "Output only. An identifier for the NFS share, generated by the backend. This is the same value as nfs_share_id and will replace it in the future.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Immutable. The name of the NFS share.", +"type": "string" +}, +"nfsShareId": { +"description": "Output only. An identifier for the NFS share, generated by the backend. This field will be deprecated in the future, use `id` instead.", +"readOnly": true, +"type": "string" +}, +"pod": { +"description": "Immutable. Pod name. Pod is an independent part of infrastructure. NFSShare can only be connected to the assets (networks, instances) allocated in the same pod.", +"type": "string" +}, +"requestedSizeGib": { +"description": "The requested size, in GiB.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "Output only. The state of the NFS share.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONED", +"CREATING", +"UPDATING", +"DELETING" +], +"enumDescriptions": [ +"The share is in an unknown state.", +"The share has been provisioned.", +"The NFS Share is being created.", +"The NFS Share is being updated.", +"The NFS Share has been requested to be deleted." +], +"readOnly": true, +"type": "string" +}, +"storageType": { +"description": "Immutable. The storage type of the underlying volume.", +"enum": [ +"STORAGE_TYPE_UNSPECIFIED", +"SSD", +"HDD" +], +"enumDescriptions": [ +"The storage type for this volume is unknown.", +"The storage type for this volume is SSD.", +"This storage type for this volume is HDD." +], +"type": "string" +}, +"volume": { +"description": "Output only. The underlying volume of the share. Created automatically during provisioning.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OSImage": { +"description": "Operation System image.", +"id": "OSImage", +"properties": { +"applicableInstanceTypes": { +"description": "Instance types this image is applicable to. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", +"items": { +"type": "string" +}, +"type": "array" +}, +"code": { +"description": "OS Image code.", +"type": "string" +}, +"description": { +"description": "OS Image description.", +"type": "string" +}, +"name": { +"description": "Output only. OS Image's unique name.", +"readOnly": true, +"type": "string" +}, +"supportedNetworkTemplates": { +"description": "Network templates that can be used with this OS Image.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"ProvisioningConfig": { +"description": "A provisioning configuration.", +"id": "ProvisioningConfig", +"properties": { +"cloudConsoleUri": { +"description": "Output only. URI to Cloud Console UI view of this provisioning config.", +"readOnly": true, +"type": "string" +}, +"customId": { +"description": "Optional. The user-defined identifier of the provisioning config.", +"type": "string" +}, +"email": { +"deprecated": true, +"description": "Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.", +"type": "string" +}, +"handoverServiceAccount": { +"description": "A service account to enable customers to access instance credentials upon handover.", +"type": "string" +}, +"instances": { +"description": "Instances to be created.", +"items": { +"$ref": "InstanceConfig" +}, +"type": "array" +}, +"location": { +"description": "Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.", +"type": "string" +}, +"name": { +"description": "Output only. The system-generated name of the provisioning config. This follows the UUID format.", +"readOnly": true, +"type": "string" +}, +"networks": { +"description": "Networks to be created.", +"items": { +"$ref": "NetworkConfig" +}, +"type": "array" +}, +"pod": { +"description": "Optional. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes, nfsshares) allocated in the same pod only.", +"type": "string" +}, +"state": { +"description": "Output only. State of ProvisioningConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"DRAFT", +"SUBMITTED", +"PROVISIONING", +"PROVISIONED", +"VALIDATED", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"State wasn't specified.", +"ProvisioningConfig is a draft and can be freely modified.", +"ProvisioningConfig was already submitted and cannot be modified.", +"ProvisioningConfig was in the provisioning state. Initially this state comes from the work order table in big query when SNOW is used. Later this field can be set by the work order API.", +"ProvisioningConfig was provisioned, meaning the resources exist.", +"ProvisioningConfig was validated. A validation tool will be run to set this state.", +"ProvisioningConfig was canceled.", +"The request is submitted for provisioning, with error return." +], +"readOnly": true, +"type": "string" +}, +"statusMessage": { +"description": "Optional status messages associated with the FAILED state.", +"type": "string" +}, +"ticketId": { +"description": "A generated ticket id to track provisioning request.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"volumes": { +"description": "Volumes to be created.", +"items": { +"$ref": "VolumeConfig" +}, +"type": "array" +}, +"vpcScEnabled": { +"description": "If true, VPC SC is enabled for the cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ProvisioningQuota": { +"description": "A provisioning quota for a given project.", +"id": "ProvisioningQuota", +"properties": { +"assetType": { +"description": "The asset type of this provisioning quota.", +"enum": [ +"ASSET_TYPE_UNSPECIFIED", +"ASSET_TYPE_SERVER", +"ASSET_TYPE_STORAGE", +"ASSET_TYPE_NETWORK" +], +"enumDescriptions": [ +"The unspecified type.", +"The server asset type.", +"The storage asset type.", +"The network asset type." +], +"type": "string" +}, +"availableCount": { +"description": "The available count of the provisioning quota.", +"format": "int32", +"type": "integer" +}, +"gcpService": { +"description": "The gcp service of the provisioning quota.", +"type": "string" +}, +"instanceQuota": { +"$ref": "InstanceQuota", +"description": "Instance quota." +}, +"location": { +"description": "The specific location of the provisioining quota.", +"type": "string" +}, +"name": { +"description": "Output only. The name of the provisioning quota.", +"readOnly": true, +"type": "string" +}, +"networkBandwidth": { +"description": "Network bandwidth, Gbps", +"format": "int64", +"type": "string" +}, +"serverCount": { +"description": "Server count.", +"format": "int64", +"type": "string" +}, +"storageGib": { +"description": "Storage size (GB).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"QosPolicy": { +"description": "QOS policy parameters.", +"id": "QosPolicy", +"properties": { +"bandwidthGbps": { +"description": "The bandwidth permitted by the QOS policy, in gbps.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ReimageInstanceRequest": { +"description": "Message requesting to perform reimage operation on a server.", +"id": "ReimageInstanceRequest", +"properties": { +"kmsKeyVersion": { +"description": "Optional. Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose. Format is `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`.", +"type": "string" +}, +"osImage": { +"description": "Required. The OS image code of the image which will be used in the reimage operation.", +"type": "string" +}, +"sshKeys": { +"description": "Optional. List of SSH Keys used during reimaging an instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RenameInstanceRequest": { +"description": "Message requesting rename of a server.", +"id": "RenameInstanceRequest", +"properties": { +"newInstanceId": { +"description": "Required. The new `id` of the instance.", +"type": "string" +} +}, +"type": "object" +}, +"RenameNetworkRequest": { +"description": "Message requesting rename of a server.", +"id": "RenameNetworkRequest", +"properties": { +"newNetworkId": { +"description": "Required. The new `id` of the network.", +"type": "string" +} +}, +"type": "object" +}, +"RenameNfsShareRequest": { +"description": "Message requesting rename of a server.", +"id": "RenameNfsShareRequest", +"properties": { +"newNfsshareId": { +"description": "Required. The new `id` of the nfsshare.", +"type": "string" +} +}, +"type": "object" +}, +"RenameVolumeRequest": { +"description": "Message requesting rename of a server.", +"id": "RenameVolumeRequest", +"properties": { +"newVolumeId": { +"description": "Required. The new `id` of the volume.", +"type": "string" +} +}, +"type": "object" +}, +"ResetInstanceRequest": { +"description": "Message requesting to reset a server.", +"id": "ResetInstanceRequest", +"properties": {}, +"type": "object" +}, +"ResetInstanceResponse": { +"description": "Response message from resetting a server.", +"id": "ResetInstanceResponse", +"properties": {}, +"type": "object" +}, +"ResizeVolumeRequest": { +"description": "Request for emergency resize Volume.", +"id": "ResizeVolumeRequest", +"properties": { +"sizeGib": { +"description": "New Volume size, in GiB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RestoreVolumeSnapshotRequest": { +"description": "Message for restoring a volume snapshot.", +"id": "RestoreVolumeSnapshotRequest", +"properties": {}, +"type": "object" +}, +"SSHKey": { +"description": "An SSH key, used for authorizing with the interactive serial console feature.", +"id": "SSHKey", +"properties": { +"name": { +"description": "Output only. The name of this SSH key. Currently, the only valid value for the location is \"global\".", +"readOnly": true, +"type": "string" +}, +"publicKey": { +"description": "The public SSH key. This must be in OpenSSH .authorized_keys format.", +"type": "string" +} +}, +"type": "object" +}, +"ServerNetworkTemplate": { +"description": "Network template.", +"id": "ServerNetworkTemplate", +"properties": { +"applicableInstanceTypes": { +"description": "Instance types this template is applicable to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logicalInterfaces": { +"description": "Logical interfaces.", +"items": { +"$ref": "GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface" +}, +"type": "array" +}, +"name": { +"description": "Output only. Template's unique name. The full resource name follows the pattern: `projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}` Generally, the {server_network_template} follows the syntax of \"bond\" or \"nic\".", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SnapshotReservationDetail": { +"description": "Details about snapshot space reservation and usage on the storage volume.", +"id": "SnapshotReservationDetail", +"properties": { +"reservedSpaceGib": { +"description": "The space on this storage volume reserved for snapshots, shown in GiB.", +"format": "int64", +"type": "string" +}, +"reservedSpacePercent": { +"description": "Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true.", +"format": "int32", +"type": "integer" +}, +"reservedSpaceRemainingGib": { +"description": "The amount, in GiB, of available space in this storage volume's reserved snapshot space.", +"format": "int64", +"type": "string" +}, +"reservedSpaceUsedPercent": { +"description": "The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"StartInstanceRequest": { +"description": "Message requesting to start a server.", +"id": "StartInstanceRequest", +"properties": {}, +"type": "object" +}, +"StartInstanceResponse": { +"description": "Response message from starting a server.", +"id": "StartInstanceResponse", +"properties": {}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StopInstanceRequest": { +"description": "Message requesting to stop a server.", +"id": "StopInstanceRequest", +"properties": {}, +"type": "object" +}, +"StopInstanceResponse": { +"description": "Response message from stopping a server.", +"id": "StopInstanceResponse", +"properties": {}, +"type": "object" +}, +"SubmitProvisioningConfigRequest": { +"description": "Request for SubmitProvisioningConfig.", +"id": "SubmitProvisioningConfigRequest", +"properties": { +"email": { +"description": "Optional. Email provided to send a confirmation with provisioning config to.", +"type": "string" +}, +"provisioningConfig": { +"$ref": "ProvisioningConfig", +"description": "Required. The ProvisioningConfig to create." +} +}, +"type": "object" +}, +"SubmitProvisioningConfigResponse": { +"description": "Response for SubmitProvisioningConfig.", +"id": "SubmitProvisioningConfigResponse", +"properties": { +"provisioningConfig": { +"$ref": "ProvisioningConfig", +"description": "The submitted provisioning config." +} +}, +"type": "object" +}, +"UserAccount": { +"description": "User account provisioned for the customer.", +"id": "UserAccount", +"properties": { +"encryptedPassword": { +"description": "Encrypted initial password value.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "KMS CryptoKey Version used to encrypt the password.", +"type": "string" +} +}, +"type": "object" +}, +"VRF": { +"description": "A network VRF.", +"id": "VRF", +"properties": { +"name": { +"description": "The name of the VRF.", +"type": "string" +}, +"qosPolicy": { +"$ref": "QosPolicy", +"description": "The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility." +}, +"state": { +"description": "The possible state of VRF.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"PROVISIONED" +], +"enumDescriptions": [ +"The unspecified state.", +"The vrf is provisioning.", +"The vrf is provisioned." +], +"type": "string" +}, +"vlanAttachments": { +"description": "The list of VLAN attachments for the VRF.", +"items": { +"$ref": "VlanAttachment" +}, +"type": "array" +} +}, +"type": "object" +}, +"VlanAttachment": { +"description": "VLAN attachment details.", +"id": "VlanAttachment", +"properties": { +"id": { +"description": "Immutable. The identifier of the attachment within vrf.", +"type": "string" +}, +"interconnectAttachment": { +"description": "Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}", +"type": "string" +}, +"pairingKey": { +"description": "Input only. Pairing key.", +"type": "string" +}, +"peerIp": { +"description": "The peer IP of the attachment.", +"type": "string" +}, +"peerVlanId": { +"description": "The peer vlan ID of the attachment.", +"format": "int64", +"type": "string" +}, +"qosPolicy": { +"$ref": "QosPolicy", +"description": "The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level." +}, +"routerIp": { +"description": "The router IP of the attachment.", +"type": "string" +} +}, +"type": "object" +}, +"Volume": { +"description": "A storage volume.", +"id": "Volume", +"properties": { +"attached": { +"description": "Output only. Is the Volume attached at at least one instance. This field is a lightweight counterpart of `instances` field. It is filled in List responses as well.", +"readOnly": true, +"type": "boolean" +}, +"autoGrownSizeGib": { +"description": "The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0.", +"format": "int64", +"type": "string" +}, +"bootVolume": { +"description": "Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN.", +"readOnly": true, +"type": "boolean" +}, +"currentSizeGib": { +"description": "The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink.", +"format": "int64", +"type": "string" +}, +"emergencySizeGib": { +"description": "Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value.", +"format": "int64", +"type": "string" +}, +"expireTime": { +"description": "Output only. Time after which volume will be fully deleted. It is filled only for volumes in COOLOFF state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "An identifier for the `Volume`, generated by the backend.", +"type": "string" +}, +"instances": { +"description": "Output only. Instances this Volume is attached to. This field is set only in Get requests.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"maxSizeGib": { +"description": "Maximum size volume can be expanded to in case of evergency, in GiB.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}`", +"readOnly": true, +"type": "string" +}, +"notes": { +"description": "Input only. User-specified notes for new Volume. Used to provision Volumes that require manual intervention.", +"type": "string" +}, +"originallyRequestedSizeGib": { +"description": "Originally requested size, in GiB.", +"format": "int64", +"type": "string" +}, +"performanceTier": { +"description": "Immutable. Performance tier of the Volume. Default is SHARED.", +"enum": [ +"VOLUME_PERFORMANCE_TIER_UNSPECIFIED", +"VOLUME_PERFORMANCE_TIER_SHARED", +"VOLUME_PERFORMANCE_TIER_ASSIGNED", +"VOLUME_PERFORMANCE_TIER_HT", +"VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" +], +"enumDescriptions": [ +"Value is not specified.", +"Regular volumes, shared aggregates.", +"Assigned aggregates.", +"High throughput aggregates.", +"QoS 2.0 high performance storage." +], +"type": "string" +}, +"pod": { +"description": "Immutable. Pod name. Pod is an independent part of infrastructure. Volume can only be connected to the instances allocated in the same pod.", +"type": "string" +}, +"protocol": { +"description": "Output only. Storage protocol for the Volume.", +"enum": [ +"PROTOCOL_UNSPECIFIED", +"FIBRE_CHANNEL", +"NFS" +], +"enumDescriptions": [ +"Value is not specified.", +"Fibre Channel protocol.", +"NFS protocol means Volume is a NFS Share volume. Such volumes cannot be manipulated via Volumes API." +], +"readOnly": true, +"type": "string" +}, +"remainingSpaceGib": { +"description": "The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots.", +"format": "int64", +"type": "string" +}, +"requestedSizeGib": { +"description": "The requested size of this storage volume, in GiB.", +"format": "int64", +"type": "string" +}, +"snapshotAutoDeleteBehavior": { +"description": "The behavior to use when snapshot reserved space is full.", +"enum": [ +"SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED", +"DISABLED", +"OLDEST_FIRST", +"NEWEST_FIRST" +], +"enumDescriptions": [ +"The unspecified behavior.", +"Don't delete any snapshots. This disables new snapshot creation, as long as the snapshot reserved space is full.", +"Delete the oldest snapshots first.", +"Delete the newest snapshots first." +], +"type": "string" +}, +"snapshotEnabled": { +"description": "Whether snapshots are enabled.", +"type": "boolean" +}, +"snapshotReservationDetail": { +"$ref": "SnapshotReservationDetail", +"description": "Details about snapshot space reservation and usage on the storage volume." +}, +"state": { +"description": "The state of this storage volume.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING", +"COOL_OFF" +], +"enumDescriptions": [ +"The storage volume is in an unknown state.", +"The storage volume is being created.", +"The storage volume is ready for use.", +"The storage volume has been requested to be deleted.", +"The storage volume is being updated.", +"The storage volume is in cool off state. It will be deleted after `expire_time`." +], +"type": "string" +}, +"storageType": { +"description": "The storage type for this volume.", +"enum": [ +"STORAGE_TYPE_UNSPECIFIED", +"SSD", +"HDD" +], +"enumDescriptions": [ +"The storage type for this volume is unknown.", +"The storage type for this volume is SSD.", +"This storage type for this volume is HDD." +], +"type": "string" +}, +"workloadProfile": { +"description": "The workload profile for the volume.", +"enum": [ +"WORKLOAD_PROFILE_UNSPECIFIED", +"GENERIC", +"HANA" +], +"enumDescriptions": [ +"The workload profile is in an unknown state.", +"The workload profile is generic.", +"The workload profile is hana." +], +"type": "string" +} +}, +"type": "object" +}, +"VolumeConfig": { +"description": "Configuration parameters for a new volume.", +"id": "VolumeConfig", +"properties": { +"gcpService": { +"description": "The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.", +"type": "string" +}, +"id": { +"description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.", +"type": "string" +}, +"lunRanges": { +"description": "LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.", +"items": { +"$ref": "LunRange" +}, +"type": "array" +}, +"machineIds": { +"description": "Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Output only. The name of the volume config.", +"readOnly": true, +"type": "string" +}, +"nfsExports": { +"description": "NFS exports. Set only when protocol is PROTOCOL_NFS.", +"items": { +"$ref": "NfsExport" +}, +"type": "array" +}, +"performanceTier": { +"description": "Performance tier of the Volume. Default is SHARED.", +"enum": [ +"VOLUME_PERFORMANCE_TIER_UNSPECIFIED", +"VOLUME_PERFORMANCE_TIER_SHARED", +"VOLUME_PERFORMANCE_TIER_ASSIGNED", +"VOLUME_PERFORMANCE_TIER_HT", +"VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" +], +"enumDescriptions": [ +"Value is not specified.", +"Regular volumes, shared aggregates.", +"Assigned aggregates.", +"High throughput aggregates.", +"QoS 2.0 high performance storage." +], +"type": "string" +}, +"protocol": { +"description": "Volume protocol.", +"enum": [ +"PROTOCOL_UNSPECIFIED", +"PROTOCOL_FC", +"PROTOCOL_NFS" +], +"enumDescriptions": [ +"Unspecified value.", +"Fibre channel.", +"Network file system." +], +"type": "string" +}, +"sizeGb": { +"description": "The requested size of this volume, in GB.", +"format": "int32", +"type": "integer" +}, +"snapshotsEnabled": { +"description": "Whether snapshots should be enabled.", +"type": "boolean" +}, +"type": { +"description": "The type of this Volume.", +"enum": [ +"TYPE_UNSPECIFIED", +"FLASH", +"DISK" +], +"enumDescriptions": [ +"The unspecified type.", +"This Volume is on flash.", +"This Volume is on disk." +], +"type": "string" +}, +"userNote": { +"description": "User note field, it can be used by customers to add additional information for the BMS Ops team .", +"type": "string" +} +}, +"type": "object" +}, +"VolumeSnapshot": { +"description": "A snapshot of a volume. Only boot volumes can have snapshots.", +"id": "VolumeSnapshot", +"properties": { +"createTime": { +"description": "Output only. The creation time of the snapshot.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the snapshot.", +"type": "string" +}, +"id": { +"description": "Output only. An identifier for the snapshot, generated by the backend.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the snapshot.", +"type": "string" +}, +"storageVolume": { +"description": "Output only. The name of the volume which this snapshot belongs to.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the snapshot which indicates whether it was scheduled or manual/ad-hoc.", +"enum": [ +"SNAPSHOT_TYPE_UNSPECIFIED", +"AD_HOC", +"SCHEDULED" +], +"enumDescriptions": [ +"Type is not specified.", +"Snapshot was taken manually by user.", +"Snapshot was taken automatically as a part of a snapshot schedule." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Bare Metal Solution API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/batch.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/batch.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..517d73212dcc5c69d02a3e1049b6a998c664866d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/batch.v1.json @@ -0,0 +1,2318 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://batch.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Batch", +"description": "An API to manage the running of Batch resources on Google Cloud Platform.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/batch/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "batch:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://batch.mtls.googleapis.com/", +"name": "batch", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "batch.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "batch.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"jobs": { +"methods": { +"create": { +"description": "Create a Job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "POST", +"id": "batch.projects.locations.jobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"jobId": { +"description": "ID used to uniquely identify the Job within its parent scope. This field should contain at most 63 characters and must start with lowercase characters. Only lowercase characters, numbers and '-' are accepted. The '-' character cannot be the first or the last one. A system generated ID will be used if the field is not set. The job.name field in the request will be ignored and the created resource name of the Job will be \"{parent}/jobs/{job_id}\".", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name where the Job will be created. Pattern: \"projects/{project}/locations/{location}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/jobs", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a Job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "DELETE", +"id": "batch.projects.locations.jobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Job name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"reason": { +"description": "Optional. Reason for this deletion.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a Job specified by its resource name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "GET", +"id": "batch.projects.locations.jobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Job name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List all Jobs for a project within a region.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "GET", +"id": "batch.projects.locations.jobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort results. Supported are \"name\", \"name desc\", \"create_time\", and \"create_time desc\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Parent path.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/jobs", +"response": { +"$ref": "ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"taskGroups": { +"resources": { +"tasks": { +"methods": { +"get": { +"description": "Return a single Task.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/taskGroups/{taskGroupsId}/tasks/{tasksId}", +"httpMethod": "GET", +"id": "batch.projects.locations.jobs.taskGroups.tasks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Task name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/taskGroups/[^/]+/tasks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Task" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List Tasks associated with a job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/taskGroups/{taskGroupsId}/tasks", +"httpMethod": "GET", +"id": "batch.projects.locations.jobs.taskGroups.tasks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Task filter, null filter matches all Tasks. Filter string should be of the format State=TaskStatus.State e.g. State=RUNNING", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of a TaskGroup from which Tasks are being requested. Pattern: \"projects/{project}/locations/{location}/jobs/{job}/taskGroups/{task_group}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/taskGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tasks", +"response": { +"$ref": "ListTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "batch.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "batch.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "batch.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "batch.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"state": { +"methods": { +"report": { +"description": "Report agent's state, e.g. agent status and tasks information", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/state:report", +"httpMethod": "POST", +"id": "batch.projects.locations.state.report", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: projects/{project}/locations/{location} {project} should be a project number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/state:report", +"request": { +"$ref": "ReportAgentStateRequest" +}, +"response": { +"$ref": "ReportAgentStateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://batch.googleapis.com/", +"schemas": { +"Accelerator": { +"description": "Accelerator describes Compute Engine accelerators to be attached to the VM.", +"id": "Accelerator", +"properties": { +"count": { +"description": "The number of accelerators of this type.", +"format": "int64", +"type": "string" +}, +"driverVersion": { +"description": "Optional. The NVIDIA GPU driver version that should be installed for this type. You can define the specific driver version such as \"470.103.01\", following the driver version requirements in https://cloud.google.com/compute/docs/gpus/install-drivers-gpu#minimum-driver. Batch will install the specific accelerator driver if qualified.", +"type": "string" +}, +"installGpuDrivers": { +"deprecated": true, +"description": "Deprecated: please use instances[0].install_gpu_drivers instead.", +"type": "boolean" +}, +"type": { +"description": "The accelerator type. For example, \"nvidia-tesla-t4\". See `gcloud compute accelerator-types list`.", +"type": "string" +} +}, +"type": "object" +}, +"ActionCondition": { +"description": "Conditions for actions to deal with task failures.", +"id": "ActionCondition", +"properties": { +"exitCodes": { +"description": "Exit codes of a task execution. If there are more than 1 exit codes, when task executes with any of the exit code in the list, the condition is met and the action will be executed.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"AgentContainer": { +"description": "Container runnable representation on the agent side.", +"id": "AgentContainer", +"properties": { +"commands": { +"description": "Overrides the `CMD` specified in the container. If there is an ENTRYPOINT (either in the container image or with the entrypoint field below) then commands are appended as arguments to the ENTRYPOINT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entrypoint": { +"description": "Overrides the `ENTRYPOINT` specified in the container.", +"type": "string" +}, +"imageUri": { +"description": "The URI to pull the container image from.", +"type": "string" +}, +"options": { +"description": "Arbitrary additional options to include in the \"docker run\" command when running this container, e.g. \"--network host\".", +"type": "string" +}, +"volumes": { +"description": "Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match docker run's --volume option, e.g. /foo:/bar, or /foo:/bar:ro", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AgentEnvironment": { +"description": "AgentEnvironment is the Environment representation between Agent and CLH communication. The environment is used in both task level and agent level.", +"id": "AgentEnvironment", +"properties": { +"encryptedVariables": { +"$ref": "AgentKMSEnvMap", +"description": "An encrypted JSON dictionary where the key/value pairs correspond to environment variable names and their values." +}, +"secretVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of environment variable names to Secret Manager secret names. The VM will access the named secrets to set the value of each environment variable.", +"type": "object" +}, +"variables": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of environment variable names to values.", +"type": "object" +} +}, +"type": "object" +}, +"AgentInfo": { +"description": "VM Agent Info.", +"id": "AgentInfo", +"properties": { +"jobId": { +"description": "Optional. The assigned Job ID", +"type": "string" +}, +"reportTime": { +"description": "When the AgentInfo is generated.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Agent state.", +"enum": [ +"AGENT_STATE_UNSPECIFIED", +"AGENT_STARTING", +"AGENT_RUNNING", +"AGENT_STOPPED" +], +"enumDescriptions": [ +"Unspecified state.", +"The agent is starting on the VM instance.", +"The agent is running. The agent in the RUNNING state can never go back to the STARTING state.", +"The agent has stopped, either on request or due to a failure." +], +"type": "string" +}, +"taskGroupId": { +"description": "The assigned task group ID.", +"type": "string" +}, +"tasks": { +"description": "Task Info.", +"items": { +"$ref": "AgentTaskInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"AgentKMSEnvMap": { +"description": "AgentKMSEnvMap contains the encrypted key/value pair to be used in the environment on the Agent side.", +"id": "AgentKMSEnvMap", +"properties": { +"cipherText": { +"description": "The value of the cipherText response from the `encrypt` method.", +"type": "string" +}, +"keyName": { +"description": "The name of the KMS key that will be used to decrypt the cipher text.", +"type": "string" +} +}, +"type": "object" +}, +"AgentMetadata": { +"description": "VM Agent Metadata.", +"id": "AgentMetadata", +"properties": { +"creationTime": { +"deprecated": true, +"description": "When the VM agent started. Use agent_startup_time instead.", +"format": "google-datetime", +"type": "string" +}, +"creator": { +"description": "Full name of the entity that created this vm. For MIG, this path is: projects/{project}/regions/{region}/InstanceGroupManagers/{igm} The value is retrieved from the vm metadata key of \"created-by\".", +"type": "string" +}, +"imageVersion": { +"description": "image version for the VM that this agent is installed on.", +"type": "string" +}, +"instance": { +"description": "GCP instance name (go/instance-name).", +"type": "string" +}, +"instanceId": { +"description": "GCP instance ID (go/instance-id).", +"format": "uint64", +"type": "string" +}, +"instancePreemptionNoticeReceived": { +"description": "If the GCP instance has received preemption notice.", +"type": "boolean" +}, +"machineType": { +"description": "Optional. machine type of the VM", +"type": "string" +}, +"osRelease": { +"additionalProperties": { +"type": "string" +}, +"description": "parsed contents of /etc/os-release", +"type": "object" +}, +"version": { +"description": "agent binary version running on VM", +"type": "string" +}, +"zone": { +"description": "Agent zone.", +"type": "string" +} +}, +"type": "object" +}, +"AgentScript": { +"description": "Script runnable representation on the agent side.", +"id": "AgentScript", +"properties": { +"path": { +"description": "Script file path on the host VM. To specify an interpreter, please add a `#!`(also known as [shebang line](https://en.wikipedia.org/wiki/Shebang_(Unix))) as the first line of the file.(For example, to execute the script using bash, `#!/bin/bash` should be the first line of the file. To execute the script using`Python3`, `#!/usr/bin/env python3` should be the first line of the file.) Otherwise, the file will by default be executed by `/bin/sh`.", +"type": "string" +}, +"text": { +"description": "Shell script text. To specify an interpreter, please add a `#!\\n` at the beginning of the text.(For example, to execute the script using bash, `#!/bin/bash\\n` should be added. To execute the script using`Python3`, `#!/usr/bin/env python3\\n` should be added.) Otherwise, the script will by default be executed by `/bin/sh`.", +"type": "string" +} +}, +"type": "object" +}, +"AgentTask": { +"description": "TODO(b/182501497) The message needs to be redefined when the Agent API server updates data in storage per the backend design.", +"id": "AgentTask", +"properties": { +"agentTaskSpec": { +"$ref": "AgentTaskSpec", +"description": "AgentTaskSpec is the taskSpec representation between Agent and CLH communication. This field will replace the TaskSpec field above in future to have a better separation between user-facaing API and internal API." +}, +"intendedState": { +"description": "The intended state of the task.", +"enum": [ +"INTENDED_STATE_UNSPECIFIED", +"ASSIGNED", +"CANCELLED", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"Assigned state (includes running and finished).", +"The agent should cancel the execution of this task.", +"Delete task from agent storage, stop reporting its state." +], +"type": "string" +}, +"reachedBarrier": { +"description": "The highest barrier reached by all tasks in the task's TaskGroup.", +"format": "int64", +"type": "string" +}, +"spec": { +"$ref": "TaskSpec", +"description": "Task Spec. This field will be replaced by agent_task_spec below in future." +}, +"status": { +"$ref": "TaskStatus", +"description": "Task status." +}, +"task": { +"description": "Task name.", +"type": "string" +}, +"taskSource": { +"description": "TaskSource represents the source of the task.", +"enum": [ +"TASK_SOURCE_UNSPECIFIED", +"BATCH_INTERNAL", +"USER" +], +"enumDescriptions": [ +"Unspecified task source.", +"The AgentTask from this source is generated by Batch server. E.g. all the VMActions are from this source. When Batch Agent execute AgentTask from BATCH_INTERNAL, it will log stdout/err with \"batch_agent_logs\" log name.", +"The AgentTask from this source is provided by Batch users. When Batch Agent execute AgentTask from USER, it will log stdout/err with \"batch_task_logs\" log name." +], +"type": "string" +} +}, +"type": "object" +}, +"AgentTaskInfo": { +"description": "Task Info", +"id": "AgentTaskInfo", +"properties": { +"runnable": { +"description": "The highest index of a runnable started by the agent for this task. The runnables are indexed from 1. Value 0 is undefined.", +"format": "int64", +"type": "string" +}, +"taskId": { +"description": "ID of the Task", +"type": "string" +}, +"taskStatus": { +"$ref": "TaskStatus", +"description": "The status of the Task. If we need agent specific fields we should fork the public TaskStatus into an agent specific one. Or add them below." +} +}, +"type": "object" +}, +"AgentTaskLoggingOption": { +"description": "AgentTaskLoggingOption contains the options for the logging of the task.", +"id": "AgentTaskLoggingOption", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to be added to the log entry. Now only cloud logging is supported.", +"type": "object" +} +}, +"type": "object" +}, +"AgentTaskRunnable": { +"description": "AgentTaskRunnable is the Runnable representation between Agent and CLH communication.", +"id": "AgentTaskRunnable", +"properties": { +"alwaysRun": { +"description": "By default, after a Runnable fails, no further Runnable are executed. This flag indicates that this Runnable must be run even if the Task has already failed. This is useful for Runnables that copy output files off of the VM or for debugging. The always_run flag does not override the Task's overall max_run_duration. If the max_run_duration has expired then no further Runnables will execute, not even always_run Runnables.", +"type": "boolean" +}, +"background": { +"description": "This flag allows a Runnable to continue running in the background while the Task executes subsequent Runnables. This is useful to provide services to other Runnables (or to provide debugging support tools like SSH servers).", +"type": "boolean" +}, +"container": { +"$ref": "AgentContainer", +"description": "Container runnable." +}, +"environment": { +"$ref": "AgentEnvironment", +"description": "Environment variables for this Runnable (overrides variables set for the whole Task or TaskGroup)." +}, +"ignoreExitStatus": { +"description": "Normally, a non-zero exit status causes the Task to fail. This flag allows execution of other Runnables to continue instead.", +"type": "boolean" +}, +"script": { +"$ref": "AgentScript", +"description": "Script runnable." +}, +"timeout": { +"description": "Timeout for this Runnable.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AgentTaskSpec": { +"description": "AgentTaskSpec is the user's TaskSpec representation between Agent and CLH communication.", +"id": "AgentTaskSpec", +"properties": { +"environment": { +"$ref": "AgentEnvironment", +"description": "Environment variables to set before running the Task." +}, +"loggingOption": { +"$ref": "AgentTaskLoggingOption", +"description": "Logging option for the task." +}, +"maxRunDuration": { +"description": "Maximum duration the task should run before being automatically retried (if enabled) or automatically failed. Format the value of this field as a time limit in seconds followed by `s`\u2014for example, `3600s` for 1 hour. The field accepts any value between 0 and the maximum listed for the `Duration` field type at https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, the actual maximum run time for a job will be limited to the maximum run time for a job listed at https://cloud.google.com/batch/quotas#max-job-duration.", +"format": "google-duration", +"type": "string" +}, +"runnables": { +"description": "AgentTaskRunnable is runanbles that will be executed on the agent.", +"items": { +"$ref": "AgentTaskRunnable" +}, +"type": "array" +}, +"userAccount": { +"$ref": "AgentTaskUserAccount", +"description": "User account on the VM to run the runnables in the agentTaskSpec. If not set, the runnable will be run under root user." +} +}, +"type": "object" +}, +"AgentTaskUserAccount": { +"description": "AgentTaskUserAccount contains the information of a POSIX account on the guest os which is used to execute the runnables.", +"id": "AgentTaskUserAccount", +"properties": { +"gid": { +"description": "gid id an unique identifier of the POSIX account group corresponding to the user account.", +"format": "int64", +"type": "string" +}, +"uid": { +"description": "uid is an unique identifier of the POSIX account corresponding to the user account.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AgentTimingInfo": { +"description": "VM timing information", +"id": "AgentTimingInfo", +"properties": { +"agentStartupTime": { +"description": "Agent startup time", +"format": "google-datetime", +"type": "string" +}, +"bootTime": { +"description": "Boot timestamp of the VM OS", +"format": "google-datetime", +"type": "string" +}, +"scriptStartupTime": { +"description": "Startup time of the Batch VM script.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"AllocationPolicy": { +"description": "A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job.", +"id": "AllocationPolicy", +"properties": { +"instances": { +"description": "Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now.", +"items": { +"$ref": "InstancePolicyOrTemplate" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Custom labels to apply to the job and all the Compute Engine resources that both are created by this allocation policy and support labels. Use labels to group and describe the resources they are applied to. Batch automatically applies predefined labels and supports multiple `labels` fields for each job, which each let you apply custom labels to various resources. Label names that start with \"goog-\" or \"google-\" are reserved for predefined labels. For more information about labels with Batch, see [Organize resources using labels](https://cloud.google.com/batch/docs/organize-resources-using-labels).", +"type": "object" +}, +"location": { +"$ref": "LocationPolicy", +"description": "Location where compute resources should be allocated for the Job." +}, +"network": { +"$ref": "NetworkPolicy", +"description": "The network policy. If you define an instance template in the `InstancePolicyOrTemplate` field, Batch will use the network settings in the instance template instead of this field." +}, +"placement": { +"$ref": "PlacementPolicy", +"description": "The placement policy." +}, +"serviceAccount": { +"$ref": "ServiceAccount", +"description": "Defines the service account for Batch-created VMs. If omitted, the [default Compute Engine service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. Must match the service account specified in any used instance template configured in the Batch job. Includes the following fields: * email: The service account's email address. If not set, the default Compute Engine service account is used. * scopes: Additional OAuth scopes to grant the service account, beyond the default cloud-platform scope. (list of strings)" +}, +"tags": { +"description": "Optional. Tags applied to the VM instances. The tags identify valid sources or targets for network firewalls. Each tag must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "A new or an existing persistent disk (PD) or a local ssd attached to a VM instance.", +"id": "AttachedDisk", +"properties": { +"deviceName": { +"description": "Device name that the guest operating system will see. It is used by Runnable.volumes field to mount disks. So please specify the device_name if you want Batch to help mount the disk, and it should match the device_name field in volumes.", +"type": "string" +}, +"existingDisk": { +"description": "Name of an existing PD.", +"type": "string" +}, +"newDisk": { +"$ref": "Disk" +} +}, +"type": "object" +}, +"Barrier": { +"description": "A barrier runnable automatically blocks the execution of subsequent runnables until all the tasks in the task group reach the barrier.", +"id": "Barrier", +"properties": { +"name": { +"description": "Barriers are identified by their index in runnable list. Names are not required, but if present should be an identifier.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudLoggingOption": { +"description": "`CloudLoggingOption` contains additional settings for Cloud Logging logs generated by Batch job.", +"id": "CloudLoggingOption", +"properties": { +"useGenericTaskMonitoredResource": { +"description": "Optional. Set this field to `true` to change the [monitored resource type](https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs generated by this Batch job from the [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) type to the formerly used [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) type.", +"type": "boolean" +} +}, +"type": "object" +}, +"ComputeResource": { +"description": "Compute resource requirements. ComputeResource defines the amount of resources required for each task. Make sure your tasks have enough resources to successfully run. If you also define the types of resources for a job to use with the [InstancePolicyOrTemplate](https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) field, make sure both fields are compatible with each other.", +"id": "ComputeResource", +"properties": { +"bootDiskMib": { +"description": "Extra boot disk size in MiB for each task.", +"format": "int64", +"type": "string" +}, +"cpuMilli": { +"description": "The milliCPU count. `cpuMilli` defines the amount of CPU resources per task in milliCPU units. For example, `1000` corresponds to 1 vCPU per task. If undefined, the default value is `2000`. If you also define the VM's machine type using the `machineType` in [InstancePolicy](https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicy) field or inside the `instanceTemplate` in the [InstancePolicyOrTemplate](https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) field, make sure the CPU resources for both fields are compatible with each other and with how many tasks you want to allow to run on the same VM at the same time. For example, if you specify the `n2-standard-2` machine type, which has 2 vCPUs each, you are recommended to set `cpuMilli` no more than `2000`, or you are recommended to run two tasks on the same VM if you set `cpuMilli` to `1000` or less.", +"format": "int64", +"type": "string" +}, +"memoryMib": { +"description": "Memory in MiB. `memoryMib` defines the amount of memory per task in MiB units. If undefined, the default value is `2000`. If you also define the VM's machine type using the `machineType` in [InstancePolicy](https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicy) field or inside the `instanceTemplate` in the [InstancePolicyOrTemplate](https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) field, make sure the memory resources for both fields are compatible with each other and with how many tasks you want to allow to run on the same VM at the same time. For example, if you specify the `n2-standard-2` machine type, which has 8 GiB each, you are recommended to set `memoryMib` to no more than `8192`, or you are recommended to run two tasks on the same VM if you set `memoryMib` to `4096` or less.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Container": { +"description": "Container runnable.", +"id": "Container", +"properties": { +"blockExternalNetwork": { +"description": "If set to true, external network access to and from container will be blocked, containers that are with block_external_network as true can still communicate with each other, network cannot be specified in the `container.options` field.", +"type": "boolean" +}, +"commands": { +"description": "Required for some container images. Overrides the `CMD` specified in the container. If there is an `ENTRYPOINT` (either in the container image or with the `entrypoint` field below) then these commands are appended as arguments to the `ENTRYPOINT`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableImageStreaming": { +"description": "Optional. If set to true, this container runnable uses Image streaming. Use Image streaming to allow the runnable to initialize without waiting for the entire container image to download, which can significantly reduce startup time for large container images. When `enableImageStreaming` is set to true, the container runtime is [containerd](https://containerd.io/) instead of Docker. Additionally, this container runnable only supports the following `container` subfields: `imageUri`, `commands[]`, `entrypoint`, and `volumes[]`; any other `container` subfields are ignored. For more information about the requirements and limitations for using Image streaming with Batch, see the [`image-streaming` sample on GitHub](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming).", +"type": "boolean" +}, +"entrypoint": { +"description": "Required for some container images. Overrides the `ENTRYPOINT` specified in the container.", +"type": "string" +}, +"imageUri": { +"description": "Required. The URI to pull the container image from.", +"type": "string" +}, +"options": { +"description": "Required for some container images. Arbitrary additional options to include in the `docker run` command when running this container\u2014for example, `--network host`. For the `--volume` option, use the `volumes` field for the container.", +"type": "string" +}, +"password": { +"description": "Required if the container image is from a private Docker registry. The password to login to the Docker registry that contains the image. For security, it is strongly recommended to specify an encrypted password by using a Secret Manager secret: `projects/*/secrets/*/versions/*`. Warning: If you specify the password using plain text, you risk the password being exposed to any users who can view the job or its logs. To avoid this risk, specify a secret that contains the password instead. Learn more about [Secret Manager](https://cloud.google.com/secret-manager/docs/) and [using Secret Manager with Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager).", +"type": "string" +}, +"username": { +"description": "Required if the container image is from a private Docker registry. The username to login to the Docker registry that contains the image. You can either specify the username directly by using plain text or specify an encrypted username by using a Secret Manager secret: `projects/*/secrets/*/versions/*`. However, using a secret is recommended for enhanced security. Caution: If you specify the username using plain text, you risk the username being exposed to any users who can view the job or its logs. To avoid this risk, specify a secret that contains the username instead. Learn more about [Secret Manager](https://cloud.google.com/secret-manager/docs/) and [using Secret Manager with Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager).", +"type": "string" +}, +"volumes": { +"description": "Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match `--volume` option for the `docker run` command\u2014for example, `/foo:/bar` or `/foo:/bar:ro`. If the `TaskSpec.Volumes` field is specified but this field is not, Batch will mount each volume from the host machine to the container with the same mount path by default. In this case, the default mount option for containers will be read-only (`ro`) for existing persistent disks and read-write (`rw`) for other volume types, regardless of the original mount options specified in `TaskSpec.Volumes`. If you need different mount settings, you can explicitly configure them in this field.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Disk": { +"description": "A new persistent disk or a local ssd. A VM can only have one local SSD setting but multiple local SSD partitions. See https://cloud.google.com/compute/docs/disks#pdspecs and https://cloud.google.com/compute/docs/disks#localssds.", +"id": "Disk", +"properties": { +"diskInterface": { +"description": "Local SSDs are available through both \"SCSI\" and \"NVMe\" interfaces. If not indicated, \"NVMe\" will be the default one for local ssds. This field is ignored for persistent disks as the interface is chosen automatically. See https://cloud.google.com/compute/docs/disks/persistent-disks#choose_an_interface.", +"type": "string" +}, +"image": { +"description": "URL for a VM image to use as the data source for this disk. For example, the following are all valid URLs: * Specify the image by its family name: projects/{project}/global/images/family/{image_family} * Specify the image version: projects/{project}/global/images/{image_version} You can also use Batch customized image in short names. The following image values are supported for a boot disk: * `batch-debian`: use Batch Debian images. * `batch-cos`: use Batch Container-Optimized images. * `batch-hpc-rocky`: use Batch HPC Rocky Linux images.", +"type": "string" +}, +"sizeGb": { +"description": "Disk size in GB. **Non-Boot Disk**: If the `type` specifies a persistent disk, this field is ignored if `data_source` is set as `image` or `snapshot`. If the `type` specifies a local SSD, this field should be a multiple of 375 GB, otherwise, the final size will be the next greater multiple of 375 GB. **Boot Disk**: Batch will calculate the boot disk size based on source image and task requirements if you do not speicify the size. If both this field and the `boot_disk_mib` field in task spec's `compute_resource` are defined, Batch will only honor this field. Also, this field should be no smaller than the source disk's size when the `data_source` is set as `snapshot` or `image`. For example, if you set an image as the `data_source` field and the image's default disk size 30 GB, you can only use this field to make the disk larger or equal to 30 GB.", +"format": "int64", +"type": "string" +}, +"snapshot": { +"description": "Name of a snapshot used as the data source. Snapshot is not supported as boot disk now.", +"type": "string" +}, +"type": { +"description": "Disk type as shown in `gcloud compute disk-types list`. For example, local SSD uses type \"local-ssd\". Persistent disks and boot disks use \"pd-balanced\", \"pd-extreme\", \"pd-ssd\" or \"pd-standard\". If not specified, \"pd-standard\" will be used as the default type for non-boot disks, \"pd-balanced\" will be used as the default type for boot disks.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Environment": { +"description": "An Environment describes a collection of environment variables to set when executing Tasks.", +"id": "Environment", +"properties": { +"encryptedVariables": { +"$ref": "KMSEnvMap", +"description": "An encrypted JSON dictionary where the key/value pairs correspond to environment variable names and their values." +}, +"secretVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of environment variable names to Secret Manager secret names. The VM will access the named secrets to set the value of each environment variable.", +"type": "object" +}, +"variables": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of environment variable names to values.", +"type": "object" +} +}, +"type": "object" +}, +"GCS": { +"description": "Represents a Google Cloud Storage volume.", +"id": "GCS", +"properties": { +"remotePath": { +"description": "Remote path, either a bucket name or a subdirectory of a bucket, e.g.: bucket_name, bucket_name/subdirectory/", +"type": "string" +} +}, +"type": "object" +}, +"InstancePolicy": { +"description": "InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy.", +"id": "InstancePolicy", +"properties": { +"accelerators": { +"description": "The accelerators attached to each VM instance.", +"items": { +"$ref": "Accelerator" +}, +"type": "array" +}, +"bootDisk": { +"$ref": "Disk", +"description": "Boot disk to be created and attached to each VM by this InstancePolicy. Boot disk will be deleted when the VM is deleted. Batch API now only supports booting from image." +}, +"disks": { +"description": "Non-boot disks to be attached for each VM created by this InstancePolicy. New disks will be deleted when the VM is deleted. A non-boot disk is a disk that can be of a device with a file system or a raw storage drive that is not ready for data storage and accessing.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"machineType": { +"description": "The Compute Engine machine type.", +"type": "string" +}, +"minCpuPlatform": { +"description": "The minimum CPU platform. See https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", +"type": "string" +}, +"provisioningModel": { +"description": "The provisioning model.", +"enum": [ +"PROVISIONING_MODEL_UNSPECIFIED", +"STANDARD", +"SPOT", +"PREEMPTIBLE" +], +"enumDescriptions": [ +"Unspecified.", +"Standard VM.", +"SPOT VM.", +"Preemptible VM (PVM). Above SPOT VM is the preferable model for preemptible VM instances: the old preemptible VM model (indicated by this field) is the older model, and has been migrated to use the SPOT model as the underlying technology. This old model will still be supported." +], +"type": "string" +}, +"reservation": { +"description": "Optional. If not specified (default), VMs will consume any applicable reservation. If \"NO_RESERVATION\" is specified, VMs will not consume any reservation. Otherwise, if specified, VMs will consume only the specified reservation.", +"type": "string" +} +}, +"type": "object" +}, +"InstancePolicyOrTemplate": { +"description": "InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks.", +"id": "InstancePolicyOrTemplate", +"properties": { +"blockProjectSshKeys": { +"description": "Optional. Set this field to `true` if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job. Batch allows project-level SSH keys for a job's VMs only if all the following are true: + This field is undefined or set to `false`. + The job's VM instance template (if any) doesn't block project-level SSH keys. Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys", +"type": "boolean" +}, +"installGpuDrivers": { +"description": "Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your behalf. Default is false. For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py.", +"type": "boolean" +}, +"installOpsAgent": { +"description": "Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false.", +"type": "boolean" +}, +"instanceTemplate": { +"description": "Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL.", +"type": "string" +}, +"policy": { +"$ref": "InstancePolicy", +"description": "InstancePolicy." +} +}, +"type": "object" +}, +"InstanceStatus": { +"description": "VM instance status.", +"id": "InstanceStatus", +"properties": { +"bootDisk": { +"$ref": "Disk", +"description": "The VM boot disk." +}, +"machineType": { +"description": "The Compute Engine machine type.", +"type": "string" +}, +"provisioningModel": { +"description": "The VM instance provisioning model.", +"enum": [ +"PROVISIONING_MODEL_UNSPECIFIED", +"STANDARD", +"SPOT", +"PREEMPTIBLE" +], +"enumDescriptions": [ +"Unspecified.", +"Standard VM.", +"SPOT VM.", +"Preemptible VM (PVM). Above SPOT VM is the preferable model for preemptible VM instances: the old preemptible VM model (indicated by this field) is the older model, and has been migrated to use the SPOT model as the underlying technology. This old model will still be supported." +], +"type": "string" +}, +"taskPack": { +"description": "The max number of tasks can be assigned to this instance type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Job": { +"description": "The Cloud Batch Job description.", +"id": "Job", +"properties": { +"allocationPolicy": { +"$ref": "AllocationPolicy", +"description": "Compute resource allocation for all TaskGroups in the Job." +}, +"createTime": { +"description": "Output only. When the Job was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Custom labels to apply to the job and any Cloud Logging [LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) that it generates. Use labels to group and describe the resources they are applied to. Batch automatically applies predefined labels and supports multiple `labels` fields for each job, which each let you apply custom labels to various resources. Label names that start with \"goog-\" or \"google-\" are reserved for predefined labels. For more information about labels with Batch, see [Organize resources using labels](https://cloud.google.com/batch/docs/organize-resources-using-labels).", +"type": "object" +}, +"logsPolicy": { +"$ref": "LogsPolicy", +"description": "Log preservation policy for the Job." +}, +"name": { +"description": "Output only. Job name. For example: \"projects/123456/locations/us-central1/jobs/job01\".", +"readOnly": true, +"type": "string" +}, +"notifications": { +"description": "Notification configurations.", +"items": { +"$ref": "JobNotification" +}, +"type": "array" +}, +"priority": { +"description": "Priority of the Job. The valid value range is [0, 100). Default value is 0. Higher value indicates higher priority. A job with higher priority value is more likely to run earlier if all other requirements are satisfied.", +"format": "int64", +"type": "string" +}, +"status": { +"$ref": "JobStatus", +"description": "Output only. Job status. It is read only for users.", +"readOnly": true +}, +"taskGroups": { +"description": "Required. TaskGroups in the Job. Only one TaskGroup is supported now.", +"items": { +"$ref": "TaskGroup" +}, +"type": "array" +}, +"uid": { +"description": "Output only. A system generated unique ID for the Job.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last time the Job was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"JobNotification": { +"description": "Notification configurations.", +"id": "JobNotification", +"properties": { +"message": { +"$ref": "Message", +"description": "The attribute requirements of messages to be sent to this Pub/Sub topic. Without this field, no message will be sent." +}, +"pubsubTopic": { +"description": "The Pub/Sub topic where notifications for the job, like state changes, will be published. If undefined, no Pub/Sub notifications are sent for this job. Specify the topic using the following format: `projects/{project}/topics/{topic}`. Notably, if you want to specify a Pub/Sub topic that is in a different project than the job, your administrator must grant your project's Batch service agent permission to publish to that topic. For more information about configuring Pub/Sub notifications for a job, see https://cloud.google.com/batch/docs/enable-notifications.", +"type": "string" +} +}, +"type": "object" +}, +"JobStatus": { +"description": "Job status.", +"id": "JobStatus", +"properties": { +"runDuration": { +"description": "The duration of time that the Job spent in status RUNNING.", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "Job state", +"enum": [ +"STATE_UNSPECIFIED", +"QUEUED", +"SCHEDULED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETION_IN_PROGRESS" +], +"enumDescriptions": [ +"Job state unspecified.", +"Job is admitted (validated and persisted) and waiting for resources.", +"Job is scheduled to run as soon as resource allocation is ready. The resource allocation may happen at a later time but with a high chance to succeed.", +"Resource allocation has been successful. At least one Task in the Job is RUNNING.", +"All Tasks in the Job have finished successfully.", +"At least one Task in the Job has failed.", +"The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up." +], +"type": "string" +}, +"statusEvents": { +"description": "Job status events", +"items": { +"$ref": "StatusEvent" +}, +"type": "array" +}, +"taskGroups": { +"additionalProperties": { +"$ref": "TaskGroupStatus" +}, +"description": "Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID.", +"type": "object" +} +}, +"type": "object" +}, +"KMSEnvMap": { +"id": "KMSEnvMap", +"properties": { +"cipherText": { +"description": "The value of the cipherText response from the `encrypt` method.", +"type": "string" +}, +"keyName": { +"description": "The name of the KMS key that will be used to decrypt the cipher text.", +"type": "string" +} +}, +"type": "object" +}, +"LifecyclePolicy": { +"description": "LifecyclePolicy describes how to deal with task failures based on different conditions.", +"id": "LifecyclePolicy", +"properties": { +"action": { +"description": "Action to execute when ActionCondition is true. When RETRY_TASK is specified, we will retry failed tasks if we notice any exit code match and fail tasks if no match is found. Likewise, when FAIL_TASK is specified, we will fail tasks if we notice any exit code match and retry tasks if no match is found.", +"enum": [ +"ACTION_UNSPECIFIED", +"RETRY_TASK", +"FAIL_TASK" +], +"enumDescriptions": [ +"Action unspecified.", +"Action that tasks in the group will be scheduled to re-execute.", +"Action that tasks in the group will be stopped immediately." +], +"type": "string" +}, +"actionCondition": { +"$ref": "ActionCondition", +"description": "Conditions that decide why a task failure is dealt with a specific action." +} +}, +"type": "object" +}, +"ListJobsResponse": { +"description": "ListJob Response.", +"id": "ListJobsResponse", +"properties": { +"jobs": { +"description": "Jobs.", +"items": { +"$ref": "Job" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTasksResponse": { +"description": "ListTasks Response.", +"id": "ListTasksResponse", +"properties": { +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"tasks": { +"description": "Tasks.", +"items": { +"$ref": "Task" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicy": { +"id": "LocationPolicy", +"properties": { +"allowedLocations": { +"description": "A list of allowed location names represented by internal URLs. Each location can be a region or a zone. Only one region or multiple zones in one region is supported now. For example, [\"regions/us-central1\"] allow VMs in any zones in region us-central1. [\"zones/us-central1-a\", \"zones/us-central1-c\"] only allow VMs in zones us-central1-a and us-central1-c. Mixing locations from different regions would cause errors. For example, [\"regions/us-central1\", \"zones/us-central1-a\", \"zones/us-central1-b\", \"zones/us-west1-a\"] contains locations from two distinct regions: us-central1 and us-west1. This combination will trigger an error.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"LogsPolicy": { +"description": "LogsPolicy describes if and how a job's logs are preserved. Logs include information that is automatically written by the Batch service agent and any information that you configured the job's runnables to write to the `stdout` or `stderr` streams.", +"id": "LogsPolicy", +"properties": { +"cloudLoggingOption": { +"$ref": "CloudLoggingOption", +"description": "Optional. When `destination` is set to `CLOUD_LOGGING`, you can optionally set this field to configure additional settings for Cloud Logging." +}, +"destination": { +"description": "If and where logs should be saved.", +"enum": [ +"DESTINATION_UNSPECIFIED", +"CLOUD_LOGGING", +"PATH" +], +"enumDescriptions": [ +"(Default) Logs are not preserved.", +"Logs are streamed to Cloud Logging. Optionally, you can configure additional settings in the `cloudLoggingOption` field.", +"Logs are saved to the file path specified in the `logsPath` field." +], +"type": "string" +}, +"logsPath": { +"description": "When `destination` is set to `PATH`, you must set this field to the path where you want logs to be saved. This path can point to a local directory on the VM or (if congifured) a directory under the mount path of any Cloud Storage bucket, network file system (NFS), or writable persistent disk that is mounted to the job. For example, if the job has a bucket with `mountPath` set to `/mnt/disks/my-bucket`, you can write logs to the root directory of the `remotePath` of that bucket by setting this field to `/mnt/disks/my-bucket/`.", +"type": "string" +} +}, +"type": "object" +}, +"Message": { +"description": "Message details. Describe the conditions under which messages will be sent. If no attribute is defined, no message will be sent by default. One message should specify either the job or the task level attributes, but not both. For example, job level: JOB_STATE_CHANGED and/or a specified new_job_state; task level: TASK_STATE_CHANGED and/or a specified new_task_state.", +"id": "Message", +"properties": { +"newJobState": { +"description": "The new job state.", +"enum": [ +"STATE_UNSPECIFIED", +"QUEUED", +"SCHEDULED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETION_IN_PROGRESS" +], +"enumDescriptions": [ +"Job state unspecified.", +"Job is admitted (validated and persisted) and waiting for resources.", +"Job is scheduled to run as soon as resource allocation is ready. The resource allocation may happen at a later time but with a high chance to succeed.", +"Resource allocation has been successful. At least one Task in the Job is RUNNING.", +"All Tasks in the Job have finished successfully.", +"At least one Task in the Job has failed.", +"The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up." +], +"type": "string" +}, +"newTaskState": { +"description": "The new task state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ASSIGNED", +"RUNNING", +"FAILED", +"SUCCEEDED", +"UNEXECUTED" +], +"enumDescriptions": [ +"Unknown state.", +"The Task is created and waiting for resources.", +"The Task is assigned to at least one VM.", +"The Task is running.", +"The Task has failed.", +"The Task has succeeded.", +"The Task has not been executed when the Job finishes." +], +"type": "string" +}, +"type": { +"description": "The message type.", +"enum": [ +"TYPE_UNSPECIFIED", +"JOB_STATE_CHANGED", +"TASK_STATE_CHANGED" +], +"enumDescriptions": [ +"Unspecified.", +"Notify users that the job state has changed.", +"Notify users that the task state has changed." +], +"type": "string" +} +}, +"type": "object" +}, +"NFS": { +"description": "Represents an NFS volume.", +"id": "NFS", +"properties": { +"remotePath": { +"description": "Remote source path exported from the NFS, e.g., \"/share\".", +"type": "string" +}, +"server": { +"description": "The IP address of the NFS.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkInterface": { +"description": "A network interface.", +"id": "NetworkInterface", +"properties": { +"network": { +"description": "The URL of an existing network resource. You can specify the network as a full or partial URL. For example, the following are all valid URLs: * https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} * projects/{project}/global/networks/{network} * global/networks/{network}", +"type": "string" +}, +"noExternalIpAddress": { +"description": "Default is false (with an external IP address). Required if no external public IP address is attached to the VM. If no external public IP address, additional configuration is required to allow the VM to access Google Services. See https://cloud.google.com/vpc/docs/configure-private-google-access and https://cloud.google.com/nat/docs/gce-example#create-nat for more information.", +"type": "boolean" +}, +"subnetwork": { +"description": "The URL of an existing subnetwork resource in the network. You can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: * https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork} * projects/{project}/regions/{region}/subnetworks/{subnetwork} * regions/{region}/subnetworks/{subnetwork}", +"type": "string" +} +}, +"type": "object" +}, +"NetworkPolicy": { +"description": "NetworkPolicy describes VM instance network configurations.", +"id": "NetworkPolicy", +"properties": { +"networkInterfaces": { +"description": "Network configurations.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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 google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"PlacementPolicy": { +"description": "PlacementPolicy describes a group placement policy for the VMs controlled by this AllocationPolicy.", +"id": "PlacementPolicy", +"properties": { +"collocation": { +"description": "UNSPECIFIED vs. COLLOCATED (default UNSPECIFIED). Use COLLOCATED when you want VMs to be located close to each other for low network latency between the VMs. No placement policy will be generated when collocation is UNSPECIFIED.", +"type": "string" +}, +"maxDistance": { +"description": "When specified, causes the job to fail if more than max_distance logical switches are required between VMs. Batch uses the most compact possible placement of VMs even when max_distance is not specified. An explicit max_distance makes that level of compactness a strict requirement. Not yet implemented", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportAgentStateRequest": { +"description": "Request to report agent's state. The Request itself implies the agent is healthy.", +"id": "ReportAgentStateRequest", +"properties": { +"agentInfo": { +"$ref": "AgentInfo", +"description": "Agent info." +}, +"agentTimingInfo": { +"$ref": "AgentTimingInfo", +"description": "Agent timing info." +}, +"metadata": { +"$ref": "AgentMetadata", +"description": "Agent metadata." +} +}, +"type": "object" +}, +"ReportAgentStateResponse": { +"description": "Response to ReportAgentStateRequest.", +"id": "ReportAgentStateResponse", +"properties": { +"defaultReportInterval": { +"description": "Default report interval override", +"format": "google-duration", +"type": "string" +}, +"minReportInterval": { +"description": "Minimum report interval override", +"format": "google-duration", +"type": "string" +}, +"tasks": { +"description": "Tasks assigned to the agent", +"items": { +"$ref": "AgentTask" +}, +"type": "array" +}, +"useBatchMonitoredResource": { +"description": "If true, the cloud logging for batch agent will use batch.googleapis.com/Job as monitored resource for Batch job related logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"Runnable": { +"description": "Runnable describes instructions for executing a specific script or container as part of a Task.", +"id": "Runnable", +"properties": { +"alwaysRun": { +"description": "By default, after a Runnable fails, no further Runnable are executed. This flag indicates that this Runnable must be run even if the Task has already failed. This is useful for Runnables that copy output files off of the VM or for debugging. The always_run flag does not override the Task's overall max_run_duration. If the max_run_duration has expired then no further Runnables will execute, not even always_run Runnables.", +"type": "boolean" +}, +"background": { +"description": "Normally, a runnable that doesn't exit causes its task to fail. However, you can set this field to `true` to configure a background runnable. Background runnables are allowed continue running in the background while the task executes subsequent runnables. For example, background runnables are useful for providing services to other runnables or providing debugging-support tools like SSH servers. Specifically, background runnables are killed automatically (if they have not already exited) a short time after all foreground runnables have completed. Even though this is likely to result in a non-zero exit status for the background runnable, these automatic kills are not treated as task failures.", +"type": "boolean" +}, +"barrier": { +"$ref": "Barrier", +"description": "Barrier runnable." +}, +"container": { +"$ref": "Container", +"description": "Container runnable." +}, +"displayName": { +"description": "Optional. DisplayName is an optional field that can be provided by the caller. If provided, it will be used in logs and other outputs to identify the script, making it easier for users to understand the logs. If not provided the index of the runnable will be used for outputs.", +"type": "string" +}, +"environment": { +"$ref": "Environment", +"description": "Environment variables for this Runnable (overrides variables set for the whole Task or TaskGroup)." +}, +"ignoreExitStatus": { +"description": "Normally, a runnable that returns a non-zero exit status fails and causes the task to fail. However, you can set this field to `true` to allow the task to continue executing its other runnables even if this runnable fails.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this Runnable.", +"type": "object" +}, +"script": { +"$ref": "Script", +"description": "Script runnable." +}, +"timeout": { +"description": "Timeout for this Runnable.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Script": { +"description": "Script runnable.", +"id": "Script", +"properties": { +"path": { +"description": "The path to a script file that is accessible from the host VM(s). Unless the script file supports the default `#!/bin/sh` shell interpreter, you must specify an interpreter by including a [shebang line](https://en.wikipedia.org/wiki/Shebang_(Unix) as the first line of the file. For example, to execute the script using bash, include `#!/bin/bash` as the first line of the file. Alternatively, to execute the script using Python3, include `#!/usr/bin/env python3` as the first line of the file.", +"type": "string" +}, +"text": { +"description": "The text for a script. Unless the script text supports the default `#!/bin/sh` shell interpreter, you must specify an interpreter by including a [shebang line](https://en.wikipedia.org/wiki/Shebang_(Unix) at the beginning of the text. For example, to execute the script using bash, include `#!/bin/bash\\n` at the beginning of the text. Alternatively, to execute the script using Python3, include `#!/usr/bin/env python3\\n` at the beginning of the text.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "Carries information about a Google Cloud service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "List of scopes to be enabled for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StatusEvent": { +"description": "Status event.", +"id": "StatusEvent", +"properties": { +"description": { +"description": "Description of the event.", +"type": "string" +}, +"eventTime": { +"description": "The time this event occurred.", +"format": "google-datetime", +"type": "string" +}, +"taskExecution": { +"$ref": "TaskExecution", +"description": "Task Execution. This field is only defined for task-level status events where the task fails." +}, +"taskState": { +"description": "Task State. This field is only defined for task-level status events.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ASSIGNED", +"RUNNING", +"FAILED", +"SUCCEEDED", +"UNEXECUTED" +], +"enumDescriptions": [ +"Unknown state.", +"The Task is created and waiting for resources.", +"The Task is assigned to at least one VM.", +"The Task is running.", +"The Task has failed.", +"The Task has succeeded.", +"The Task has not been executed when the Job finishes." +], +"type": "string" +}, +"type": { +"description": "Type of the event.", +"type": "string" +} +}, +"type": "object" +}, +"Task": { +"description": "A Cloud Batch task.", +"id": "Task", +"properties": { +"name": { +"description": "Task name. The name is generated from the parent TaskGroup name and 'id' field. For example: \"projects/123456/locations/us-west1/jobs/job01/taskGroups/group01/tasks/task01\".", +"type": "string" +}, +"status": { +"$ref": "TaskStatus", +"description": "Task Status." +} +}, +"type": "object" +}, +"TaskExecution": { +"description": "This Task Execution field includes detail information for task execution procedures, based on StatusEvent types.", +"id": "TaskExecution", +"properties": { +"exitCode": { +"description": "The exit code of a finished task. If the task succeeded, the exit code will be 0. If the task failed but not due to the following reasons, the exit code will be 50000. Otherwise, it can be from different sources: * Batch known failures: https://cloud.google.com/batch/docs/troubleshooting#reserved-exit-codes. * Batch runnable execution failures; you can rely on Batch logs to further diagnose: https://cloud.google.com/batch/docs/analyze-job-using-logs. If there are multiple runnables failures, Batch only exposes the first error.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TaskGroup": { +"description": "A TaskGroup defines one or more Tasks that all share the same TaskSpec.", +"id": "TaskGroup", +"properties": { +"name": { +"description": "Output only. TaskGroup name. The system generates this field based on parent Job name. For example: \"projects/123456/locations/us-west1/jobs/job01/taskGroups/group01\".", +"readOnly": true, +"type": "string" +}, +"parallelism": { +"description": "Max number of tasks that can run in parallel. Default to min(task_count, parallel tasks per job limit). See: [Job Limits](https://cloud.google.com/batch/quotas#job_limits). Field parallelism must be 1 if the scheduling_policy is IN_ORDER.", +"format": "int64", +"type": "string" +}, +"permissiveSsh": { +"description": "When true, Batch will configure SSH to allow passwordless login between VMs running the Batch tasks in the same TaskGroup.", +"type": "boolean" +}, +"requireHostsFile": { +"description": "When true, Batch will populate a file with a list of all VMs assigned to the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path of that file. Defaults to false. The host file supports up to 1000 VMs.", +"type": "boolean" +}, +"runAsNonRoot": { +"description": "Optional. If not set or set to false, Batch uses the root user to execute runnables. If set to true, Batch runs the runnables using a non-root user. Currently, the non-root user Batch used is generated by OS Login. For more information, see [About OS Login](https://cloud.google.com/compute/docs/oslogin).", +"type": "boolean" +}, +"schedulingPolicy": { +"description": "Scheduling policy for Tasks in the TaskGroup. The default value is AS_SOON_AS_POSSIBLE.", +"enum": [ +"SCHEDULING_POLICY_UNSPECIFIED", +"AS_SOON_AS_POSSIBLE", +"IN_ORDER" +], +"enumDescriptions": [ +"Unspecified.", +"Run Tasks as soon as resources are available. Tasks might be executed in parallel depending on parallelism and task_count values.", +"Run Tasks sequentially with increased task index." +], +"type": "string" +}, +"taskCount": { +"description": "Number of Tasks in the TaskGroup. Default is 1.", +"format": "int64", +"type": "string" +}, +"taskCountPerNode": { +"description": "Max number of tasks that can be run on a VM at the same time. If not specified, the system will decide a value based on available compute resources on a VM and task requirements.", +"format": "int64", +"type": "string" +}, +"taskEnvironments": { +"description": "An array of environment variable mappings, which are passed to Tasks with matching indices. If task_environments is used then task_count should not be specified in the request (and will be ignored). Task count will be the length of task_environments. Tasks get a BATCH_TASK_INDEX and BATCH_TASK_COUNT environment variable, in addition to any environment variables set in task_environments, specifying the number of Tasks in the Task's parent TaskGroup, and the specific Task's index in the TaskGroup (0 through BATCH_TASK_COUNT - 1).", +"items": { +"$ref": "Environment" +}, +"type": "array" +}, +"taskSpec": { +"$ref": "TaskSpec", +"description": "Required. Tasks in the group share the same task spec." +} +}, +"type": "object" +}, +"TaskGroupStatus": { +"description": "Aggregated task status for a TaskGroup.", +"id": "TaskGroupStatus", +"properties": { +"counts": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Count of task in each state in the TaskGroup. The map key is task state name.", +"type": "object" +}, +"instances": { +"description": "Status of instances allocated for the TaskGroup.", +"items": { +"$ref": "InstanceStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"TaskSpec": { +"description": "Spec of a task", +"id": "TaskSpec", +"properties": { +"computeResource": { +"$ref": "ComputeResource", +"description": "ComputeResource requirements." +}, +"environment": { +"$ref": "Environment", +"description": "Environment variables to set before running the Task." +}, +"environments": { +"additionalProperties": { +"type": "string" +}, +"deprecated": true, +"description": "Deprecated: please use environment(non-plural) instead.", +"type": "object" +}, +"lifecyclePolicies": { +"description": "Lifecycle management schema when any task in a task group is failed. Currently we only support one lifecycle policy. When the lifecycle policy condition is met, the action in the policy will execute. If task execution result does not meet with the defined lifecycle policy, we consider it as the default policy. Default policy means if the exit code is 0, exit task. If task ends with non-zero exit code, retry the task with max_retry_count.", +"items": { +"$ref": "LifecyclePolicy" +}, +"type": "array" +}, +"maxRetryCount": { +"description": "Maximum number of retries on failures. The default, 0, which means never retry. The valid value range is [0, 10].", +"format": "int32", +"type": "integer" +}, +"maxRunDuration": { +"description": "Maximum duration the task should run before being automatically retried (if enabled) or automatically failed. Format the value of this field as a time limit in seconds followed by `s`\u2014for example, `3600s` for 1 hour. The field accepts any value between 0 and the maximum listed for the `Duration` field type at https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, the actual maximum run time for a job will be limited to the maximum run time for a job listed at https://cloud.google.com/batch/quotas#max-job-duration.", +"format": "google-duration", +"type": "string" +}, +"runnables": { +"description": "Required. The sequence of one or more runnables (executable scripts, executable containers, and/or barriers) for each task in this task group to run. Each task runs this list of runnables in order. For a task to succeed, all of its script and container runnables each must meet at least one of the following conditions: + The runnable exited with a zero status. + The runnable didn't finish, but you enabled its `background` subfield. + The runnable exited with a non-zero status, but you enabled its `ignore_exit_status` subfield.", +"items": { +"$ref": "Runnable" +}, +"type": "array" +}, +"volumes": { +"description": "Volumes to mount before running Tasks using this TaskSpec.", +"items": { +"$ref": "Volume" +}, +"type": "array" +} +}, +"type": "object" +}, +"TaskStatus": { +"description": "Status of a task.", +"id": "TaskStatus", +"properties": { +"state": { +"description": "Task state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ASSIGNED", +"RUNNING", +"FAILED", +"SUCCEEDED", +"UNEXECUTED" +], +"enumDescriptions": [ +"Unknown state.", +"The Task is created and waiting for resources.", +"The Task is assigned to at least one VM.", +"The Task is running.", +"The Task has failed.", +"The Task has succeeded.", +"The Task has not been executed when the Job finishes." +], +"type": "string" +}, +"statusEvents": { +"description": "Detailed info about why the state is reached.", +"items": { +"$ref": "StatusEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"Volume": { +"description": "Volume describes a volume and parameters for it to be mounted to a VM.", +"id": "Volume", +"properties": { +"deviceName": { +"description": "Device name of an attached disk volume, which should align with a device_name specified by job.allocation_policy.instances[0].policy.disks[i].device_name or defined by the given instance template in job.allocation_policy.instances[0].instance_template.", +"type": "string" +}, +"gcs": { +"$ref": "GCS", +"description": "A Google Cloud Storage (GCS) volume." +}, +"mountOptions": { +"description": "Mount options vary based on the type of storage volume: * For a Cloud Storage bucket, all the mount options provided by the [`gcsfuse` tool](https://cloud.google.com/storage/docs/gcsfuse-cli) are supported. * For an existing persistent disk, all mount options provided by the [`mount` command](https://man7.org/linux/man-pages/man8/mount.8.html) except writing are supported. This is due to restrictions of [multi-writer mode](https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms). * For any other disk or a Network File System (NFS), all the mount options provided by the `mount` command are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mountPath": { +"description": "The mount path for the volume, e.g. /mnt/disks/share.", +"type": "string" +}, +"nfs": { +"$ref": "NFS", +"description": "A Network File System (NFS) volume. For example, a Filestore file share." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Batch API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ab043a5ceab19e22eb979a1d41383e6299518d92 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json @@ -0,0 +1,1490 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/bigquery": { +"description": "View and manage your data in Google BigQuery and see the email address for your Google Account" +}, +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://bigqueryreservation.googleapis.com/", +"batchPath": "batch", +"canonicalName": "BigQuery Reservation", +"description": "A service to modify your BigQuery flat-rate reservations.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/bigquery/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://bigqueryreservation.us-west8.rep.googleapis.com/", +"location": "us-west8" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "bigqueryreservation:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://bigqueryreservation.mtls.googleapis.com/", +"name": "bigqueryreservation", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"getBiReservation": { +"description": "Retrieves a BI reservation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/biReservation", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.getBiReservation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the requested reservation, for example: `projects/{project_id}/locations/{location_id}/biReservation`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/biReservation$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "BiReservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchAllAssignments": { +"description": "Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAllAssignments", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.searchAllAssignments", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name with location (project name could be the wildcard '-'), e.g.: `projects/-/locations/US`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"query": { +"description": "Please specify resource name as assignee in the query. Examples: * `assignee=projects/myproject` * `assignee=folders/123` * `assignee=organizations/456`", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}:searchAllAssignments", +"response": { +"$ref": "SearchAllAssignmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchAssignments": { +"deprecated": true, +"description": "Deprecated: Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. **Note** \"-\" cannot be used for projects nor locations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.searchAssignments", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the admin project(containing project and location), e.g.: `projects/myproject/locations/US`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"query": { +"description": "Please specify resource name as assignee in the query. Examples: * `assignee=projects/myproject` * `assignee=folders/123` * `assignee=organizations/456`", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}:searchAssignments", +"response": { +"$ref": "SearchAssignmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateBiReservation": { +"description": "Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity reservation size must be set to 0.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/biReservation", +"httpMethod": "PATCH", +"id": "bigqueryreservation.projects.locations.updateBiReservation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/biReservation$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "BiReservation" +}, +"response": { +"$ref": "BiReservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"capacityCommitments": { +"methods": { +"create": { +"description": "Creates a new capacity commitment resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.capacityCommitments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"capacityCommitmentId": { +"description": "The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.", +"location": "query", +"type": "string" +}, +"enforceSingleAdminProjectPerOrg": { +"description": "If true, fail the request if another project in the organization has a capacity commitment.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. Resource name of the parent reservation. E.g., `projects/myproject/locations/US`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/capacityCommitments", +"request": { +"$ref": "CapacityCommitment" +}, +"response": { +"$ref": "CapacityCommitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", +"httpMethod": "DELETE", +"id": "bigqueryreservation.projects.locations.capacityCommitments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns information about the capacity commitment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.capacityCommitments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the capacity commitment to retrieve. E.g., `projects/myproject/locations/US/capacityCommitments/123`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CapacityCommitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the capacity commitments for the admin project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.capacityCommitments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the parent reservation. E.g., `projects/myproject/locations/US`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/capacityCommitments", +"response": { +"$ref": "ListCapacityCommitmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"merge": { +"description": "Merges capacity commitments of the same plan into a single commitment. The resulting capacity commitment has the greater commitment_end_time out of the to-be-merged capacity commitments. Attempting to merge capacity commitments of different plan will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.capacityCommitments.merge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Parent resource that identifies admin project and location e.g., `projects/myproject/locations/us`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/capacityCommitments:merge", +"request": { +"$ref": "MergeCapacityCommitmentsRequest" +}, +"response": { +"$ref": "CapacityCommitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing capacity commitment. Only `plan` and `renewal_plan` fields can be updated. Plan can only be changed to a plan of a longer commitment period. Attempting to change to a plan with shorter commitment period will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", +"httpMethod": "PATCH", +"id": "bigqueryreservation.projects.locations.capacityCommitments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` The commitment_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CapacityCommitment" +}, +"response": { +"$ref": "CapacityCommitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"split": { +"description": "Splits capacity commitment to two commitments of the same plan and `commitment_end_time`. A common use case is to enable downgrading commitments. For example, in order to downgrade from 10000 slots to 8000, you might split a 10000 capacity commitment into commitments of 2000 and 8000. Then, you delete the first one after the commitment end time passes.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.capacityCommitments.split", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name e.g.,: `projects/myproject/locations/US/capacityCommitments/123`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:split", +"request": { +"$ref": "SplitCapacityCommitmentRequest" +}, +"response": { +"$ref": "SplitCapacityCommitmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"reservations": { +"methods": { +"create": { +"description": "Creates a new reservation resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.reservations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project, location. E.g., `projects/myproject/locations/US`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"reservationId": { +"description": "The reservation ID. It must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/reservations", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a reservation. Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has assignments.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", +"httpMethod": "DELETE", +"id": "bigqueryreservation.projects.locations.reservations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the reservation to retrieve. E.g., `projects/myproject/locations/US/reservations/team1-prod`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"failoverReservation": { +"description": "Fail over a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}:failoverReservation", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.reservations.failoverReservation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the reservation to failover. E.g., `projects/myproject/locations/US/reservations/team1-prod`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:failoverReservation", +"request": { +"$ref": "FailoverReservationRequest" +}, +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns information about the reservation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.reservations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the reservation to retrieve. E.g., `projects/myproject/locations/US/reservations/team1-prod`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the reservations for the project in the specified location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.reservations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name containing project and location, e.g.: `projects/myproject/locations/US`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reservations", +"response": { +"$ref": "ListReservationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing reservation resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", +"httpMethod": "PATCH", +"id": "bigqueryreservation.projects.locations.reservations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"assignments": { +"methods": { +"create": { +"description": "Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. \"None\" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a \"None\" assignment, use \"none\" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.reservations.assignments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"assignmentId": { +"description": "The optional assignment ID. Assignment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. Max length is 64 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name of the assignment E.g. `projects/myproject/locations/US/reservations/team1-prod`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/assignments", +"request": { +"$ref": "Assignment" +}, +"response": { +"$ref": "Assignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a assignment. No expansion will happen. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, deletion of the `` assignment won't affect the other assignment ``. After said deletion, queries from `project1` will still use `res1` while queries from `project2` will switch to use on-demand mode.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", +"httpMethod": "DELETE", +"id": "bigqueryreservation.projects.locations.reservations.assignments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, e.g. `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists assignments. Only explicitly created assignments will be returned. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, ListAssignments will just return the above two assignments for reservation `res1`, and no expansion/merge will happen. The wildcard \"-\" can be used for reservations in the request. In that case all assignments belongs to the specified project and location will be listed. **Note** \"-\" cannot be used for projects nor locations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", +"httpMethod": "GET", +"id": "bigqueryreservation.projects.locations.reservations.assignments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name e.g.: `projects/myproject/locations/US/reservations/team1-prod` Or: `projects/myproject/locations/US/reservations/-`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/assignments", +"response": { +"$ref": "ListAssignmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"move": { +"description": "Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.reservations.assignments.move", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the assignment, e.g. `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:move", +"request": { +"$ref": "MoveAssignmentRequest" +}, +"response": { +"$ref": "Assignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing assignment. Only the `priority` field can be updated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", +"httpMethod": "PATCH", +"id": "bigqueryreservation.projects.locations.reservations.assignments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. The assignment_id must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Assignment" +}, +"response": { +"$ref": "Assignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://bigqueryreservation.googleapis.com/", +"schemas": { +"Assignment": { +"description": "An assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", +"id": "Assignment", +"properties": { +"assignee": { +"description": "The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.", +"type": "string" +}, +"enableGeminiInBigquery": { +"description": "Optional. This field controls if \"Gemini in BigQuery\" (https://cloud.google.com/gemini/docs/bigquery/overview) features should be enabled for this reservation assignment, which is not on by default. \"Gemini in BigQuery\" has a distinct compliance posture from BigQuery. If this field is set to true, the assignment job type is QUERY, and the parent reservation edition is ENTERPRISE_PLUS, then the assignment will give the grantee project/organization access to \"Gemini in BigQuery\" features.", +"type": "boolean" +}, +"jobType": { +"description": "Which type of jobs will use the reservation.", +"enum": [ +"JOB_TYPE_UNSPECIFIED", +"PIPELINE", +"QUERY", +"ML_EXTERNAL", +"BACKGROUND", +"CONTINUOUS" +], +"enumDescriptions": [ +"Invalid type. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", +"Pipeline (load/export) jobs from the project will use the reservation.", +"Query jobs from the project will use the reservation.", +"BigQuery ML jobs that use services external to BigQuery for model training. These jobs will not utilize idle slots from other reservations.", +"Background jobs that BigQuery runs for the customers in the background.", +"Continuous SQL jobs will use this reservation. Reservations with continuous assignments cannot be mixed with non-continuous assignments." +], +"type": "string" +}, +"name": { +"description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. The assignment_id must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the assignment.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ACTIVE" +], +"enumDescriptions": [ +"Invalid state value.", +"Queries from assignee will be executed as on-demand, if related assignment is pending.", +"Assignment is ready." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Autoscale": { +"description": "Auto scaling settings.", +"id": "Autoscale", +"properties": { +"currentSlots": { +"description": "Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. Note: after users reduce max_slots, it may take a while before it can be propagated, so current_slots may stay in the original value and could be larger than max_slots for that brief period (less than one minute)", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxSlots": { +"description": "Number of slots to be scaled when needed.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"BiReservation": { +"description": "Represents a BI Reservation.", +"id": "BiReservation", +"properties": { +"name": { +"description": "The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`.", +"type": "string" +}, +"preferredTables": { +"description": "Preferred tables to use BI capacity for.", +"items": { +"$ref": "TableReference" +}, +"type": "array" +}, +"size": { +"description": "Size of a reservation, in bytes.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Output only. The last update timestamp of a reservation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CapacityCommitment": { +"description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs (in the form of slots) with some committed period of usage. Annual commitments renew by default. Commitments can be removed after their commitment end time passes. In order to remove annual commitment, its plan needs to be changed to monthly or flex first. A capacity commitment resource exists as a child resource of the admin project.", +"id": "CapacityCommitment", +"properties": { +"commitmentEndTime": { +"description": "Output only. The end of the current commitment period. It is applicable only for ACTIVE capacity commitments. Note after renewal, commitment_end_time is the time the renewed commitment expires. So itwould be at a time after commitment_start_time + committed period, because we don't change commitment_start_time ,", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"commitmentStartTime": { +"description": "Output only. The start of the current commitment period. It is applicable only for ACTIVE capacity commitments. Note after the commitment is renewed, commitment_start_time won't be changed. It refers to the start time of the original commitment.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"edition": { +"description": "Edition of the capacity commitment.", +"enum": [ +"EDITION_UNSPECIFIED", +"STANDARD", +"ENTERPRISE", +"ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"Default value, which will be treated as ENTERPRISE.", +"Standard edition.", +"Enterprise edition.", +"Enterprise Plus edition." +], +"type": "string" +}, +"failureStatus": { +"$ref": "Status", +"description": "Output only. For FAILED commitment plan, provides the reason of failure.", +"readOnly": true +}, +"isFlatRate": { +"description": "Output only. If true, the commitment is a flat-rate commitment, otherwise, it's an edition commitment.", +"readOnly": true, +"type": "boolean" +}, +"multiRegionAuxiliary": { +"description": "Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` The commitment_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", +"readOnly": true, +"type": "string" +}, +"plan": { +"description": "Capacity commitment commitment plan.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"FLEX", +"FLEX_FLAT_RATE", +"TRIAL", +"MONTHLY", +"MONTHLY_FLAT_RATE", +"ANNUAL", +"ANNUAL_FLAT_RATE", +"THREE_YEAR", +"NONE" +], +"enumDeprecated": [ +false, +false, +true, +true, +false, +true, +false, +true, +false, +false +], +"enumDescriptions": [ +"Invalid plan value. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", +"Flex commitments have committed period of 1 minute after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", +"Same as FLEX, should only be used if flat-rate commitments are still available.", +"Trial commitments have a committed period of 182 days after becoming ACTIVE. After that, they are converted to a new commitment based on the `renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so that it can be deleted right after committed period ends.", +"Monthly commitments have a committed period of 30 days after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", +"Same as MONTHLY, should only be used if flat-rate commitments are still available.", +"Annual commitments have a committed period of 365 days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan.", +"Same as ANNUAL, should only be used if flat-rate commitments are still available.", +"3-year commitments have a committed period of 1095(3 * 365) days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan.", +"Should only be used for `renewal_plan` and is only meaningful if edition is specified to values other than EDITION_UNSPECIFIED. Otherwise CreateCapacityCommitmentRequest or UpdateCapacityCommitmentRequest will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. If the renewal_plan is NONE, capacity commitment will be removed at the end of its commitment period." +], +"type": "string" +}, +"renewalPlan": { +"description": "The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"FLEX", +"FLEX_FLAT_RATE", +"TRIAL", +"MONTHLY", +"MONTHLY_FLAT_RATE", +"ANNUAL", +"ANNUAL_FLAT_RATE", +"THREE_YEAR", +"NONE" +], +"enumDeprecated": [ +false, +false, +true, +true, +false, +true, +false, +true, +false, +false +], +"enumDescriptions": [ +"Invalid plan value. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", +"Flex commitments have committed period of 1 minute after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", +"Same as FLEX, should only be used if flat-rate commitments are still available.", +"Trial commitments have a committed period of 182 days after becoming ACTIVE. After that, they are converted to a new commitment based on the `renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so that it can be deleted right after committed period ends.", +"Monthly commitments have a committed period of 30 days after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", +"Same as MONTHLY, should only be used if flat-rate commitments are still available.", +"Annual commitments have a committed period of 365 days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan.", +"Same as ANNUAL, should only be used if flat-rate commitments are still available.", +"3-year commitments have a committed period of 1095(3 * 365) days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan.", +"Should only be used for `renewal_plan` and is only meaningful if edition is specified to values other than EDITION_UNSPECIFIED. Otherwise CreateCapacityCommitmentRequest or UpdateCapacityCommitmentRequest will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. If the renewal_plan is NONE, capacity commitment will be removed at the end of its commitment period." +], +"type": "string" +}, +"slotCount": { +"description": "Number of slots in this commitment.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "Output only. State of the commitment.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ACTIVE", +"FAILED" +], +"enumDescriptions": [ +"Invalid state value.", +"Capacity commitment is pending provisioning. Pending capacity commitment does not contribute to the project's slot_capacity.", +"Once slots are provisioned, capacity commitment becomes active. slot_count is added to the project's slot_capacity.", +"Capacity commitment is failed to be activated by the backend." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FailoverReservationRequest": { +"description": "The request for ReservationService.FailoverReservation.", +"id": "FailoverReservationRequest", +"properties": {}, +"type": "object" +}, +"ListAssignmentsResponse": { +"description": "The response for ReservationService.ListAssignments.", +"id": "ListAssignmentsResponse", +"properties": { +"assignments": { +"description": "List of assignments visible to the user.", +"items": { +"$ref": "Assignment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListCapacityCommitmentsResponse": { +"description": "The response for ReservationService.ListCapacityCommitments.", +"id": "ListCapacityCommitmentsResponse", +"properties": { +"capacityCommitments": { +"description": "List of capacity commitments visible to the user.", +"items": { +"$ref": "CapacityCommitment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListReservationsResponse": { +"description": "The response for ReservationService.ListReservations.", +"id": "ListReservationsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"reservations": { +"description": "List of reservations visible to the user.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +} +}, +"type": "object" +}, +"MergeCapacityCommitmentsRequest": { +"description": "The request for ReservationService.MergeCapacityCommitments.", +"id": "MergeCapacityCommitmentsRequest", +"properties": { +"capacityCommitmentIds": { +"description": "Ids of capacity commitments to merge. These capacity commitments must exist under admin project and location specified in the parent. ID is the last portion of capacity commitment name e.g., 'abc' for projects/myproject/locations/US/capacityCommitments/abc", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MoveAssignmentRequest": { +"description": "The request for ReservationService.MoveAssignment. **Note**: \"bigquery.reservationAssignments.create\" permission is required on the destination_id. **Note**: \"bigquery.reservationAssignments.create\" and \"bigquery.reservationAssignments.delete\" permission are required on the related assignee.", +"id": "MoveAssignmentRequest", +"properties": { +"assignmentId": { +"description": "The optional assignment ID. A new assignment name is generated if this field is empty. This field can contain only lowercase alphanumeric characters or dashes. Max length is 64 characters.", +"type": "string" +}, +"destinationId": { +"description": "The new reservation ID, e.g.: `projects/myotherproject/locations/US/reservations/team2-prod`", +"type": "string" +} +}, +"type": "object" +}, +"Reservation": { +"description": "A reservation is a mechanism used to guarantee slots to users.", +"id": "Reservation", +"properties": { +"autoscale": { +"$ref": "Autoscale", +"description": "The configuration parameters for the auto scaling feature." +}, +"concurrency": { +"description": "Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI.", +"format": "int64", +"type": "string" +}, +"creationTime": { +"description": "Output only. Creation time of the reservation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"edition": { +"description": "Edition of the reservation.", +"enum": [ +"EDITION_UNSPECIFIED", +"STANDARD", +"ENTERPRISE", +"ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"Default value, which will be treated as ENTERPRISE.", +"Standard edition.", +"Enterprise edition.", +"Enterprise Plus edition." +], +"type": "string" +}, +"ignoreIdleSlots": { +"description": "If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when inserting or updating a reservation.", +"type": "object" +}, +"multiRegionAuxiliary": { +"description": "Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.", +"type": "boolean" +}, +"name": { +"description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", +"type": "string" +}, +"originalPrimaryLocation": { +"description": "Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location.", +"readOnly": true, +"type": "string" +}, +"primaryLocation": { +"description": "Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature.", +"readOnly": true, +"type": "string" +}, +"secondaryLocation": { +"description": "Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).", +"type": "string" +}, +"slotCapacity": { +"description": "Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled. The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update time of the reservation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SearchAllAssignmentsResponse": { +"description": "The response for ReservationService.SearchAllAssignments.", +"id": "SearchAllAssignmentsResponse", +"properties": { +"assignments": { +"description": "List of assignments visible to the user.", +"items": { +"$ref": "Assignment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"SearchAssignmentsResponse": { +"description": "The response for ReservationService.SearchAssignments.", +"id": "SearchAssignmentsResponse", +"properties": { +"assignments": { +"description": "List of assignments visible to the user.", +"items": { +"$ref": "Assignment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"SplitCapacityCommitmentRequest": { +"description": "The request for ReservationService.SplitCapacityCommitment.", +"id": "SplitCapacityCommitmentRequest", +"properties": { +"slotCount": { +"description": "Number of slots in the capacity commitment after the split.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SplitCapacityCommitmentResponse": { +"description": "The response for ReservationService.SplitCapacityCommitment.", +"id": "SplitCapacityCommitmentResponse", +"properties": { +"first": { +"$ref": "CapacityCommitment", +"description": "First capacity commitment, result of a split." +}, +"second": { +"$ref": "CapacityCommitment", +"description": "Second capacity commitment, result of a split." +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"TableReference": { +"description": "Fully qualified reference to BigQuery table. Internally stored as google.cloud.bi.v1.BqTableReference.", +"id": "TableReference", +"properties": { +"datasetId": { +"description": "The ID of the dataset in the above project.", +"type": "string" +}, +"projectId": { +"description": "The assigned project ID of the project.", +"type": "string" +}, +"tableId": { +"description": "The ID of the table in the above dataset.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "BigQuery Reservation API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..f60f10181b83c0c5cc38a1f6a305ae5ef00df369 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v2.json @@ -0,0 +1,1138 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/blogger": { +"description": "Manage your Blogger account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://blogger.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Blogger", +"description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "blogger:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://blogger.mtls.googleapis.com/", +"name": "blogger", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"blogs": { +"methods": { +"get": { +"description": "Gets a blog by id.", +"flatPath": "v2/blogs/{blogId}", +"httpMethod": "GET", +"id": "blogger.blogs.get", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/blogs/{blogId}", +"response": { +"$ref": "Blog" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists blogs by user id, possibly filtered.", +"flatPath": "v2/users/{userId}/blogs", +"httpMethod": "GET", +"id": "blogger.blogs.list", +"parameterOrder": [ +"userId" +], +"parameters": { +"userId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/users/{userId}/blogs", +"response": { +"$ref": "BlogList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"comments": { +"methods": { +"get": { +"description": "Gets a comment by blog id, post id and comment id.", +"flatPath": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"httpMethod": "GET", +"id": "blogger.comments.get", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists comments.", +"flatPath": "v2/blogs/{blogId}/posts/{postId}/comments", +"httpMethod": "GET", +"id": "blogger.comments.list", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +} +}, +"path": "v2/blogs/{blogId}/posts/{postId}/comments", +"response": { +"$ref": "CommentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"pages": { +"methods": { +"get": { +"description": "Gets a page by blog id and page id.", +"flatPath": "v2/blogs/{blogId}/pages/{pageId}", +"httpMethod": "GET", +"id": "blogger.pages.get", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/blogs/{blogId}/pages/{pageId}", +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists pages.", +"flatPath": "v2/blogs/{blogId}/pages", +"httpMethod": "GET", +"id": "blogger.pages.list", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +} +}, +"path": "v2/blogs/{blogId}/pages", +"response": { +"$ref": "PageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"posts": { +"methods": { +"get": { +"description": "Gets a post by blog id and post id", +"flatPath": "v2/blogs/{blogId}/posts/{postId}", +"httpMethod": "GET", +"id": "blogger.posts.get", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/blogs/{blogId}/posts/{postId}", +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists posts.", +"flatPath": "v2/blogs/{blogId}/posts", +"httpMethod": "GET", +"id": "blogger.posts.list", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +} +}, +"path": "v2/blogs/{blogId}/posts", +"response": { +"$ref": "PostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"users": { +"methods": { +"get": { +"description": "Gets a user by user id.", +"flatPath": "v2/users/{userId}", +"httpMethod": "GET", +"id": "blogger.users.get", +"parameterOrder": [ +"userId" +], +"parameters": { +"userId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2/users/{userId}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +} +}, +"revision": "20240708", +"rootUrl": "https://blogger.googleapis.com/", +"schemas": { +"Blog": { +"id": "Blog", +"properties": { +"customMetaData": { +"description": "The JSON custom meta-data for the Blog.", +"type": "string" +}, +"description": { +"description": "The description of this blog. This is displayed underneath the title.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"kind": { +"description": "The kind of this entry. Always blogger#blog.", +"type": "string" +}, +"locale": { +"description": "The locale this Blog is set to.", +"properties": { +"country": { +"description": "The country this blog's locale is set to.", +"type": "string" +}, +"language": { +"description": "The language this blog is authored in.", +"type": "string" +}, +"variant": { +"description": "The language variant this blog is authored in.", +"type": "string" +} +}, +"type": "object" +}, +"name": { +"description": "The name of this blog. This is displayed as the title.", +"type": "string" +}, +"pages": { +"description": "The container of pages in this blog.", +"properties": { +"selfLink": { +"description": "The URL of the container for pages in this blog.", +"type": "string" +}, +"totalItems": { +"description": "The count of pages in this blog.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"posts": { +"description": "The container of posts in this blog.", +"properties": { +"items": { +"description": "The List of Posts for this Blog.", +"items": { +"$ref": "Post" +}, +"type": "array" +}, +"selfLink": { +"description": "The URL of the container for posts in this blog.", +"type": "string" +}, +"totalItems": { +"description": "The count of posts in this blog.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this blog was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the blog.", +"enum": [ +"LIVE", +"DELETED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this blog was last updated.", +"type": "string" +}, +"url": { +"description": "The URL where this blog is published.", +"type": "string" +} +}, +"type": "object" +}, +"BlogList": { +"id": "BlogList", +"properties": { +"blogUserInfos": { +"description": "Admin level list of blog per-user information.", +"items": { +"$ref": "BlogUserInfo" +}, +"type": "array" +}, +"items": { +"description": "The list of Blogs this user has Authorship or Admin rights over.", +"items": { +"$ref": "Blog" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogList.", +"type": "string" +} +}, +"type": "object" +}, +"BlogPerUserInfo": { +"id": "BlogPerUserInfo", +"properties": { +"blogId": { +"description": "ID of the Blog resource.", +"type": "string" +}, +"hasAdminAccess": { +"description": "True if the user has Admin level access to the blog.", +"type": "boolean" +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogPerUserInfo.", +"type": "string" +}, +"photosAlbumKey": { +"description": "The Photo Album Key for the user when adding photos to the blog.", +"type": "string" +}, +"role": { +"description": "Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).", +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"userId": { +"description": "ID of the User.", +"type": "string" +} +}, +"type": "object" +}, +"BlogUserInfo": { +"id": "BlogUserInfo", +"properties": { +"blog": { +"$ref": "Blog", +"description": "The Blog resource." +}, +"blog_user_info": { +"$ref": "BlogPerUserInfo", +"description": "Information about a User for the Blog." +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogUserInfo.", +"type": "string" +} +}, +"type": "object" +}, +"Comment": { +"id": "Comment", +"properties": { +"author": { +"description": "The author of this Comment.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this comment.", +"properties": { +"id": { +"description": "The identifier of the blog containing this comment.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The actual content of the comment. May include HTML markup.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"inReplyTo": { +"description": "Data about the comment this is in reply to.", +"properties": { +"id": { +"description": "The identified of the parent of this comment.", +"type": "string" +} +}, +"type": "object" +}, +"kind": { +"description": "The kind of this entry. Always blogger#comment.", +"type": "string" +}, +"post": { +"description": "Data about the post containing this comment.", +"properties": { +"id": { +"description": "The identifier of the post containing this comment.", +"type": "string" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this comment was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the comment (only populated for admin users).", +"enum": [ +"LIVE", +"EMPTIED", +"PENDING", +"SPAM" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this comment was last updated.", +"type": "string" +} +}, +"type": "object" +}, +"CommentList": { +"id": "CommentList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The List of Comments for a Post.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entry. Always blogger#commentList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +}, +"prevPageToken": { +"description": "Pagination token to fetch the previous page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"Page": { +"id": "Page", +"properties": { +"author": { +"description": "The author of this Page.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this Page.", +"properties": { +"id": { +"description": "The identifier of the blog containing this page.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The body content of this Page, in HTML.", +"type": "string" +}, +"etag": { +"description": "Etag of the resource.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"kind": { +"description": "The kind of this entity. Always blogger#page.", +"type": "string" +}, +"published": { +"description": "RFC 3339 date-time when this Page was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the page for admin resources (either LIVE or DRAFT).", +"enum": [ +"LIVE", +"DRAFT", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"title": { +"description": "The title of this entity. This is the name displayed in the Admin user interface.", +"type": "string" +}, +"trashed": { +"description": "RFC 3339 date-time when this Page was trashed.", +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this Page was last updated.", +"type": "string" +}, +"url": { +"description": "The URL that this Page is displayed at.", +"type": "string" +} +}, +"type": "object" +}, +"PageList": { +"id": "PageList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The list of Pages for a Blog.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#pageList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"Post": { +"id": "Post", +"properties": { +"author": { +"description": "The author of this Post.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this Post.", +"properties": { +"id": { +"description": "The identifier of the Blog that contains this Post.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The content of the Post. May contain HTML markup.", +"type": "string" +}, +"customMetaData": { +"description": "The JSON meta-data for the Post.", +"type": "string" +}, +"etag": { +"description": "Etag of the resource.", +"type": "string" +}, +"id": { +"description": "The identifier of this Post.", +"type": "string" +}, +"images": { +"description": "Display image for the Post.", +"items": { +"properties": { +"url": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#post.", +"type": "string" +}, +"labels": { +"description": "The list of labels this Post was tagged with.", +"items": { +"type": "string" +}, +"type": "array" +}, +"location": { +"description": "The location for geotagged posts.", +"properties": { +"lat": { +"description": "Location's latitude.", +"format": "double", +"type": "number" +}, +"lng": { +"description": "Location's longitude.", +"format": "double", +"type": "number" +}, +"name": { +"description": "Location name.", +"type": "string" +}, +"span": { +"description": "Location's viewport span. Can be used when rendering a map preview.", +"type": "string" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this Post was published.", +"type": "string" +}, +"readerComments": { +"description": "Comment control and display setting for readers of this post.", +"enum": [ +"ALLOW", +"DONT_ALLOW_SHOW_EXISTING", +"DONT_ALLOW_HIDE_EXISTING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"replies": { +"description": "The container of comments on this Post.", +"properties": { +"items": { +"description": "The List of Comments for this Post.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"selfLink": { +"description": "The URL of the comments on this post.", +"type": "string" +}, +"totalItems": { +"description": "The count of comments on this post.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "Status of the post. Only set for admin-level requests.", +"enum": [ +"LIVE", +"DRAFT", +"SCHEDULED", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"title": { +"description": "The title of the Post.", +"type": "string" +}, +"titleLink": { +"description": "The title link URL, similar to atom's related link.", +"type": "string" +}, +"trashed": { +"description": "RFC 3339 date-time when this Post was last trashed.", +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this Post was last updated.", +"type": "string" +}, +"url": { +"description": "The URL where this Post is displayed.", +"type": "string" +} +}, +"type": "object" +}, +"PostList": { +"id": "PostList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The list of Posts for this Blog.", +"items": { +"$ref": "Post" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#postList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +}, +"prevPageToken": { +"description": "Pagination token to fetch the previous page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"id": "User", +"properties": { +"about": { +"description": "Profile summary information.", +"type": "string" +}, +"blogs": { +"description": "The container of blogs for this user.", +"properties": { +"selfLink": { +"description": "The URL of the Blogs for this user.", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "The timestamp of when this profile was created, in seconds since epoch.", +"type": "string" +}, +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier for this User.", +"type": "string" +}, +"kind": { +"description": "The kind of this entity. Always blogger#user.", +"type": "string" +}, +"locale": { +"description": "This user's locale", +"properties": { +"country": { +"description": "The country this blog's locale is set to.", +"type": "string" +}, +"language": { +"description": "The language this blog is authored in.", +"type": "string" +}, +"variant": { +"description": "The language variant this blog is authored in.", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"url": { +"description": "The user's profile page.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Blogger API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/books.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/books.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..3bea337c4ac90e4734b9185bb06420176a51702d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/books.v1.json @@ -0,0 +1,5012 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/books": { +"description": "Manage your books" +} +} +} +}, +"basePath": "", +"baseUrl": "https://books.googleapis.com/", +"batchPath": "batch", +"description": "The Google Books API allows clients to access the Google Books repository.", +"discoveryVersion": "v1", +"documentationLink": "https://code.google.com/apis/books/docs/v1/getting_started.html", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "books:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://books.mtls.googleapis.com/", +"name": "books", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"bookshelves": { +"methods": { +"get": { +"description": "Retrieves metadata for a specific bookshelf for the specified user.", +"flatPath": "books/v1/users/{userId}/bookshelves/{shelf}", +"httpMethod": "GET", +"id": "books.bookshelves.get", +"parameterOrder": [ +"userId", +"shelf" +], +"parameters": { +"shelf": { +"description": "ID of bookshelf to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"userId": { +"description": "ID of user for whom to retrieve bookshelves.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/users/{userId}/bookshelves/{shelf}", +"response": { +"$ref": "Bookshelf" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Retrieves a list of public bookshelves for the specified user.", +"flatPath": "books/v1/users/{userId}/bookshelves", +"httpMethod": "GET", +"id": "books.bookshelves.list", +"parameterOrder": [ +"userId" +], +"parameters": { +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"userId": { +"description": "ID of user for whom to retrieve bookshelves.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/users/{userId}/bookshelves", +"response": { +"$ref": "Bookshelves" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +}, +"resources": { +"volumes": { +"methods": { +"list": { +"description": "Retrieves volumes in a specific bookshelf for the specified user.", +"flatPath": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", +"httpMethod": "GET", +"id": "books.bookshelves.volumes.list", +"parameterOrder": [ +"userId", +"shelf" +], +"parameters": { +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"shelf": { +"description": "ID of bookshelf to retrieve volumes.", +"location": "path", +"required": true, +"type": "string" +}, +"showPreorders": { +"description": "Set to true to show pre-ordered books. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "Index of the first element to return (starts at 0)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"userId": { +"description": "ID of user for whom to retrieve bookshelf volumes.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +}, +"cloudloading": { +"methods": { +"addBook": { +"description": "Add a user-upload volume and triggers processing.", +"flatPath": "books/v1/cloudloading/addBook", +"httpMethod": "POST", +"id": "books.cloudloading.addBook", +"parameterOrder": [], +"parameters": { +"drive_document_id": { +"description": "A drive document id. The upload_client_token must not be set.", +"location": "query", +"type": "string" +}, +"mime_type": { +"description": "The document MIME type. It can be set only if the drive_document_id is set.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The document name. It can be set only if the drive_document_id is set.", +"location": "query", +"type": "string" +}, +"upload_client_token": { +"description": "Scotty upload token.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/cloudloading/addBook", +"response": { +"$ref": "BooksCloudloadingResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"deleteBook": { +"description": "Remove the book and its contents", +"flatPath": "books/v1/cloudloading/deleteBook", +"httpMethod": "POST", +"id": "books.cloudloading.deleteBook", +"parameterOrder": [ +"volumeId" +], +"parameters": { +"volumeId": { +"description": "The id of the book to be removed.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/cloudloading/deleteBook", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"updateBook": { +"description": "Updates a user-upload volume.", +"flatPath": "books/v1/cloudloading/updateBook", +"httpMethod": "POST", +"id": "books.cloudloading.updateBook", +"parameterOrder": [], +"parameters": {}, +"path": "books/v1/cloudloading/updateBook", +"request": { +"$ref": "BooksCloudloadingResource" +}, +"response": { +"$ref": "BooksCloudloadingResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"dictionary": { +"methods": { +"listOfflineMetadata": { +"description": "Returns a list of offline dictionary metadata available", +"flatPath": "books/v1/dictionary/listOfflineMetadata", +"httpMethod": "GET", +"id": "books.dictionary.listOfflineMetadata", +"parameterOrder": [ +"cpksver" +], +"parameters": { +"cpksver": { +"description": "The device/version ID from which to request the data.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/dictionary/listOfflineMetadata", +"response": { +"$ref": "Metadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"familysharing": { +"methods": { +"getFamilyInfo": { +"description": "Gets information regarding the family that the user is part of.", +"flatPath": "books/v1/familysharing/getFamilyInfo", +"httpMethod": "GET", +"id": "books.familysharing.getFamilyInfo", +"parameterOrder": [], +"parameters": { +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/familysharing/getFamilyInfo", +"response": { +"$ref": "FamilyInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"share": { +"description": "Initiates sharing of the content with the user's family. Empty response indicates success.", +"flatPath": "books/v1/familysharing/share", +"httpMethod": "POST", +"id": "books.familysharing.share", +"parameterOrder": [], +"parameters": { +"docId": { +"description": "The docid to share.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to share.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/familysharing/share", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"unshare": { +"description": "Initiates revoking content that has already been shared with the user's family. Empty response indicates success.", +"flatPath": "books/v1/familysharing/unshare", +"httpMethod": "POST", +"id": "books.familysharing.unshare", +"parameterOrder": [], +"parameters": { +"docId": { +"description": "The docid to unshare.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to unshare.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/familysharing/unshare", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"layers": { +"methods": { +"get": { +"description": "Gets the layer summary for a volume.", +"flatPath": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", +"httpMethod": "GET", +"id": "books.layers.get", +"parameterOrder": [ +"volumeId", +"summaryId" +], +"parameters": { +"contentVersion": { +"description": "The content version for the requested volume.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"summaryId": { +"description": "The ID for the layer to get the summary for.", +"location": "path", +"required": true, +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve layers for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", +"response": { +"$ref": "Layersummary" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "List the layer summaries for a volume.", +"flatPath": "books/v1/volumes/{volumeId}/layersummary", +"httpMethod": "GET", +"id": "books.layers.list", +"parameterOrder": [ +"volumeId" +], +"parameters": { +"contentVersion": { +"description": "The content version for the requested volume.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"maximum": "200", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve layers for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}/layersummary", +"response": { +"$ref": "Layersummaries" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +}, +"resources": { +"annotationData": { +"methods": { +"get": { +"description": "Gets the annotation data.", +"flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", +"httpMethod": "GET", +"id": "books.layers.annotationData.get", +"parameterOrder": [ +"volumeId", +"layerId", +"annotationDataId", +"contentVersion" +], +"parameters": { +"allowWebDefinitions": { +"description": "For the dictionary layer. Whether or not to allow web definitions.", +"location": "query", +"type": "boolean" +}, +"annotationDataId": { +"description": "The ID of the annotation data to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"contentVersion": { +"description": "The content version for the volume you are trying to retrieve.", +"location": "query", +"required": true, +"type": "string" +}, +"h": { +"description": "The requested pixel height for any images. If height is provided width must also be provided.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"layerId": { +"description": "The ID for the layer to get the annotations.", +"location": "path", +"required": true, +"type": "string" +}, +"locale": { +"description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", +"location": "query", +"type": "string" +}, +"scale": { +"description": "The requested scale for the image.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve annotations for.", +"location": "path", +"required": true, +"type": "string" +}, +"w": { +"description": "The requested pixel width for any images. If width is provided height must also be provided.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", +"response": { +"$ref": "DictionaryAnnotationdata" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Gets the annotation data for a volume and layer.", +"flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data", +"httpMethod": "GET", +"id": "books.layers.annotationData.list", +"parameterOrder": [ +"volumeId", +"layerId", +"contentVersion" +], +"parameters": { +"annotationDataId": { +"description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set.", +"location": "query", +"repeated": true, +"type": "string" +}, +"contentVersion": { +"description": "The content version for the requested volume.", +"location": "query", +"required": true, +"type": "string" +}, +"h": { +"description": "The requested pixel height for any images. If height is provided width must also be provided.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"layerId": { +"description": "The ID for the layer to get the annotation data.", +"location": "path", +"required": true, +"type": "string" +}, +"locale": { +"description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"maximum": "200", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +}, +"scale": { +"description": "The requested scale for the image.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"updatedMax": { +"description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", +"location": "query", +"type": "string" +}, +"updatedMin": { +"description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve annotation data for.", +"location": "path", +"required": true, +"type": "string" +}, +"w": { +"description": "The requested pixel width for any images. If width is provided height must also be provided.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "books/v1/volumes/{volumeId}/layers/{layerId}/data", +"response": { +"$ref": "Annotationsdata" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"volumeAnnotations": { +"methods": { +"get": { +"description": "Gets the volume annotation.", +"flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", +"httpMethod": "GET", +"id": "books.layers.volumeAnnotations.get", +"parameterOrder": [ +"volumeId", +"layerId", +"annotationId" +], +"parameters": { +"annotationId": { +"description": "The ID of the volume annotation to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"layerId": { +"description": "The ID for the layer to get the annotations.", +"location": "path", +"required": true, +"type": "string" +}, +"locale": { +"description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve annotations for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", +"response": { +"$ref": "Volumeannotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Gets the volume annotations for a volume and layer.", +"flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}", +"httpMethod": "GET", +"id": "books.layers.volumeAnnotations.list", +"parameterOrder": [ +"volumeId", +"layerId", +"contentVersion" +], +"parameters": { +"contentVersion": { +"description": "The content version for the requested volume.", +"location": "query", +"required": true, +"type": "string" +}, +"endOffset": { +"description": "The end offset to end retrieving data from.", +"location": "query", +"type": "string" +}, +"endPosition": { +"description": "The end position to end retrieving data from.", +"location": "query", +"type": "string" +}, +"layerId": { +"description": "The ID for the layer to get the annotations.", +"location": "path", +"required": true, +"type": "string" +}, +"locale": { +"description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"maximum": "200", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startOffset": { +"description": "The start offset to start retrieving data from.", +"location": "query", +"type": "string" +}, +"startPosition": { +"description": "The start position to start retrieving data from.", +"location": "query", +"type": "string" +}, +"updatedMax": { +"description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", +"location": "query", +"type": "string" +}, +"updatedMin": { +"description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", +"location": "query", +"type": "string" +}, +"volumeAnnotationsVersion": { +"description": "The version of the volume annotations that you are requesting.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to retrieve annotations for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}/layers/{layerId}", +"response": { +"$ref": "Volumeannotations" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +}, +"myconfig": { +"methods": { +"getUserSettings": { +"description": "Gets the current settings for the user.", +"flatPath": "books/v1/myconfig/getUserSettings", +"httpMethod": "GET", +"id": "books.myconfig.getUserSettings", +"parameterOrder": [], +"parameters": { +"country": { +"description": "Unused. Added only to workaround TEX mandatory request template requirement", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/myconfig/getUserSettings", +"response": { +"$ref": "Usersettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"releaseDownloadAccess": { +"description": "Release downloaded content access restriction.", +"flatPath": "books/v1/myconfig/releaseDownloadAccess", +"httpMethod": "POST", +"id": "books.myconfig.releaseDownloadAccess", +"parameterOrder": [ +"cpksver", +"volumeIds" +], +"parameters": { +"cpksver": { +"description": "The device/version ID from which to release the restriction.", +"location": "query", +"required": true, +"type": "string" +}, +"locale": { +"description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeIds": { +"description": "The volume(s) to release restrictions for.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "books/v1/myconfig/releaseDownloadAccess", +"response": { +"$ref": "DownloadAccesses" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"requestAccess": { +"description": "Request concurrent and download access restrictions.", +"flatPath": "books/v1/myconfig/requestAccess", +"httpMethod": "POST", +"id": "books.myconfig.requestAccess", +"parameterOrder": [ +"cpksver", +"nonce", +"source", +"volumeId" +], +"parameters": { +"cpksver": { +"description": "The device/version ID from which to request the restrictions.", +"location": "query", +"required": true, +"type": "string" +}, +"licenseTypes": { +"description": "The type of access license to request. If not specified, the default is BOTH.", +"enum": [ +"LICENSE_TYPES_UNDEFINED", +"BOTH", +"CONCURRENT", +"DOWNLOAD" +], +"enumDescriptions": [ +"", +"Both concurrent and download licenses.", +"Concurrent access license.", +"Offline download access license." +], +"location": "query", +"type": "string" +}, +"locale": { +"description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", +"location": "query", +"type": "string" +}, +"nonce": { +"description": "The client nonce value.", +"location": "query", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"required": true, +"type": "string" +}, +"volumeId": { +"description": "The volume to request concurrent/download restrictions for.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/myconfig/requestAccess", +"response": { +"$ref": "RequestAccessData" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"syncVolumeLicenses": { +"description": "Request downloaded content access for specified volumes on the My eBooks shelf.", +"flatPath": "books/v1/myconfig/syncVolumeLicenses", +"httpMethod": "POST", +"id": "books.myconfig.syncVolumeLicenses", +"parameterOrder": [ +"cpksver", +"nonce", +"source" +], +"parameters": { +"cpksver": { +"description": "The device/version ID from which to release the restriction.", +"location": "query", +"required": true, +"type": "string" +}, +"features": { +"description": "List of features supported by the client, i.e., 'RENTALS'", +"enum": [ +"FEATURES_UNDEFINED", +"RENTALS" +], +"enumDescriptions": [ +"", +"Client supports rentals." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"includeNonComicsSeries": { +"description": "Set to true to include non-comics series. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"locale": { +"description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", +"location": "query", +"type": "string" +}, +"nonce": { +"description": "The client nonce value.", +"location": "query", +"required": true, +"type": "string" +}, +"showPreorders": { +"description": "Set to true to show pre-ordered books. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"required": true, +"type": "string" +}, +"volumeIds": { +"description": "The volume(s) to request download restrictions for.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "books/v1/myconfig/syncVolumeLicenses", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"updateUserSettings": { +"description": "Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object stored in the server. Unspecified sub-objects will retain the existing value.", +"flatPath": "books/v1/myconfig/updateUserSettings", +"httpMethod": "POST", +"id": "books.myconfig.updateUserSettings", +"parameterOrder": [], +"parameters": {}, +"path": "books/v1/myconfig/updateUserSettings", +"request": { +"$ref": "Usersettings" +}, +"response": { +"$ref": "Usersettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"mylibrary": { +"resources": { +"annotations": { +"methods": { +"delete": { +"description": "Deletes an annotation.", +"flatPath": "books/v1/mylibrary/annotations/{annotationId}", +"httpMethod": "DELETE", +"id": "books.mylibrary.annotations.delete", +"parameterOrder": [ +"annotationId" +], +"parameters": { +"annotationId": { +"description": "The ID for the annotation to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/annotations/{annotationId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"insert": { +"description": "Inserts a new annotation.", +"flatPath": "books/v1/mylibrary/annotations", +"httpMethod": "POST", +"id": "books.mylibrary.annotations.insert", +"parameterOrder": [], +"parameters": { +"annotationId": { +"description": "The ID for the annotation to insert.", +"location": "query", +"type": "string" +}, +"country": { +"description": "ISO-3166-1 code to override the IP-based location.", +"location": "query", +"type": "string" +}, +"showOnlySummaryInResponse": { +"description": "Requests that only the summary of the specified layer be provided in the response.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/annotations", +"request": { +"$ref": "Annotation" +}, +"response": { +"$ref": "Annotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Retrieves a list of annotations, possibly filtered.", +"flatPath": "books/v1/mylibrary/annotations", +"httpMethod": "GET", +"id": "books.mylibrary.annotations.list", +"parameterOrder": [], +"parameters": { +"contentVersion": { +"description": "The content version for the requested volume.", +"location": "query", +"type": "string" +}, +"layerId": { +"description": "The layer ID to limit annotation by.", +"location": "query", +"type": "string" +}, +"layerIds": { +"description": "The layer ID(s) to limit annotation by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"maximum": "40", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"updatedMax": { +"description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", +"location": "query", +"type": "string" +}, +"updatedMin": { +"description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "The volume to restrict annotations to.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/annotations", +"response": { +"$ref": "Annotations" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"summary": { +"description": "Gets the summary of specified layers.", +"flatPath": "books/v1/mylibrary/annotations/summary", +"httpMethod": "POST", +"id": "books.mylibrary.annotations.summary", +"parameterOrder": [ +"layerIds", +"volumeId" +], +"parameters": { +"layerIds": { +"description": "Array of layer IDs to get the summary for.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"source": { +"description": "Optional. String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "Volume id to get the summary for.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/mylibrary/annotations/summary", +"response": { +"$ref": "AnnotationsSummary" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"update": { +"description": "Updates an existing annotation.", +"flatPath": "books/v1/mylibrary/annotations/{annotationId}", +"httpMethod": "PUT", +"id": "books.mylibrary.annotations.update", +"parameterOrder": [ +"annotationId" +], +"parameters": { +"annotationId": { +"description": "The ID for the annotation to update.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/annotations/{annotationId}", +"request": { +"$ref": "Annotation" +}, +"response": { +"$ref": "Annotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"bookshelves": { +"methods": { +"addVolume": { +"description": "Adds a volume to a bookshelf.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", +"httpMethod": "POST", +"id": "books.mylibrary.bookshelves.addVolume", +"parameterOrder": [ +"shelf", +"volumeId" +], +"parameters": { +"reason": { +"description": "The reason for which the book is added to the library.", +"enum": [ +"REASON_UNDEFINED", +"IOS_PREX", +"IOS_SEARCH", +"ONBOARDING" +], +"enumDescriptions": [ +"", +"Volumes added from the PREX flow on iOS.", +"Volumes added from the Search flow on iOS.", +"Volumes added from the Onboarding flow." +], +"location": "query", +"type": "string" +}, +"shelf": { +"description": "ID of bookshelf to which to add a volume.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of volume to add.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"clearVolumes": { +"description": "Clears all volumes from a bookshelf.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", +"httpMethod": "POST", +"id": "books.mylibrary.bookshelves.clearVolumes", +"parameterOrder": [ +"shelf" +], +"parameters": { +"shelf": { +"description": "ID of bookshelf from which to remove a volume.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"get": { +"description": "Retrieves metadata for a specific bookshelf belonging to the authenticated user.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}", +"httpMethod": "GET", +"id": "books.mylibrary.bookshelves.get", +"parameterOrder": [ +"shelf" +], +"parameters": { +"shelf": { +"description": "ID of bookshelf to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}", +"response": { +"$ref": "Bookshelf" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Retrieves a list of bookshelves belonging to the authenticated user.", +"flatPath": "books/v1/mylibrary/bookshelves", +"httpMethod": "GET", +"id": "books.mylibrary.bookshelves.list", +"parameterOrder": [], +"parameters": { +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/mylibrary/bookshelves", +"response": { +"$ref": "Bookshelves" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"moveVolume": { +"description": "Moves a volume within a bookshelf.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", +"httpMethod": "POST", +"id": "books.mylibrary.bookshelves.moveVolume", +"parameterOrder": [ +"shelf", +"volumeId", +"volumePosition" +], +"parameters": { +"shelf": { +"description": "ID of bookshelf with the volume.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of volume to move.", +"location": "query", +"required": true, +"type": "string" +}, +"volumePosition": { +"description": "Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.)", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"removeVolume": { +"description": "Removes a volume from a bookshelf.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", +"httpMethod": "POST", +"id": "books.mylibrary.bookshelves.removeVolume", +"parameterOrder": [ +"shelf", +"volumeId" +], +"parameters": { +"reason": { +"description": "The reason for which the book is removed from the library.", +"enum": [ +"REASON_UNDEFINED", +"ONBOARDING" +], +"enumDescriptions": [ +"", +"Samples removed from the Onboarding flow." +], +"location": "query", +"type": "string" +}, +"shelf": { +"description": "ID of bookshelf from which to remove a volume.", +"location": "path", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of volume to remove.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +}, +"resources": { +"volumes": { +"methods": { +"list": { +"description": "Gets volume information for volumes on a bookshelf.", +"flatPath": "books/v1/mylibrary/bookshelves/{shelf}/volumes", +"httpMethod": "GET", +"id": "books.mylibrary.bookshelves.volumes.list", +"parameterOrder": [ +"shelf" +], +"parameters": { +"country": { +"description": "ISO-3166-1 code to override the IP-based location.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"projection": { +"description": "Restrict information returned to a set of selected fields.", +"enum": [ +"PROJECTION_UNDEFINED", +"FULL", +"LITE" +], +"enumDescriptions": [ +"", +"Includes all volume data.", +"Includes a subset of fields in volumeInfo and accessInfo." +], +"location": "query", +"type": "string" +}, +"q": { +"description": "Full-text search query string in this bookshelf.", +"location": "query", +"type": "string" +}, +"shelf": { +"description": "The bookshelf ID or name retrieve volumes for.", +"location": "path", +"required": true, +"type": "string" +}, +"showPreorders": { +"description": "Set to true to show pre-ordered books. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "Index of the first element to return (starts at 0)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +} +}, +"path": "books/v1/mylibrary/bookshelves/{shelf}/volumes", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +}, +"readingpositions": { +"methods": { +"get": { +"description": "Retrieves my reading position information for a volume.", +"flatPath": "books/v1/mylibrary/readingpositions/{volumeId}", +"httpMethod": "GET", +"id": "books.mylibrary.readingpositions.get", +"parameterOrder": [ +"volumeId" +], +"parameters": { +"contentVersion": { +"description": "Volume content version for which this reading position is requested.", +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of volume for which to retrieve a reading position.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/mylibrary/readingpositions/{volumeId}", +"response": { +"$ref": "ReadingPosition" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"setPosition": { +"description": "Sets my reading position information for a volume.", +"flatPath": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", +"httpMethod": "POST", +"id": "books.mylibrary.readingpositions.setPosition", +"parameterOrder": [ +"volumeId", +"position", +"timestamp" +], +"parameters": { +"action": { +"description": "Action that caused this reading position to be set.", +"enum": [ +"ACTION_UNDEFINED", +"bookmark", +"chapter", +"next-page", +"prev-page", +"scroll", +"search" +], +"enumDescriptions": [ +"", +"User chose bookmark within volume.", +"User selected chapter from list.", +"Next page event.", +"Previous page event.", +"User navigated to page.", +"User chose search results within volume." +], +"location": "query", +"type": "string" +}, +"contentVersion": { +"description": "Volume content version for which this reading position applies.", +"location": "query", +"type": "string" +}, +"deviceCookie": { +"description": "Random persistent device cookie optional on set position.", +"location": "query", +"type": "string" +}, +"position": { +"description": "Position string for the new volume reading position.", +"location": "query", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"timestamp": { +"description": "RFC 3339 UTC format timestamp associated with this reading position.", +"location": "query", +"required": true, +"type": "string" +}, +"volumeId": { +"description": "ID of volume for which to update the reading position.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +}, +"notification": { +"methods": { +"get": { +"description": "Returns notification details for a given notification id.", +"flatPath": "books/v1/notification/get", +"httpMethod": "GET", +"id": "books.notification.get", +"parameterOrder": [ +"notification_id" +], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.", +"location": "query", +"type": "string" +}, +"notification_id": { +"description": "String to identify the notification.", +"location": "query", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/notification/get", +"response": { +"$ref": "Notification" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"onboarding": { +"methods": { +"listCategories": { +"description": "List categories for onboarding experience.", +"flatPath": "books/v1/onboarding/listCategories", +"httpMethod": "GET", +"id": "books.onboarding.listCategories", +"parameterOrder": [], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/onboarding/listCategories", +"response": { +"$ref": "Category" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"listCategoryVolumes": { +"description": "List available volumes under categories for onboarding experience.", +"flatPath": "books/v1/onboarding/listCategoryVolumes", +"httpMethod": "GET", +"id": "books.onboarding.listCategoryVolumes", +"parameterOrder": [], +"parameters": { +"categoryId": { +"description": "List of category ids requested.", +"location": "query", +"repeated": true, +"type": "string" +}, +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.", +"location": "query", +"type": "string" +}, +"maxAllowedMaturityRating": { +"description": "The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out.", +"enum": [ +"MAX_ALLOWED_MATURITY_RATING_UNDEFINED", +"MATURE", +"not-mature" +], +"enumDescriptions": [ +"", +"Show books which are rated mature or lower.", +"Show books which are rated not mature." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Number of maximum results per page to be included in the response.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/onboarding/listCategoryVolumes", +"response": { +"$ref": "Volume2" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"personalizedstream": { +"methods": { +"get": { +"description": "Returns a stream of personalized book clusters", +"flatPath": "books/v1/personalizedstream/get", +"httpMethod": "GET", +"id": "books.personalizedstream.get", +"parameterOrder": [], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"maxAllowedMaturityRating": { +"description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", +"enum": [ +"MAX_ALLOWED_MATURITY_RATING_UNDEFINED", +"MATURE", +"not-mature" +], +"enumDescriptions": [ +"", +"Show books which are rated mature or lower.", +"Show books which are rated not mature." +], +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/personalizedstream/get", +"response": { +"$ref": "Discoveryclusters" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"promooffer": { +"methods": { +"accept": { +"description": "Accepts the promo offer.", +"flatPath": "books/v1/promooffer/accept", +"httpMethod": "POST", +"id": "books.promooffer.accept", +"parameterOrder": [], +"parameters": { +"androidId": { +"description": "device android_id", +"location": "query", +"type": "string" +}, +"device": { +"description": "device device", +"location": "query", +"type": "string" +}, +"manufacturer": { +"description": "device manufacturer", +"location": "query", +"type": "string" +}, +"model": { +"description": "device model", +"location": "query", +"type": "string" +}, +"offerId": { +"location": "query", +"type": "string" +}, +"product": { +"description": "device product", +"location": "query", +"type": "string" +}, +"serial": { +"description": "device serial", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "Volume id to exercise the offer", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/promooffer/accept", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"dismiss": { +"description": "Marks the promo offer as dismissed.", +"flatPath": "books/v1/promooffer/dismiss", +"httpMethod": "POST", +"id": "books.promooffer.dismiss", +"parameterOrder": [], +"parameters": { +"androidId": { +"description": "device android_id", +"location": "query", +"type": "string" +}, +"device": { +"description": "device device", +"location": "query", +"type": "string" +}, +"manufacturer": { +"description": "device manufacturer", +"location": "query", +"type": "string" +}, +"model": { +"description": "device model", +"location": "query", +"type": "string" +}, +"offerId": { +"description": "Offer to dimiss", +"location": "query", +"type": "string" +}, +"product": { +"description": "device product", +"location": "query", +"type": "string" +}, +"serial": { +"description": "device serial", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/promooffer/dismiss", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"get": { +"description": "Returns a list of promo offers available to the user", +"flatPath": "books/v1/promooffer/get", +"httpMethod": "GET", +"id": "books.promooffer.get", +"parameterOrder": [], +"parameters": { +"androidId": { +"description": "device android_id", +"location": "query", +"type": "string" +}, +"device": { +"description": "device device", +"location": "query", +"type": "string" +}, +"manufacturer": { +"description": "device manufacturer", +"location": "query", +"type": "string" +}, +"model": { +"description": "device model", +"location": "query", +"type": "string" +}, +"product": { +"description": "device product", +"location": "query", +"type": "string" +}, +"serial": { +"description": "device serial", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/promooffer/get", +"response": { +"$ref": "Offers" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"series": { +"methods": { +"get": { +"description": "Returns Series metadata for the given series ids.", +"flatPath": "books/v1/series/get", +"httpMethod": "GET", +"id": "books.series.get", +"parameterOrder": [ +"series_id" +], +"parameters": { +"series_id": { +"description": "String that identifies the series", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "books/v1/series/get", +"response": { +"$ref": "Series" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +}, +"resources": { +"membership": { +"methods": { +"get": { +"description": "Returns Series membership data given the series id.", +"flatPath": "books/v1/series/membership/get", +"httpMethod": "GET", +"id": "books.series.membership.get", +"parameterOrder": [ +"series_id" +], +"parameters": { +"page_size": { +"description": "Number of maximum results per page to be included in the response.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"page_token": { +"description": "The value of the nextToken from the previous page.", +"location": "query", +"type": "string" +}, +"series_id": { +"description": "String that identifies the series", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/series/membership/get", +"response": { +"$ref": "Seriesmembership" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +}, +"volumes": { +"methods": { +"get": { +"description": "Gets volume information for a single volume.", +"flatPath": "books/v1/volumes/{volumeId}", +"httpMethod": "GET", +"id": "books.volumes.get", +"parameterOrder": [ +"volumeId" +], +"parameters": { +"country": { +"description": "ISO-3166-1 code to override the IP-based location.", +"location": "query", +"type": "string" +}, +"includeNonComicsSeries": { +"description": "Set to true to include non-comics series. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"partner": { +"description": "Brand results for partner ID.", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Restrict information returned to a set of selected fields.", +"enum": [ +"PROJECTION_UNDEFINED", +"FULL", +"LITE" +], +"enumDescriptions": [ +"", +"Includes all volume data.", +"Includes a subset of fields in volumeInfo and accessInfo." +], +"location": "query", +"type": "string" +}, +"source": { +"description": "string to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"user_library_consistent_read": { +"location": "query", +"type": "boolean" +}, +"volumeId": { +"description": "ID of volume to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}", +"response": { +"$ref": "Volume" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"list": { +"description": "Performs a book search.", +"flatPath": "books/v1/volumes", +"httpMethod": "GET", +"id": "books.volumes.list", +"parameterOrder": [ +"q" +], +"parameters": { +"download": { +"description": "Restrict to volumes by download availability.", +"enum": [ +"DOWNLOAD_UNDEFINED", +"EPUB" +], +"enumDescriptions": [ +"", +"All volumes with epub." +], +"location": "query", +"type": "string" +}, +"filter": { +"description": "Filter search results.", +"enum": [ +"FILTER_UNDEFINED", +"ebooks", +"free-ebooks", +"full", +"paid-ebooks", +"partial" +], +"enumDescriptions": [ +"", +"All Google eBooks.", +"Google eBook with full volume text viewability.", +"Public can view entire volume text.", +"Google eBook with a price.", +"Public able to see parts of text." +], +"location": "query", +"type": "string" +}, +"langRestrict": { +"description": "Restrict results to books with this language code.", +"location": "query", +"type": "string" +}, +"libraryRestrict": { +"description": "Restrict search to this user's library.", +"enum": [ +"LIBRARY_RESTRICT_UNDEFINED", +"my-library", +"no-restrict" +], +"enumDescriptions": [ +"", +"Restrict to the user's library, any shelf.", +"Do not restrict based on user's library." +], +"location": "query", +"type": "string" +}, +"maxAllowedMaturityRating": { +"description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", +"enum": [ +"MAX_ALLOWED_MATURITY_RATING_UNDEFINED", +"MATURE", +"not-mature" +], +"enumDescriptions": [ +"", +"Show books which are rated mature or lower.", +"Show books which are rated not mature." +], +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return.", +"format": "uint32", +"location": "query", +"maximum": "40", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sort search results.", +"enum": [ +"ORDER_BY_UNDEFINED", +"newest", +"relevance" +], +"enumDescriptions": [ +"", +"Most recently published.", +"Relevance to search terms." +], +"location": "query", +"type": "string" +}, +"partner": { +"description": "Restrict and brand results for partner ID.", +"location": "query", +"type": "string" +}, +"printType": { +"description": "Restrict to books or magazines.", +"enum": [ +"PRINT_TYPE_UNDEFINED", +"ALL", +"BOOKS", +"MAGAZINES" +], +"enumDescriptions": [ +"", +"All volume content types.", +"Just books.", +"Just magazines." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Restrict information returned to a set of selected fields.", +"enum": [ +"PROJECTION_UNDEFINED", +"FULL", +"LITE" +], +"enumDescriptions": [ +"", +"Includes all volume data.", +"Includes a subset of fields in volumeInfo and accessInfo." +], +"location": "query", +"type": "string" +}, +"q": { +"description": "Full-text search query string.", +"location": "query", +"required": true, +"type": "string" +}, +"showPreorders": { +"description": "Set to true to show books available for preorder. Defaults to false.", +"location": "query", +"type": "boolean" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "Index of the first result to return (starts at 0)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +} +}, +"path": "books/v1/volumes", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +}, +"resources": { +"associated": { +"methods": { +"list": { +"description": "Return a list of associated books.", +"flatPath": "books/v1/volumes/{volumeId}/associated", +"httpMethod": "GET", +"id": "books.volumes.associated.list", +"parameterOrder": [ +"volumeId" +], +"parameters": { +"association": { +"description": "Association type.", +"enum": [ +"ASSOCIATION_UNDEFINED", +"end-of-sample", +"end-of-volume", +"related-for-play" +], +"enumDescriptions": [ +"", +"Recommendations for display end-of-sample.", +"Recommendations for display end-of-volume.", +"Related volumes for Play Store." +], +"location": "query", +"type": "string" +}, +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"maxAllowedMaturityRating": { +"description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", +"enum": [ +"MAX_ALLOWED_MATURITY_RATING_UNDEFINED", +"MATURE", +"not-mature" +], +"enumDescriptions": [ +"", +"Show books which are rated mature or lower.", +"Show books which are rated not mature." +], +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of the source volume.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/{volumeId}/associated", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"mybooks": { +"methods": { +"list": { +"description": "Return a list of books in My Library.", +"flatPath": "books/v1/volumes/mybooks", +"httpMethod": "GET", +"id": "books.volumes.mybooks.list", +"parameterOrder": [], +"parameters": { +"acquireMethod": { +"description": "How the book was acquired", +"enum": [ +"ACQUIRE_METHOD_UNDEFINED", +"FAMILY_SHARED", +"PREORDERED", +"PREVIOUSLY_RENTED", +"PUBLIC_DOMAIN", +"PURCHASED", +"RENTED", +"SAMPLE", +"UPLOADED" +], +"enumDescriptions": [ +"", +"Books acquired via Family Sharing", +"Preordered books (not yet available)", +"User-rented books past their expiration time", +"Public domain books", +"Purchased books", +"User-rented books", +"Sample books", +"User uploaded books" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"country": { +"description": "ISO-3166-1 code to override the IP-based location.", +"location": "query", +"type": "string" +}, +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return.", +"format": "uint32", +"location": "query", +"maximum": "100", +"minimum": "0", +"type": "integer" +}, +"processingState": { +"description": "The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod.", +"enum": [ +"PROCESSING_STATE_UNDEFINED", +"COMPLETED_FAILED", +"COMPLETED_SUCCESS", +"RUNNING" +], +"enumDescriptions": [ +"", +"The volume processing hase failed.", +"The volume processing was completed.", +"The volume processing is not completed." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "Index of the first result to return (starts at 0)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +} +}, +"path": "books/v1/volumes/mybooks", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"recommended": { +"methods": { +"list": { +"description": "Return a list of recommended books for the current user.", +"flatPath": "books/v1/volumes/recommended", +"httpMethod": "GET", +"id": "books.volumes.recommended.list", +"parameterOrder": [], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"maxAllowedMaturityRating": { +"description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", +"enum": [ +"MAX_ALLOWED_MATURITY_RATING_UNDEFINED", +"MATURE", +"not-mature" +], +"enumDescriptions": [ +"", +"Show books which are rated mature or lower.", +"Show books which are rated not mature." +], +"location": "query", +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +} +}, +"path": "books/v1/volumes/recommended", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +}, +"rate": { +"description": "Rate a recommended book for the current user.", +"flatPath": "books/v1/volumes/recommended/rate", +"httpMethod": "POST", +"id": "books.volumes.recommended.rate", +"parameterOrder": [ +"rating", +"volumeId" +], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"rating": { +"description": "Rating to be given to the volume.", +"enum": [ +"RATING_UNDEFINED", +"HAVE_IT", +"NOT_INTERESTED" +], +"enumDescriptions": [ +"", +"Rating indicating a dismissal due to ownership.", +"Rating indicating a negative dismissal of a volume." +], +"location": "query", +"required": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"volumeId": { +"description": "ID of the source volume.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "books/v1/volumes/recommended/rate", +"response": { +"$ref": "BooksVolumesRecommendedRateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +}, +"useruploaded": { +"methods": { +"list": { +"description": "Return a list of books uploaded by the current user.", +"flatPath": "books/v1/volumes/useruploaded", +"httpMethod": "GET", +"id": "books.volumes.useruploaded.list", +"parameterOrder": [], +"parameters": { +"locale": { +"description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return.", +"format": "uint32", +"location": "query", +"maximum": "40", +"minimum": "0", +"type": "integer" +}, +"processingState": { +"description": "The processing state of the user uploaded volumes to be returned.", +"enum": [ +"PROCESSING_STATE_UNDEFINED", +"COMPLETED_FAILED", +"COMPLETED_SUCCESS", +"RUNNING" +], +"enumDescriptions": [ +"", +"The volume processing hase failed.", +"The volume processing was completed.", +"The volume processing is not completed." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"source": { +"description": "String to identify the originator of this request.", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "Index of the first result to return (starts at 0)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"volumeId": { +"description": "The ids of the volumes to be returned. If not specified all that match the processingState are returned.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "books/v1/volumes/useruploaded", +"response": { +"$ref": "Volumes" +}, +"scopes": [ +"https://www.googleapis.com/auth/books" +] +} +} +} +} +} +}, +"revision": "20240625", +"rootUrl": "https://books.googleapis.com/", +"schemas": { +"Annotation": { +"id": "Annotation", +"properties": { +"afterSelectedText": { +"description": "Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.", +"type": "string" +}, +"beforeSelectedText": { +"description": "Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.", +"type": "string" +}, +"clientVersionRanges": { +"description": "Selection ranges sent from the client.", +"properties": { +"cfiRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in CFI format for this annotation sent by client." +}, +"contentVersion": { +"description": "Content version the client sent in.", +"type": "string" +}, +"gbImageRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB image format for this annotation sent by client." +}, +"gbTextRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB text format for this annotation sent by client." +}, +"imageCfiRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in image CFI format for this annotation sent by client." +} +}, +"type": "object" +}, +"created": { +"description": "Timestamp for the created time of this annotation.", +"type": "string" +}, +"currentVersionRanges": { +"description": "Selection ranges for the most recent content version.", +"properties": { +"cfiRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in CFI format for this annotation for version above." +}, +"contentVersion": { +"description": "Content version applicable to ranges below.", +"type": "string" +}, +"gbImageRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB image format for this annotation for version above." +}, +"gbTextRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB text format for this annotation for version above." +}, +"imageCfiRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in image CFI format for this annotation for version above." +} +}, +"type": "object" +}, +"data": { +"description": "User-created data for this annotation.", +"type": "string" +}, +"deleted": { +"description": "Indicates that this annotation is deleted.", +"type": "boolean" +}, +"highlightStyle": { +"description": "The highlight style for this annotation.", +"type": "string" +}, +"id": { +"description": "Id of this annotation, in the form of a GUID.", +"type": "string" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"layerId": { +"description": "The layer this annotation is for.", +"type": "string" +}, +"layerSummary": { +"properties": { +"allowedCharacterCount": { +"description": "Maximum allowed characters on this layer, especially for the \"copy\" layer.", +"format": "int32", +"type": "integer" +}, +"limitType": { +"description": "Type of limitation on this layer. \"limited\" or \"unlimited\" for the \"copy\" layer.", +"type": "string" +}, +"remainingCharacterCount": { +"description": "Remaining allowed characters on this layer, especially for the \"copy\" layer.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"pageIds": { +"description": "Pages that this annotation spans.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selectedText": { +"description": "Excerpt from the volume.", +"type": "string" +}, +"selfLink": { +"description": "URL to this resource.", +"type": "string" +}, +"updated": { +"description": "Timestamp for the last time this annotation was modified.", +"type": "string" +}, +"volumeId": { +"description": "The volume that this annotation belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"Annotations": { +"id": "Annotations", +"properties": { +"items": { +"description": "A list of annotations.", +"items": { +"$ref": "Annotation" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", +"type": "string" +}, +"totalItems": { +"description": "Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AnnotationsSummary": { +"id": "AnnotationsSummary", +"properties": { +"kind": { +"type": "string" +}, +"layers": { +"items": { +"properties": { +"allowedCharacterCount": { +"format": "int32", +"type": "integer" +}, +"layerId": { +"type": "string" +}, +"limitType": { +"type": "string" +}, +"remainingCharacterCount": { +"format": "int32", +"type": "integer" +}, +"updated": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Annotationsdata": { +"id": "Annotationsdata", +"properties": { +"items": { +"description": "A list of Annotation Data.", +"items": { +"$ref": "GeoAnnotationdata" +}, +"type": "array" +}, +"kind": { +"description": "Resource type", +"type": "string" +}, +"nextPageToken": { +"description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", +"type": "string" +}, +"totalItems": { +"description": "The total number of volume annotations found.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BooksAnnotationsRange": { +"id": "BooksAnnotationsRange", +"properties": { +"endOffset": { +"description": "The offset from the ending position.", +"type": "string" +}, +"endPosition": { +"description": "The ending position for the range.", +"type": "string" +}, +"startOffset": { +"description": "The offset from the starting position.", +"type": "string" +}, +"startPosition": { +"description": "The starting position for the range.", +"type": "string" +} +}, +"type": "object" +}, +"BooksCloudloadingResource": { +"id": "BooksCloudloadingResource", +"properties": { +"author": { +"type": "string" +}, +"processingState": { +"type": "string" +}, +"title": { +"type": "string" +}, +"volumeId": { +"type": "string" +} +}, +"type": "object" +}, +"BooksVolumesRecommendedRateResponse": { +"id": "BooksVolumesRecommendedRateResponse", +"properties": { +"consistency_token": { +"type": "string" +} +}, +"type": "object" +}, +"Bookshelf": { +"id": "Bookshelf", +"properties": { +"access": { +"description": "Whether this bookshelf is PUBLIC or PRIVATE.", +"type": "string" +}, +"created": { +"description": "Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).", +"type": "string" +}, +"description": { +"description": "Description of this bookshelf.", +"type": "string" +}, +"id": { +"description": "Id of this bookshelf, only unique by user.", +"format": "int32", +"type": "integer" +}, +"kind": { +"description": "Resource type for bookshelf metadata.", +"type": "string" +}, +"selfLink": { +"description": "URL to this resource.", +"type": "string" +}, +"title": { +"description": "Title of this bookshelf.", +"type": "string" +}, +"updated": { +"description": "Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).", +"type": "string" +}, +"volumeCount": { +"description": "Number of volumes in this bookshelf.", +"format": "int32", +"type": "integer" +}, +"volumesLastUpdated": { +"description": "Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).", +"type": "string" +} +}, +"type": "object" +}, +"Bookshelves": { +"id": "Bookshelves", +"properties": { +"items": { +"description": "A list of bookshelves.", +"items": { +"$ref": "Bookshelf" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"Category": { +"id": "Category", +"properties": { +"items": { +"description": "A list of onboarding categories.", +"items": { +"properties": { +"badgeUrl": { +"type": "string" +}, +"categoryId": { +"type": "string" +}, +"name": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"ConcurrentAccessRestriction": { +"id": "ConcurrentAccessRestriction", +"properties": { +"deviceAllowed": { +"description": "Whether access is granted for this (user, device, volume).", +"type": "boolean" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"maxConcurrentDevices": { +"description": "The maximum number of concurrent access licenses for this volume.", +"format": "int32", +"type": "integer" +}, +"message": { +"description": "Error/warning message.", +"type": "string" +}, +"nonce": { +"description": "Client nonce for verification. Download access and client-validation only.", +"type": "string" +}, +"reasonCode": { +"description": "Error/warning reason code.", +"type": "string" +}, +"restricted": { +"description": "Whether this volume has any concurrent access restrictions.", +"type": "boolean" +}, +"signature": { +"description": "Response signature.", +"type": "string" +}, +"source": { +"description": "Client app identifier for verification. Download access and client-validation only.", +"type": "string" +}, +"timeWindowSeconds": { +"description": "Time in seconds for license auto-expiration.", +"format": "int32", +"type": "integer" +}, +"volumeId": { +"description": "Identifies the volume for which this entry applies.", +"type": "string" +} +}, +"type": "object" +}, +"DictionaryAnnotationdata": { +"id": "DictionaryAnnotationdata", +"properties": { +"annotationType": { +"description": "The type of annotation this data is for.", +"type": "string" +}, +"data": { +"$ref": "Dictlayerdata", +"description": "JSON encoded data for this dictionary annotation data. Emitted with name 'data' in JSON output. Either this or geo_data will be populated." +}, +"encodedData": { +"description": "Base64 encoded data for this annotation data.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "Unique id for this annotation data.", +"type": "string" +}, +"kind": { +"description": "Resource Type", +"type": "string" +}, +"layerId": { +"description": "The Layer id for this data. *", +"type": "string" +}, +"selfLink": { +"description": "URL for this resource. *", +"type": "string" +}, +"updated": { +"description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).", +"type": "string" +}, +"volumeId": { +"description": "The volume id for this data. *", +"type": "string" +} +}, +"type": "object" +}, +"Dictlayerdata": { +"id": "Dictlayerdata", +"properties": { +"common": { +"properties": { +"title": { +"description": "The display title and localized canonical name to use when searching for this entity on Google search.", +"type": "string" +} +}, +"type": "object" +}, +"dict": { +"properties": { +"source": { +"description": "The source, url and attribution for this dictionary data.", +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"words": { +"items": { +"properties": { +"derivatives": { +"items": { +"properties": { +"source": { +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"text": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"examples": { +"items": { +"properties": { +"source": { +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"text": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"senses": { +"items": { +"properties": { +"conjugations": { +"items": { +"properties": { +"type": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"definitions": { +"items": { +"properties": { +"definition": { +"type": "string" +}, +"examples": { +"items": { +"properties": { +"source": { +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"text": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"partOfSpeech": { +"type": "string" +}, +"pronunciation": { +"type": "string" +}, +"pronunciationUrl": { +"type": "string" +}, +"source": { +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"syllabification": { +"type": "string" +}, +"synonyms": { +"items": { +"properties": { +"source": { +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"text": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"source": { +"description": "The words with different meanings but not related words, e.g. \"go\" (game) and \"go\" (verb).", +"properties": { +"attribution": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"kind": { +"type": "string" +} +}, +"type": "object" +}, +"Discoveryclusters": { +"id": "Discoveryclusters", +"properties": { +"clusters": { +"items": { +"properties": { +"banner_with_content_container": { +"properties": { +"fillColorArgb": { +"type": "string" +}, +"imageUrl": { +"type": "string" +}, +"maskColorArgb": { +"type": "string" +}, +"moreButtonText": { +"type": "string" +}, +"moreButtonUrl": { +"type": "string" +}, +"textColorArgb": { +"type": "string" +} +}, +"type": "object" +}, +"subTitle": { +"type": "string" +}, +"title": { +"type": "string" +}, +"totalVolumes": { +"format": "int32", +"type": "integer" +}, +"uid": { +"type": "string" +}, +"volumes": { +"items": { +"$ref": "Volume" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "Resorce type.", +"type": "string" +}, +"totalClusters": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DownloadAccessRestriction": { +"id": "DownloadAccessRestriction", +"properties": { +"deviceAllowed": { +"description": "If restricted, whether access is granted for this (user, device, volume).", +"type": "boolean" +}, +"downloadsAcquired": { +"description": "If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).", +"format": "int32", +"type": "integer" +}, +"justAcquired": { +"description": "If deviceAllowed, whether access was just acquired with this request.", +"type": "boolean" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"maxDownloadDevices": { +"description": "If restricted, the maximum number of content download licenses for this volume.", +"format": "int32", +"type": "integer" +}, +"message": { +"description": "Error/warning message.", +"type": "string" +}, +"nonce": { +"description": "Client nonce for verification. Download access and client-validation only.", +"type": "string" +}, +"reasonCode": { +"description": "Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS", +"type": "string" +}, +"restricted": { +"description": "Whether this volume has any download access restrictions.", +"type": "boolean" +}, +"signature": { +"description": "Response signature.", +"type": "string" +}, +"source": { +"description": "Client app identifier for verification. Download access and client-validation only.", +"type": "string" +}, +"volumeId": { +"description": "Identifies the volume for which this entry applies.", +"type": "string" +} +}, +"type": "object" +}, +"DownloadAccesses": { +"id": "DownloadAccesses", +"properties": { +"downloadAccessList": { +"description": "A list of download access responses.", +"items": { +"$ref": "DownloadAccessRestriction" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FamilyInfo": { +"id": "FamilyInfo", +"properties": { +"kind": { +"description": "Resource type.", +"type": "string" +}, +"membership": { +"description": "Family membership info of the user that made the request.", +"properties": { +"acquirePermission": { +"description": "Restrictions on user buying and acquiring content.", +"type": "string" +}, +"ageGroup": { +"description": "The age group of the user.", +"type": "string" +}, +"allowedMaturityRating": { +"description": "The maximum allowed maturity rating for the user.", +"type": "string" +}, +"isInFamily": { +"type": "boolean" +}, +"role": { +"description": "The role of the user in the family.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"GeoAnnotationdata": { +"id": "GeoAnnotationdata", +"properties": { +"annotationType": { +"description": "The type of annotation this data is for.", +"type": "string" +}, +"data": { +"$ref": "Geolayerdata", +"description": "JSON encoded data for this geo annotation data. Emitted with name 'data' in JSON output. Either this or dict_data will be populated." +}, +"encodedData": { +"description": "Base64 encoded data for this annotation data.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "Unique id for this annotation data.", +"type": "string" +}, +"kind": { +"description": "Resource Type", +"type": "string" +}, +"layerId": { +"description": "The Layer id for this data. *", +"type": "string" +}, +"selfLink": { +"description": "URL for this resource. *", +"type": "string" +}, +"updated": { +"description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).", +"type": "string" +}, +"volumeId": { +"description": "The volume id for this data. *", +"type": "string" +} +}, +"type": "object" +}, +"Geolayerdata": { +"id": "Geolayerdata", +"properties": { +"common": { +"properties": { +"lang": { +"description": "The language of the information url and description.", +"type": "string" +}, +"previewImageUrl": { +"description": "The URL for the preview image information.", +"type": "string" +}, +"snippet": { +"description": "The description for this location.", +"type": "string" +}, +"snippetUrl": { +"description": "The URL for information for this location. Ex: wikipedia link.", +"type": "string" +}, +"title": { +"description": "The display title and localized canonical name to use when searching for this entity on Google search.", +"type": "string" +} +}, +"type": "object" +}, +"geo": { +"properties": { +"boundary": { +"description": "The boundary of the location as a set of loops containing pairs of latitude, longitude coordinates.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cachePolicy": { +"description": "The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED, NEVER", +"type": "string" +}, +"countryCode": { +"description": "The country code of the location.", +"type": "string" +}, +"latitude": { +"description": "The latitude of the location.", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude of the location.", +"format": "double", +"type": "number" +}, +"mapType": { +"description": "The type of map that should be used for this location. EX: HYBRID, ROADMAP, SATELLITE, TERRAIN", +"type": "string" +}, +"viewport": { +"description": "The viewport for showing this location. This is a latitude, longitude rectangle.", +"properties": { +"hi": { +"properties": { +"latitude": { +"format": "double", +"type": "number" +}, +"longitude": { +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"lo": { +"properties": { +"latitude": { +"format": "double", +"type": "number" +}, +"longitude": { +"format": "double", +"type": "number" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"zoom": { +"description": "The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom level, in which the entire world can be seen on one map) to 21+ (down to individual buildings). See: https: //developers.google.com/maps/documentation/staticmaps/#Zoomlevels", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"kind": { +"type": "string" +} +}, +"type": "object" +}, +"Layersummaries": { +"id": "Layersummaries", +"properties": { +"items": { +"description": "A list of layer summary items.", +"items": { +"$ref": "Layersummary" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"totalItems": { +"description": "The total number of layer summaries found.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Layersummary": { +"id": "Layersummary", +"properties": { +"annotationCount": { +"description": "The number of annotations for this layer.", +"format": "int32", +"type": "integer" +}, +"annotationTypes": { +"description": "The list of annotation types contained for this layer.", +"items": { +"type": "string" +}, +"type": "array" +}, +"annotationsDataLink": { +"description": "Link to get data for this annotation.", +"type": "string" +}, +"annotationsLink": { +"description": "The link to get the annotations for this layer.", +"type": "string" +}, +"contentVersion": { +"description": "The content version this resource is for.", +"type": "string" +}, +"dataCount": { +"description": "The number of data items for this layer.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "Unique id of this layer summary.", +"type": "string" +}, +"kind": { +"description": "Resource Type", +"type": "string" +}, +"layerId": { +"description": "The layer id for this summary.", +"type": "string" +}, +"selfLink": { +"description": "URL to this resource.", +"type": "string" +}, +"updated": { +"description": "Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).", +"type": "string" +}, +"volumeAnnotationsVersion": { +"description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", +"type": "string" +}, +"volumeId": { +"description": "The volume id this resource is for.", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"id": "Metadata", +"properties": { +"items": { +"description": "A list of offline dictionary metadata.", +"items": { +"properties": { +"download_url": { +"type": "string" +}, +"encrypted_key": { +"type": "string" +}, +"language": { +"type": "string" +}, +"size": { +"format": "int64", +"type": "string" +}, +"version": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"Notification": { +"id": "Notification", +"properties": { +"body": { +"type": "string" +}, +"crmExperimentIds": { +"description": "The list of crm experiment ids.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"doc_id": { +"type": "string" +}, +"doc_type": { +"type": "string" +}, +"dont_show_notification": { +"type": "boolean" +}, +"iconUrl": { +"type": "string" +}, +"is_document_mature": { +"type": "boolean" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"notificationGroup": { +"type": "string" +}, +"notification_type": { +"type": "string" +}, +"pcampaign_id": { +"type": "string" +}, +"reason": { +"type": "string" +}, +"show_notification_settings_action": { +"type": "boolean" +}, +"targetUrl": { +"type": "string" +}, +"timeToExpireMs": { +"format": "int64", +"type": "string" +}, +"title": { +"type": "string" +} +}, +"type": "object" +}, +"Offers": { +"id": "Offers", +"properties": { +"items": { +"description": "A list of offers.", +"items": { +"properties": { +"artUrl": { +"type": "string" +}, +"gservicesKey": { +"type": "string" +}, +"id": { +"type": "string" +}, +"items": { +"items": { +"properties": { +"author": { +"type": "string" +}, +"canonicalVolumeLink": { +"type": "string" +}, +"coverUrl": { +"type": "string" +}, +"description": { +"type": "string" +}, +"title": { +"type": "string" +}, +"volumeId": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"ReadingPosition": { +"id": "ReadingPosition", +"properties": { +"epubCfiPosition": { +"description": "Position in an EPUB as a CFI.", +"type": "string" +}, +"gbImagePosition": { +"description": "Position in a volume for image-based content.", +"type": "string" +}, +"gbTextPosition": { +"description": "Position in a volume for text-based content.", +"type": "string" +}, +"kind": { +"description": "Resource type for a reading position.", +"type": "string" +}, +"pdfPosition": { +"description": "Position in a PDF file.", +"type": "string" +}, +"updated": { +"description": "Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).", +"type": "string" +}, +"volumeId": { +"description": "Volume id associated with this reading position.", +"type": "string" +} +}, +"type": "object" +}, +"RequestAccessData": { +"id": "RequestAccessData", +"properties": { +"concurrentAccess": { +"$ref": "ConcurrentAccessRestriction", +"description": "A concurrent access response." +}, +"downloadAccess": { +"$ref": "DownloadAccessRestriction", +"description": "A download access response." +}, +"kind": { +"description": "Resource type.", +"type": "string" +} +}, +"type": "object" +}, +"Review": { +"id": "Review", +"properties": { +"author": { +"description": "Author of this review.", +"properties": { +"displayName": { +"description": "Name of this person.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "Review text.", +"type": "string" +}, +"date": { +"description": "Date of this review.", +"type": "string" +}, +"fullTextUrl": { +"description": "URL for the full review text, for reviews gathered from the web.", +"type": "string" +}, +"kind": { +"description": "Resource type for a review.", +"type": "string" +}, +"rating": { +"description": "Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.", +"type": "string" +}, +"source": { +"description": "Information regarding the source of this review, when the review is not from a Google Books user.", +"properties": { +"description": { +"description": "Name of the source.", +"type": "string" +}, +"extraDescription": { +"description": "Extra text about the source of the review.", +"type": "string" +}, +"url": { +"description": "URL of the source of the review.", +"type": "string" +} +}, +"type": "object" +}, +"title": { +"description": "Title for this review.", +"type": "string" +}, +"type": { +"description": "Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.", +"type": "string" +}, +"volumeId": { +"description": "Volume that this review is for.", +"type": "string" +} +}, +"type": "object" +}, +"Series": { +"id": "Series", +"properties": { +"kind": { +"description": "Resource type.", +"type": "string" +}, +"series": { +"items": { +"properties": { +"bannerImageUrl": { +"type": "string" +}, +"eligibleForSubscription": { +"type": "boolean" +}, +"imageUrl": { +"type": "string" +}, +"isComplete": { +"type": "boolean" +}, +"seriesFormatType": { +"type": "string" +}, +"seriesId": { +"type": "string" +}, +"seriesSubscriptionReleaseInfo": { +"properties": { +"cancelTime": { +"type": "string" +}, +"currentReleaseInfo": { +"properties": { +"amountInMicros": { +"format": "double", +"type": "number" +}, +"currencyCode": { +"type": "string" +}, +"releaseNumber": { +"type": "string" +}, +"releaseTime": { +"type": "string" +} +}, +"type": "object" +}, +"nextReleaseInfo": { +"properties": { +"amountInMicros": { +"format": "double", +"type": "number" +}, +"currencyCode": { +"type": "string" +}, +"releaseNumber": { +"type": "string" +}, +"releaseTime": { +"type": "string" +} +}, +"type": "object" +}, +"seriesSubscriptionType": { +"type": "string" +} +}, +"type": "object" +}, +"seriesType": { +"type": "string" +}, +"subscriptionId": { +"type": "string" +}, +"title": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Seriesmembership": { +"id": "Seriesmembership", +"properties": { +"kind": { +"description": "Resorce type.", +"type": "string" +}, +"member": { +"items": { +"$ref": "Volume" +}, +"type": "array" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Usersettings": { +"id": "Usersettings", +"properties": { +"kind": { +"description": "Resource type.", +"type": "string" +}, +"notesExport": { +"description": "User settings in sub-objects, each for different purposes.", +"properties": { +"folderName": { +"type": "string" +}, +"isEnabled": { +"type": "boolean" +} +}, +"type": "object" +}, +"notification": { +"properties": { +"matchMyInterests": { +"properties": { +"opted_state": { +"type": "string" +} +}, +"type": "object" +}, +"moreFromAuthors": { +"properties": { +"opted_state": { +"type": "string" +} +}, +"type": "object" +}, +"moreFromSeries": { +"properties": { +"opted_state": { +"type": "string" +} +}, +"type": "object" +}, +"priceDrop": { +"properties": { +"opted_state": { +"type": "string" +} +}, +"type": "object" +}, +"rewardExpirations": { +"properties": { +"opted_state": { +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Volume": { +"id": "Volume", +"properties": { +"accessInfo": { +"description": "Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).", +"properties": { +"accessViewStatus": { +"description": "Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)", +"type": "string" +}, +"country": { +"description": "The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)", +"type": "string" +}, +"downloadAccess": { +"$ref": "DownloadAccessRestriction", +"description": "Information about a volume's download license access restrictions." +}, +"driveImportedContentLink": { +"description": "URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.", +"type": "string" +}, +"embeddable": { +"description": "Whether this volume can be embedded in a viewport using the Embedded Viewer API.", +"type": "boolean" +}, +"epub": { +"description": "Information about epub content. (In LITE projection.)", +"properties": { +"acsTokenLink": { +"description": "URL to retrieve ACS token for epub download. (In LITE projection.)", +"type": "string" +}, +"downloadLink": { +"description": "URL to download epub. (In LITE projection.)", +"type": "string" +}, +"isAvailable": { +"description": "Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)", +"type": "boolean" +} +}, +"type": "object" +}, +"explicitOfflineLicenseManagement": { +"description": "Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.", +"type": "boolean" +}, +"pdf": { +"description": "Information about pdf content. (In LITE projection.)", +"properties": { +"acsTokenLink": { +"description": "URL to retrieve ACS token for pdf download. (In LITE projection.)", +"type": "string" +}, +"downloadLink": { +"description": "URL to download pdf. (In LITE projection.)", +"type": "string" +}, +"isAvailable": { +"description": "Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)", +"type": "boolean" +} +}, +"type": "object" +}, +"publicDomain": { +"description": "Whether or not this book is public domain in the country listed above.", +"type": "boolean" +}, +"quoteSharingAllowed": { +"description": "Whether quote sharing is allowed for this volume.", +"type": "boolean" +}, +"textToSpeechPermission": { +"description": "Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.", +"type": "string" +}, +"viewOrderUrl": { +"description": "For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.", +"type": "string" +}, +"viewability": { +"description": "The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.", +"type": "string" +}, +"webReaderLink": { +"description": "URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.", +"type": "string" +} +}, +"type": "object" +}, +"etag": { +"description": "Opaque identifier for a specific version of a volume resource. (In LITE projection)", +"type": "string" +}, +"id": { +"description": "Unique identifier for a volume. (In LITE projection.)", +"type": "string" +}, +"kind": { +"description": "Resource type for a volume. (In LITE projection.)", +"type": "string" +}, +"layerInfo": { +"description": "What layers exist in this volume and high level information about them.", +"properties": { +"layers": { +"description": "A layer should appear here if and only if the layer exists for this book.", +"items": { +"properties": { +"layerId": { +"description": "The layer id of this layer (e.g. \"geo\").", +"type": "string" +}, +"volumeAnnotationsVersion": { +"description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"recommendedInfo": { +"description": "Recommendation related information for this volume.", +"properties": { +"explanation": { +"description": "A text explaining why this volume is recommended.", +"type": "string" +} +}, +"type": "object" +}, +"saleInfo": { +"description": "Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).", +"properties": { +"buyLink": { +"description": "URL to purchase this volume on the Google Books site. (In LITE projection)", +"type": "string" +}, +"country": { +"description": "The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)", +"type": "string" +}, +"isEbook": { +"description": "Whether or not this volume is an eBook (can be added to the My eBooks shelf).", +"type": "boolean" +}, +"listPrice": { +"description": "Suggested retail price. (In LITE projection.)", +"properties": { +"amount": { +"description": "Amount in the currency listed below. (In LITE projection.)", +"format": "double", +"type": "number" +}, +"currencyCode": { +"description": "An ISO 4217, three-letter currency code. (In LITE projection.)", +"type": "string" +} +}, +"type": "object" +}, +"offers": { +"description": "Offers available for this volume (sales and rentals).", +"items": { +"properties": { +"finskyOfferType": { +"description": "The finsky offer type (e.g., PURCHASE=0 RENTAL=3)", +"format": "int32", +"type": "integer" +}, +"giftable": { +"description": "Indicates whether the offer is giftable.", +"type": "boolean" +}, +"listPrice": { +"description": "Offer list (=undiscounted) price in Micros.", +"properties": { +"amountInMicros": { +"format": "double", +"type": "number" +}, +"currencyCode": { +"type": "string" +} +}, +"type": "object" +}, +"rentalDuration": { +"description": "The rental duration (for rental offers only).", +"properties": { +"count": { +"format": "double", +"type": "number" +}, +"unit": { +"type": "string" +} +}, +"type": "object" +}, +"retailPrice": { +"description": "Offer retail (=discounted) price in Micros", +"properties": { +"amountInMicros": { +"format": "double", +"type": "number" +}, +"currencyCode": { +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"type": "array" +}, +"onSaleDate": { +"description": "The date on which this book is available for sale.", +"type": "string" +}, +"retailPrice": { +"description": "The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)", +"properties": { +"amount": { +"description": "Amount in the currency listed below. (In LITE projection.)", +"format": "double", +"type": "number" +}, +"currencyCode": { +"description": "An ISO 4217, three-letter currency code. (In LITE projection.)", +"type": "string" +} +}, +"type": "object" +}, +"saleability": { +"description": "Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.", +"type": "string" +} +}, +"type": "object" +}, +"searchInfo": { +"description": "Search result information related to this volume.", +"properties": { +"textSnippet": { +"description": "A text snippet containing the search query.", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "URL to this resource. (In LITE projection.)", +"type": "string" +}, +"userInfo": { +"description": "User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)", +"properties": { +"acquiredTime": { +"description": "Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.", +"type": "string" +}, +"acquisitionType": { +"description": "How this volume was acquired.", +"format": "int32", +"type": "integer" +}, +"copy": { +"description": "Copy/Paste accounting information.", +"properties": { +"allowedCharacterCount": { +"format": "int32", +"type": "integer" +}, +"limitType": { +"type": "string" +}, +"remainingCharacterCount": { +"format": "int32", +"type": "integer" +}, +"updated": { +"type": "string" +} +}, +"type": "object" +}, +"entitlementType": { +"description": "Whether this volume is purchased, sample, pd download etc.", +"format": "int32", +"type": "integer" +}, +"familySharing": { +"description": "Information on the ability to share with the family.", +"properties": { +"familyRole": { +"description": "The role of the user in the family.", +"type": "string" +}, +"isSharingAllowed": { +"description": "Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.", +"type": "boolean" +}, +"isSharingDisabledByFop": { +"description": "Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.", +"type": "boolean" +} +}, +"type": "object" +}, +"isFamilySharedFromUser": { +"description": "Whether or not the user shared this volume with the family.", +"type": "boolean" +}, +"isFamilySharedToUser": { +"description": "Whether or not the user received this volume through family sharing.", +"type": "boolean" +}, +"isFamilySharingAllowed": { +"description": "Deprecated: Replaced by familySharing.", +"type": "boolean" +}, +"isFamilySharingDisabledByFop": { +"description": "Deprecated: Replaced by familySharing.", +"type": "boolean" +}, +"isInMyBooks": { +"description": "Whether or not this volume is currently in \"my books.\"", +"type": "boolean" +}, +"isPreordered": { +"description": "Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)", +"type": "boolean" +}, +"isPurchased": { +"description": "Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)", +"type": "boolean" +}, +"isUploaded": { +"description": "Whether or not this volume was user uploaded.", +"type": "boolean" +}, +"readingPosition": { +"$ref": "ReadingPosition", +"description": "The user's current reading position in the volume, if one is available. (In LITE projection.)" +}, +"rentalPeriod": { +"description": "Period during this book is/was a valid rental.", +"properties": { +"endUtcSec": { +"format": "int64", +"type": "string" +}, +"startUtcSec": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"rentalState": { +"description": "Whether this book is an active or an expired rental.", +"type": "string" +}, +"review": { +"$ref": "Review", +"description": "This user's review of this volume, if one exists." +}, +"updated": { +"description": "Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).", +"type": "string" +}, +"userUploadedVolumeInfo": { +"properties": { +"processingState": { +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"volumeInfo": { +"description": "General volume information.", +"properties": { +"allowAnonLogging": { +"description": "Whether anonymous logging should be allowed.", +"type": "boolean" +}, +"authors": { +"description": "The names of the authors and/or editors for this volume. (In LITE projection)", +"items": { +"type": "string" +}, +"type": "array" +}, +"averageRating": { +"description": "The mean review rating for this volume. (min = 1.0, max = 5.0)", +"format": "double", +"type": "number" +}, +"canonicalVolumeLink": { +"description": "Canonical URL for a volume. (In LITE projection.)", +"type": "string" +}, +"categories": { +"description": "A list of subject categories, such as \"Fiction\", \"Suspense\", etc.", +"items": { +"type": "string" +}, +"type": "array" +}, +"comicsContent": { +"description": "Whether the volume has comics content.", +"type": "boolean" +}, +"contentVersion": { +"description": "An identifier for the version of the volume content (text & images). (In LITE projection)", +"type": "string" +}, +"description": { +"description": "A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)", +"type": "string" +}, +"dimensions": { +"description": "Physical dimensions of this volume.", +"properties": { +"height": { +"description": "Height or length of this volume (in cm).", +"type": "string" +}, +"thickness": { +"description": "Thickness of this volume (in cm).", +"type": "string" +}, +"width": { +"description": "Width of this volume (in cm).", +"type": "string" +} +}, +"type": "object" +}, +"imageLinks": { +"description": "A list of image links for all the sizes that are available. (In LITE projection.)", +"properties": { +"extraLarge": { +"description": "Image link for extra large size (width of ~1280 pixels). (In LITE projection)", +"type": "string" +}, +"large": { +"description": "Image link for large size (width of ~800 pixels). (In LITE projection)", +"type": "string" +}, +"medium": { +"description": "Image link for medium size (width of ~575 pixels). (In LITE projection)", +"type": "string" +}, +"small": { +"description": "Image link for small size (width of ~300 pixels). (In LITE projection)", +"type": "string" +}, +"smallThumbnail": { +"description": "Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)", +"type": "string" +}, +"thumbnail": { +"description": "Image link for thumbnail size (width of ~128 pixels). (In LITE projection)", +"type": "string" +} +}, +"type": "object" +}, +"industryIdentifiers": { +"description": "Industry standard identifiers for this volume.", +"items": { +"properties": { +"identifier": { +"description": "Industry specific volume identifier.", +"type": "string" +}, +"type": { +"description": "Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"infoLink": { +"description": "URL to view information about this volume on the Google Books site. (In LITE projection)", +"type": "string" +}, +"language": { +"description": "Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.", +"type": "string" +}, +"mainCategory": { +"description": "The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.", +"type": "string" +}, +"maturityRating": { +"type": "string" +}, +"pageCount": { +"description": "Total number of pages as per publisher metadata.", +"format": "int32", +"type": "integer" +}, +"panelizationSummary": { +"description": "A top-level summary of the panelization info in this volume.", +"properties": { +"containsEpubBubbles": { +"type": "boolean" +}, +"containsImageBubbles": { +"type": "boolean" +}, +"epubBubbleVersion": { +"type": "string" +}, +"imageBubbleVersion": { +"type": "string" +} +}, +"type": "object" +}, +"previewLink": { +"description": "URL to preview this volume on the Google Books site.", +"type": "string" +}, +"printType": { +"description": "Type of publication of this volume. Possible values are BOOK or MAGAZINE.", +"type": "string" +}, +"printedPageCount": { +"description": "Total number of printed pages in generated pdf representation.", +"format": "int32", +"type": "integer" +}, +"publishedDate": { +"description": "Date of publication. (In LITE projection.)", +"type": "string" +}, +"publisher": { +"description": "Publisher of this volume. (In LITE projection.)", +"type": "string" +}, +"ratingsCount": { +"description": "The number of review ratings for this volume.", +"format": "int32", +"type": "integer" +}, +"readingModes": { +"description": "The reading modes available for this volume.", +"properties": { +"image": { +"type": "boolean" +}, +"text": { +"type": "boolean" +} +}, +"type": "object" +}, +"samplePageCount": { +"description": "Total number of sample pages as per publisher metadata.", +"format": "int32", +"type": "integer" +}, +"seriesInfo": { +"$ref": "Volumeseriesinfo" +}, +"subtitle": { +"description": "Volume subtitle. (In LITE projection.)", +"type": "string" +}, +"title": { +"description": "Volume title. (In LITE projection.)", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Volume2": { +"id": "Volume2", +"properties": { +"items": { +"description": "A list of volumes.", +"items": { +"$ref": "Volume" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Volumeannotation": { +"id": "Volumeannotation", +"properties": { +"annotationDataId": { +"description": "The annotation data id for this volume annotation.", +"type": "string" +}, +"annotationDataLink": { +"description": "Link to get data for this annotation.", +"type": "string" +}, +"annotationType": { +"description": "The type of annotation this is.", +"type": "string" +}, +"contentRanges": { +"description": "The content ranges to identify the selected text.", +"properties": { +"cfiRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in CFI format for this annotation for version above." +}, +"contentVersion": { +"description": "Content version applicable to ranges below.", +"type": "string" +}, +"gbImageRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB image format for this annotation for version above." +}, +"gbTextRange": { +"$ref": "BooksAnnotationsRange", +"description": "Range in GB text format for this annotation for version above." +} +}, +"type": "object" +}, +"data": { +"description": "Data for this annotation.", +"type": "string" +}, +"deleted": { +"description": "Indicates that this annotation is deleted.", +"type": "boolean" +}, +"id": { +"description": "Unique id of this volume annotation.", +"type": "string" +}, +"kind": { +"description": "Resource Type", +"type": "string" +}, +"layerId": { +"description": "The Layer this annotation is for.", +"type": "string" +}, +"pageIds": { +"description": "Pages the annotation spans.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selectedText": { +"description": "Excerpt from the volume.", +"type": "string" +}, +"selfLink": { +"description": "URL to this resource.", +"type": "string" +}, +"updated": { +"description": "Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).", +"type": "string" +}, +"volumeId": { +"description": "The Volume this annotation is for.", +"type": "string" +} +}, +"type": "object" +}, +"Volumeannotations": { +"id": "Volumeannotations", +"properties": { +"items": { +"description": "A list of volume annotations.", +"items": { +"$ref": "Volumeannotation" +}, +"type": "array" +}, +"kind": { +"description": "Resource type", +"type": "string" +}, +"nextPageToken": { +"description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", +"type": "string" +}, +"totalItems": { +"description": "The total number of volume annotations found.", +"format": "int32", +"type": "integer" +}, +"version": { +"description": "The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).", +"type": "string" +} +}, +"type": "object" +}, +"Volumes": { +"id": "Volumes", +"properties": { +"items": { +"description": "A list of volumes.", +"items": { +"$ref": "Volume" +}, +"type": "array" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"totalItems": { +"description": "Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Volumeseriesinfo": { +"id": "Volumeseriesinfo", +"properties": { +"bookDisplayNumber": { +"description": "The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.", +"type": "string" +}, +"kind": { +"description": "Resource type.", +"type": "string" +}, +"shortSeriesBookTitle": { +"description": "Short book title in the context of the series.", +"type": "string" +}, +"volumeSeries": { +"items": { +"properties": { +"issue": { +"description": "List of issues. Applicable only for Collection Edition and Omnibus.", +"items": { +"properties": { +"issueDisplayNumber": { +"type": "string" +}, +"issueOrderNumber": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"type": "array" +}, +"orderNumber": { +"description": "The book order number in the series.", +"format": "int32", +"type": "integer" +}, +"seriesBookType": { +"description": "The book type in the context of series. Examples - Single Issue, Collection Edition, etc.", +"type": "string" +}, +"seriesId": { +"description": "The series id.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Books API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chat.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chat.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..2d8e81a35e26de6b6ade5e2a4fbfd57813ee877d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chat.v1.json @@ -0,0 +1,5151 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/chat.admin.delete": { +"description": "Delete conversations and spaces owned by your organization and remove access to associated files in Google Chat" +}, +"https://www.googleapis.com/auth/chat.admin.memberships": { +"description": "View, add, update and remove members and managers in conversations owned by your organization" +}, +"https://www.googleapis.com/auth/chat.admin.memberships.readonly": { +"description": "View members and managers in conversations owned by your organization" +}, +"https://www.googleapis.com/auth/chat.admin.spaces": { +"description": "View or edit display name, description, and other metadata for all Google Chat conversations owned by your organization" +}, +"https://www.googleapis.com/auth/chat.admin.spaces.readonly": { +"description": "View display name, description, and other metadata for all Google Chat conversations owned by your organization" +}, +"https://www.googleapis.com/auth/chat.app.delete": { +"description": "On their own behalf, apps in Google Chat can delete conversations and spaces and remove access to associated files" +}, +"https://www.googleapis.com/auth/chat.app.memberships": { +"description": "On their own behalf, apps in Google Chat can see, add, update, and remove members from conversations and spaces" +}, +"https://www.googleapis.com/auth/chat.app.spaces": { +"description": "On their own behalf, apps in Google Chat can create conversations and spaces and see or update their metadata (including history settings and access settings)" +}, +"https://www.googleapis.com/auth/chat.app.spaces.create": { +"description": "On their own behalf, apps in Google Chat can create conversations and spaces" +}, +"https://www.googleapis.com/auth/chat.bot": { +"description": "Private Service: https://www.googleapis.com/auth/chat.bot" +}, +"https://www.googleapis.com/auth/chat.delete": { +"description": "Delete conversations and spaces and remove access to associated files in Google Chat" +}, +"https://www.googleapis.com/auth/chat.import": { +"description": "Import spaces, messages, and memberships into Google Chat." +}, +"https://www.googleapis.com/auth/chat.memberships": { +"description": "See, add, update, and remove members from conversations and spaces in Google Chat" +}, +"https://www.googleapis.com/auth/chat.memberships.app": { +"description": "Add and remove itself from conversations and spaces in Google Chat" +}, +"https://www.googleapis.com/auth/chat.memberships.readonly": { +"description": "View members in Google Chat conversations." +}, +"https://www.googleapis.com/auth/chat.messages": { +"description": "See, compose, send, update, and delete messages and their associated attachments, and add, see, and delete reactions to messages." +}, +"https://www.googleapis.com/auth/chat.messages.create": { +"description": "Compose and send messages in Google Chat" +}, +"https://www.googleapis.com/auth/chat.messages.reactions": { +"description": "See, add, and delete reactions to messages in Google Chat" +}, +"https://www.googleapis.com/auth/chat.messages.reactions.create": { +"description": "Add reactions to messages in Google Chat" +}, +"https://www.googleapis.com/auth/chat.messages.reactions.readonly": { +"description": "View reactions to messages in Google Chat" +}, +"https://www.googleapis.com/auth/chat.messages.readonly": { +"description": "See messages and their associated reactions and attachments in Google Chat" +}, +"https://www.googleapis.com/auth/chat.spaces": { +"description": "Create conversations and spaces and see or update metadata (including history settings and access settings) in Google Chat" +}, +"https://www.googleapis.com/auth/chat.spaces.create": { +"description": "Create new conversations and spaces in Google Chat" +}, +"https://www.googleapis.com/auth/chat.spaces.readonly": { +"description": "View chat and spaces in Google Chat" +}, +"https://www.googleapis.com/auth/chat.users.readstate": { +"description": "View and modify last read time for Google Chat conversations" +}, +"https://www.googleapis.com/auth/chat.users.readstate.readonly": { +"description": "View last read time for Google Chat conversations" +} +} +} +}, +"basePath": "", +"baseUrl": "https://chat.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Hangouts Chat", +"description": "The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/hangouts/chat", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "chat:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://chat.mtls.googleapis.com/", +"name": "chat", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"media": { +"methods": { +"download": { +"description": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.", +"flatPath": "v1/media/{mediaId}", +"httpMethod": "GET", +"id": "chat.media.download", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/media/{+resourceName}", +"response": { +"$ref": "Media" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.readonly" +], +"supportsMediaDownload": true +}, +"upload": { +"description": "Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). You can upload attachments up to 200 MB. Certain file types aren't supported. For details, see [File types blocked by Google Chat](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).", +"flatPath": "v1/spaces/{spacesId}/attachments:upload", +"httpMethod": "POST", +"id": "chat.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"maxSize": "209715200", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/v1/{+parent}/attachments:upload" +}, +"simple": { +"multipart": true, +"path": "/upload/v1/{+parent}/attachments:upload" +} +} +}, +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the Chat space in which the attachment is uploaded. Format \"spaces/{space}\".", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/attachments:upload", +"request": { +"$ref": "UploadAttachmentRequest" +}, +"response": { +"$ref": "UploadAttachmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.create" +], +"supportsMediaUpload": true +} +} +}, +"spaces": { +"methods": { +"completeImport": { +"description": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", +"flatPath": "v1/spaces/{spacesId}:completeImport", +"httpMethod": "POST", +"id": "chat.spaces.completeImport", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the import mode space. Format: `spaces/{space}`", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:completeImport", +"request": { +"$ref": "CompleteImportSpaceRequest" +}, +"response": { +"$ref": "CompleteImportSpaceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.import" +] +}, +"create": { +"description": "Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When authenticating as an app, the `space.customer` field must be set in the request. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name.", +"flatPath": "v1/spaces", +"httpMethod": "POST", +"id": "chat.spaces.create", +"parameterOrder": [], +"parameters": { +"requestId": { +"description": "Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.", +"location": "query", +"type": "string" +} +}, +"path": "v1/spaces", +"request": { +"$ref": "Space" +}, +"response": { +"$ref": "Space" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.app.spaces", +"https://www.googleapis.com/auth/chat.app.spaces.create", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.create" +] +}, +"delete": { +"description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources\u2014like messages posted in the space and memberships in the space\u2014are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}", +"httpMethod": "DELETE", +"id": "chat.spaces.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the space to delete. Format: `spaces/{space}`", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.delete` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.delete", +"https://www.googleapis.com/auth/chat.app.delete", +"https://www.googleapis.com/auth/chat.delete", +"https://www.googleapis.com/auth/chat.import" +] +}, +"findDirectMessage": { +"description": "Returns the existing direct message with the specified user. If no direct message space is found, returns a `404 NOT_FOUND` error. For an example, see [Find a direct message](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. // Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", +"flatPath": "v1/spaces:findDirectMessage", +"httpMethod": "GET", +"id": "chat.spaces.findDirectMessage", +"parameterOrder": [], +"parameters": { +"name": { +"description": "Required. Resource name of the user to find direct message with. Format: `users/{user}`, where `{user}` is either the `id` for the [person](https://developers.google.com/people/api/rest/v1/people) from the People API, or the `id` for the [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Directory API. For example, if the People API profile ID is `123456789`, you can find a direct message with that person by using `users/123456789` as the `name`. When [authenticated as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), you can use the email as an alias for `{user}`. For example, `users/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user.", +"location": "query", +"type": "string" +} +}, +"path": "v1/spaces:findDirectMessage", +"response": { +"$ref": "Space" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.readonly" +] +}, +"get": { +"description": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}", +"httpMethod": "GET", +"id": "chat.spaces.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the space, in the form `spaces/{space}`. Format: `spaces/{space}`", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` or `chat.admin.spaces.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Space" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.spaces", +"https://www.googleapis.com/auth/chat.admin.spaces.readonly", +"https://www.googleapis.com/auth/chat.app.spaces", +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.readonly" +] +}, +"list": { +"description": "Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", +"flatPath": "v1/spaces", +"httpMethod": "GET", +"id": "chat.spaces.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Optional. A query filter. You can filter spaces by the space type ([`space_type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#spacetype)). To filter by space type, you must specify valid enum value, such as `SPACE` or `GROUP_CHAT` (the `space_type` can't be `SPACE_TYPE_UNSPECIFIED`). To query for multiple space types, use the `OR` operator. For example, the following queries are valid: ``` space_type = \"SPACE\" spaceType = \"GROUP_CHAT\" OR spaceType = \"DIRECT_MESSAGE\" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous list spaces call. Provide this parameter to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value may lead to unexpected results.", +"location": "query", +"type": "string" +} +}, +"path": "v1/spaces", +"response": { +"$ref": "ListSpacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.readonly" +] +}, +"patch": { +"description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}", +"httpMethod": "PATCH", +"id": "chat.spaces.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's description. Supports up to 150 characters. `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the Google Workspace organization might already use this display name. `space_type`: Only supports changing a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. Including the `space_type` mask and the `SPACE` type in the specified space when updating the display name is optional if the existing space already has the `SPACE` type. Trying to update the space type in other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` is not supported with `useAdminAccess`. `permission_settings`: Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at the same time. `permissionSettings` is not supported with `useAdminAccess`. The supported field masks include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - `permission_settings.manageApps` - `permission_settings.manageWebhooks` - `permission_settings.replyMessages`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Some `FieldMask` values are not supported using admin access. For details, see the description of `update_mask`.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Space" +}, +"response": { +"$ref": "Space" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.spaces", +"https://www.googleapis.com/auth/chat.app.spaces", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.spaces" +] +}, +"search": { +"description": "Returns a list of spaces in a Google Workspace organization based on an administrator's search. Requires [user authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges). In the request, set `use_admin_access` to `true`.", +"flatPath": "v1/spaces:search", +"httpMethod": "GET", +"id": "chat.spaces.search", +"parameterOrder": [], +"parameters": { +"orderBy": { +"description": "Optional. How the list of spaces is ordered. Supported attributes to order by are: - `membership_count.joined_direct_human_user_count` \u2014 Denotes the count of human users that have directly joined a space. - `last_active_time` \u2014 Denotes the time when last eligible item is added to any topic of this space. - `create_time` \u2014 Denotes the time of the space creation. Valid ordering operation values are: - `ASC` for ascending. Default value. - `DESC` for descending. The supported syntax are: - `membership_count.joined_direct_human_user_count DESC` - `membership_count.joined_direct_human_user_count ASC` - `last_active_time DESC` - `last_active_time ASC` - `create_time DESC` - `create_time ASC`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of spaces to return. The service may return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", +"location": "query", +"type": "string" +}, +"query": { +"description": "Required. A search query. You can search by using the following parameters: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `<`, `>`, `<=`, `>=`. `customer` is required and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = \"SPACE\" AND display_name:\"Hello\"` and an invalid example is `space_type = \"SPACE\" OR display_name:\"Hello\"`. Among the same field, `space_type` doesn't support `AND` or `OR` operators. `display_name`, 'space_history_state', and 'external_user_allowed' only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time < \"2022-01-01T00:00:00+00:00\" AND last_active_time > \"2023-01-01T00:00:00+00:00\"`. The following example queries are valid: ``` customer = \"customers/my_customer\" AND space_type = \"SPACE\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND display_name:\"Hello World\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (last_active_time < \"2020-01-01T00:00:00+00:00\" OR last_active_time > \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (display_name:\"Hello World\" OR display_name:\"Fun event\") AND (last_active_time > \"2020-01-01T00:00:00+00:00\" AND last_active_time < \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (create_time > \"2019-01-01T00:00:00+00:00\" AND create_time < \"2020-01-01T00:00:00+00:00\") AND (external_user_allowed = \"true\") AND (space_history_state = \"HISTORY_ON\" OR space_history_state = \"HISTORY_OFF\") ```", +"location": "query", +"type": "string" +}, +"useAdminAccess": { +"description": "When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). This method currently only supports admin access, thus only `true` is accepted for this field.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/spaces:search", +"response": { +"$ref": "SearchSpacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.spaces", +"https://www.googleapis.com/auth/chat.admin.spaces.readonly" +] +}, +"setup": { +"description": "Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see [Set up a space with initial members](https://developers.google.com/workspace/chat/set-up-spaces). To specify the human members to add, add memberships with the appropriate `membership.member.name`. To add a human user, use `users/{user}`, where `{user}` can be the email address for the user. For users in the same Workspace organization `{user}` can also be the `id` for the person from the People API, or the `id` for the user in the Directory API. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can add the user to the space by setting the `membership.member.name` to `users/user@example.com` or `users/123456789`. To specify the Google groups to add, add memberships with the appropriate `membership.group_member.name`. To add or invite a Google group, use `groups/{group}`, where `{group}` is the `id` for the group from the Cloud Identity Groups API. For example, you can use [Cloud Identity Groups lookup API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) to retrieve the ID `123456789` for group email `group@example.com`, then you can add the group to the space by setting the `membership.group_member.name` to `groups/123456789`. Group email is not supported, and Google groups can only be added as members in named spaces. For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space. To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created. To create a DM between the calling user and the calling app, set `Space.singleUserBotDm` to `true` and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see [Invite or add a user or app to a space](https://developers.google.com/workspace/chat/create-members). If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned. Spaces with threaded replies aren't supported. If you receive the error message `ALREADY_EXISTS` when setting up a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/spaces:setup", +"httpMethod": "POST", +"id": "chat.spaces.setup", +"parameterOrder": [], +"parameters": {}, +"path": "v1/spaces:setup", +"request": { +"$ref": "SetUpSpaceRequest" +}, +"response": { +"$ref": "Space" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.create" +] +} +}, +"resources": { +"members": { +"methods": { +"create": { +"description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", +"flatPath": "v1/spaces/{spacesId}/members", +"httpMethod": "POST", +"id": "chat.spaces.members.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the space for which to create the membership. Format: spaces/{space}", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/members", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Membership" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.memberships", +"https://www.googleapis.com/auth/chat.app.memberships", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.app" +] +}, +"delete": { +"description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}/members/{membersId}", +"httpMethod": "DELETE", +"id": "chat.spaces.members.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the membership to delete. Chat apps can delete human users' or their own memberships. Chat apps can't delete other apps' memberships. When deleting a human membership, requires the `chat.memberships` scope and `spaces/{space}/members/{member}` format. You can use the email as an alias for `{member}`. For example, `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. When deleting an app membership, requires the `chat.memberships.app` scope and `spaces/{space}/members/app` format. Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`.", +"location": "path", +"pattern": "^spaces/[^/]+/members/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Deleting app memberships in a space isn't supported using admin access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Membership" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.memberships", +"https://www.googleapis.com/auth/chat.app.memberships", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.app" +] +}, +"get": { +"description": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}/members/{membersId}", +"httpMethod": "GET", +"id": "chat.spaces.members.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the membership to retrieve. To get the app's own membership [by using user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), you can optionally use `spaces/{space}/members/app`. Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app` You can use the user's email as an alias for `{member}`. For example, `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user.", +"location": "path", +"pattern": "^spaces/[^/]+/members/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` or `chat.admin.memberships.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Getting app memberships in a space isn't supported when using admin access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Membership" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.memberships", +"https://www.googleapis.com/auth/chat.admin.memberships.readonly", +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.readonly" +] +}, +"list": { +"description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}/members", +"httpMethod": "GET", +"id": "chat.spaces.members.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A query filter. You can filter memberships by a member's role ([`role`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members#membershiprole)) and type ([`member.type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/User#type)). To filter by role, set `role` to `ROLE_MEMBER` or `ROLE_MANAGER`. To filter by type, set `member.type` to `HUMAN` or `BOT`. You can also filter for `member.type` using the `!=` operator. To filter by both role and type, use the `AND` operator. To filter by either role or type, use the `OR` operator. Either `member.type = \"HUMAN\"` or `member.type != \"BOT\"` is required when `use_admin_access` is set to true. Other member type filters will be rejected. For example, the following queries are valid: ``` role = \"ROLE_MANAGER\" OR role = \"ROLE_MEMBER\" member.type = \"HUMAN\" AND role = \"ROLE_MANAGER\" member.type != \"BOT\" ``` The following queries are invalid: ``` member.type = \"HUMAN\" AND member.type = \"BOT\" role = \"ROLE_MANAGER\" AND role = \"ROLE_MEMBER\" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of memberships to return. The service might return fewer than this value. If unspecified, at most 100 memberships are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the space for which to fetch a membership list. Format: spaces/{space}", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"showGroups": { +"description": "Optional. When `true`, also returns memberships associated with a Google Group, in addition to other types of memberships. If a filter is set, Google Group memberships that don't match the filter criteria aren't returned.", +"location": "query", +"type": "boolean" +}, +"showInvited": { +"description": "Optional. When `true`, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don't match the filter criteria aren't returned. Currently requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"location": "query", +"type": "boolean" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.memberships.readonly` or `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Listing app memberships in a space isn't supported when using admin access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/members", +"response": { +"$ref": "ListMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.memberships", +"https://www.googleapis.com/auth/chat.admin.memberships.readonly", +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.readonly" +] +}, +"patch": { +"description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", +"flatPath": "v1/spaces/{spacesId}/members/{membersId}", +"httpMethod": "PATCH", +"id": "chat.spaces.members.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", +"location": "path", +"pattern": "^spaces/[^/]+/members/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `role`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"useAdminAccess": { +"description": "Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Membership" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.admin.memberships", +"https://www.googleapis.com/auth/chat.app.memberships", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.memberships" +] +} +} +}, +"messages": { +"methods": { +"create": { +"description": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) requests, the response doesn't contain the full message. The response only populates the `name` and `thread.name` fields in addition to the information that was in the request.", +"flatPath": "v1/spaces/{spacesId}/messages", +"httpMethod": "POST", +"id": "chat.spaces.messages.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"messageId": { +"description": "Optional. A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message `name` field). The value for this field must meet the following requirements: * Begins with `client-`. For example, `client-custom-name` is a valid custom ID, but `custom-name` is not. * Contains up to 63 characters and only lowercase letters, numbers, and hyphens. * Is unique within a space. A Chat app can't use the same custom ID for different messages. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"location": "query", +"type": "string" +}, +"messageReplyOption": { +"description": "Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread.", +"enum": [ +"MESSAGE_REPLY_OPTION_UNSPECIFIED", +"REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD", +"REPLY_MESSAGE_OR_FAIL" +], +"enumDescriptions": [ +"Default. Starts a new thread. Using this option ignores any thread ID or `thread_key` that's included.", +"Creates the message as a reply to the thread specified by thread ID or `thread_key`. If it fails, the message starts a new thread instead.", +"Creates the message as a reply to the thread specified by thread ID or `thread_key`. If a new `thread_key` is used, a new thread is created. If the message creation fails, a `NOT_FOUND` error is returned instead." +], +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the space in which to create a message. Format: `spaces/{space}`", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", +"location": "query", +"type": "string" +}, +"threadKey": { +"deprecated": true, +"description": "Optional. Deprecated: Use thread.thread_key instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a `threadKey` or the thread.name. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/messages", +"request": { +"$ref": "Message" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.create" +] +}, +"delete": { +"description": "Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When using app authentication, requests can only delete messages created by the calling Chat app.", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}", +"httpMethod": "DELETE", +"id": "chat.spaces.messages.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Resource name of the message. Format: `spaces/{space}/messages/{message}` If you've set a custom ID for your message, you can use the value from the `clientAssignedMessageId` field for `{message}`. For details, see [Name a message] (https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages" +] +}, +"get": { +"description": "Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Note: Might return a message from a blocked member or space.", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}", +"httpMethod": "GET", +"id": "chat.spaces.messages.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the message. Format: `spaces/{space}/messages/{message}` If you've set a custom ID for your message, you can use the value from the `clientAssignedMessageId` field for `{message}`. For details, see [Name a message] (https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.readonly" +] +}, +"list": { +"description": "Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, `{}`. For an example, see [List messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/spaces/{spacesId}/messages", +"httpMethod": "GET", +"id": "chat.spaces.messages.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `\"2023-04-21T11:30:00-04:00\"`. You can use the greater than operator `>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space}/threads/{thread}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time > \"2012-04-21T11:30:00-04:00\" create_time > \"2012-04-21T11:30:00-04:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time > \"2012-04-21T11:30:00+00:00\" AND create_time < \"2013-01-01T00:00:00+00:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous list messages call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the space to list messages from. Format: `spaces/{space}`", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/messages", +"response": { +"$ref": "ListMessagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.readonly" +] +}, +"patch": { +"description": "Updates a message. There's a difference between the `patch` and `update` methods. The `patch` method uses a `patch` request while the `update` method uses a `put` request. We recommend using the `patch` method. For an example, see [Update a message](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When using app authentication, requests can only update messages created by the calling Chat app.", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}", +"httpMethod": "PATCH", +"id": "chat.spaces.messages.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If `true` and the message isn't found, a new message is created and `updateMask` is ignored. The specified message ID must be [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message) or the request fails.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `text` - `attachment` - `cards` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `cards_v2` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `accessory_widgets` (Requires [app authentication](/chat/api/guides/auth/service-accounts).)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Message" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages" +] +}, +"update": { +"description": "Updates a message. There's a difference between the `patch` and `update` methods. The `patch` method uses a `patch` request while the `update` method uses a `put` request. We recommend using the `patch` method. For an example, see [Update a message](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When using app authentication, requests can only update messages created by the calling Chat app.", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}", +"httpMethod": "PUT", +"id": "chat.spaces.messages.update", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If `true` and the message isn't found, a new message is created and `updateMask` is ignored. The specified message ID must be [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message) or the request fails.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `text` - `attachment` - `cards` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `cards_v2` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `accessory_widgets` (Requires [app authentication](/chat/api/guides/auth/service-accounts).)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Message" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot", +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages" +] +} +}, +"resources": { +"attachments": { +"methods": { +"get": { +"description": "Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/attachments/{attachmentsId}", +"httpMethod": "GET", +"id": "chat.spaces.messages.attachments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the attachment, in the form `spaces/{space}/messages/{message}/attachments/{attachment}`.", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+/attachments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Attachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.bot" +] +} +} +}, +"reactions": { +"methods": { +"create": { +"description": "Creates a reaction and adds it to a message. Only unicode emojis are supported. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions", +"httpMethod": "POST", +"id": "chat.spaces.messages.reactions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The message where the reaction is created. Format: `spaces/{space}/messages/{message}`", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reactions", +"request": { +"$ref": "Reaction" +}, +"response": { +"$ref": "Reaction" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.reactions", +"https://www.googleapis.com/auth/chat.messages.reactions.create" +] +}, +"delete": { +"description": "Deletes a reaction to a message. Only unicode emojis are supported. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions/{reactionsId}", +"httpMethod": "DELETE", +"id": "chat.spaces.messages.reactions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the reaction to delete. Format: `spaces/{space}/messages/{message}/reactions/{reaction}`", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+/reactions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.import", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.reactions" +] +}, +"list": { +"description": "Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions", +"httpMethod": "GET", +"id": "chat.spaces.messages.reactions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A query filter. You can filter reactions by [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji) (either `emoji.unicode` or `emoji.custom_emoji.uid`) and [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) (`user.name`). To filter reactions for multiple emojis or users, join similar fields with the `OR` operator, such as `emoji.unicode = \"\ud83d\ude42\" OR emoji.unicode = \"\ud83d\udc4d\"` and `user.name = \"users/AAAAAA\" OR user.name = \"users/BBBBBB\"`. To filter reactions by emoji and user, use the `AND` operator, such as `emoji.unicode = \"\ud83d\ude42\" AND user.name = \"users/AAAAAA\"`. If your query uses both `AND` and `OR`, group them with parentheses. For example, the following queries are valid: ``` user.name = \"users/{user}\" emoji.unicode = \"\ud83d\ude42\" emoji.custom_emoji.uid = \"{uid}\" emoji.unicode = \"\ud83d\ude42\" OR emoji.unicode = \"\ud83d\udc4d\" emoji.unicode = \"\ud83d\ude42\" OR emoji.custom_emoji.uid = \"{uid}\" emoji.unicode = \"\ud83d\ude42\" AND user.name = \"users/{user}\" (emoji.unicode = \"\ud83d\ude42\" OR emoji.custom_emoji.uid = \"{uid}\") AND user.name = \"users/{user}\" ``` The following queries are invalid: ``` emoji.unicode = \"\ud83d\ude42\" AND emoji.unicode = \"\ud83d\udc4d\" emoji.unicode = \"\ud83d\ude42\" AND emoji.custom_emoji.uid = \"{uid}\" emoji.unicode = \"\ud83d\ude42\" OR user.name = \"users/{user}\" emoji.unicode = \"\ud83d\ude42\" OR emoji.custom_emoji.uid = \"{uid}\" OR user.name = \"users/{user}\" emoji.unicode = \"\ud83d\ude42\" OR emoji.custom_emoji.uid = \"{uid}\" AND user.name = \"users/{user}\" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The message users reacted to. Format: `spaces/{space}/messages/{message}`", +"location": "path", +"pattern": "^spaces/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reactions", +"response": { +"$ref": "ListReactionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.reactions", +"https://www.googleapis.com/auth/chat.messages.reactions.readonly", +"https://www.googleapis.com/auth/chat.messages.readonly" +] +} +} +} +} +}, +"spaceEvents": { +"methods": { +"get": { +"description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the Space event data for this request. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", +"flatPath": "v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}", +"httpMethod": "GET", +"id": "chat.spaces.spaceEvents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the space event. Format: `spaces/{space}/spaceEvents/{spaceEvent}`", +"location": "path", +"pattern": "^spaces/[^/]+/spaceEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SpaceEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.readonly", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.reactions", +"https://www.googleapis.com/auth/chat.messages.reactions.readonly", +"https://www.googleapis.com/auth/chat.messages.readonly", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.readonly" +] +}, +"list": { +"description": "Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns `Membership` resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty `Membership` resource. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To list events, the authenticated user must be a member of the space. For an example, see [List events from a Google Chat space](https://developers.google.com/workspace/chat/list-space-events).", +"flatPath": "v1/spaces/{spacesId}/spaceEvents", +"httpMethod": "GET", +"id": "chat.spaces.spaceEvents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Required. A query filter. You must specify at least one event type (`event_type`) using the has `:` operator. To filter by multiple event types, use the `OR` operator. Omit batch event types in your filter. The request automatically returns any related batch events. For example, if you filter by new reactions (`google.workspace.chat.reaction.v1.created`), the server also returns batch new reactions events (`google.workspace.chat.reaction.v1.batchCreated`). For a list of supported event types, see the [`SpaceEvents` reference documentation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.event_type). Optionally, you can also filter by start time (`start_time`) and end time (`end_time`): * `start_time`: Exclusive timestamp from which to start listing space events. You can list events that occurred up to 28 days ago. If unspecified, lists space events from the past 28 days. * `end_time`: Inclusive timestamp until which space events are listed. If unspecified, lists events up to the time of the request. To specify a start or end time, use the equals `=` operator and format in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339). To filter by both `start_time` and `end_time`, use the `AND` operator. For example, the following queries are valid: ``` start_time=\"2023-08-23T19:20:33+00:00\" AND end_time=\"2023-08-23T19:21:54+00:00\" ``` ``` start_time=\"2023-08-23T19:20:33+00:00\" AND (event_types:\"google.workspace.chat.space.v1.updated\" OR event_types:\"google.workspace.chat.message.v1.created\") ``` The following queries are invalid: ``` start_time=\"2023-08-23T19:20:33+00:00\" OR end_time=\"2023-08-23T19:21:54+00:00\" ``` ``` event_types:\"google.workspace.chat.space.v1.updated\" AND event_types:\"google.workspace.chat.message.v1.created\" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of space events returned. The service might return fewer than this value. Negative values return an `INVALID_ARGUMENT` error.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the [Google Chat space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) where the events occurred. Format: `spaces/{space}`.", +"location": "path", +"pattern": "^spaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/spaceEvents", +"response": { +"$ref": "ListSpaceEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.memberships", +"https://www.googleapis.com/auth/chat.memberships.readonly", +"https://www.googleapis.com/auth/chat.messages", +"https://www.googleapis.com/auth/chat.messages.reactions", +"https://www.googleapis.com/auth/chat.messages.reactions.readonly", +"https://www.googleapis.com/auth/chat.messages.readonly", +"https://www.googleapis.com/auth/chat.spaces", +"https://www.googleapis.com/auth/chat.spaces.readonly" +] +} +} +} +} +}, +"users": { +"resources": { +"spaces": { +"methods": { +"getSpaceReadState": { +"description": "Returns details about a user's read state within a space, used to identify read and unread messages. For an example, see [Get details about a user's space read state](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/users/{usersId}/spaces/{spacesId}/spaceReadState", +"httpMethod": "GET", +"id": "chat.users.spaces.getSpaceReadState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the space read state to retrieve. Only supports getting read state for the calling user. To refer to the calling user, set one of the following: - The `me` alias. For example, `users/me/spaces/{space}/spaceReadState`. - Their Workspace email address. For example, `users/user@example.com/spaces/{space}/spaceReadState`. - Their user id. For example, `users/123456789/spaces/{space}/spaceReadState`. Format: users/{user}/spaces/{space}/spaceReadState", +"location": "path", +"pattern": "^users/[^/]+/spaces/[^/]+/spaceReadState$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SpaceReadState" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.users.readstate", +"https://www.googleapis.com/auth/chat.users.readstate.readonly" +] +}, +"updateSpaceReadState": { +"description": "Updates a user's read state within a space, used to identify read and unread messages. For an example, see [Update a user's space read state](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/users/{usersId}/spaces/{spacesId}/spaceReadState", +"httpMethod": "PATCH", +"id": "chat.users.spaces.updateSpaceReadState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the space read state. Format: `users/{user}/spaces/{space}/spaceReadState`", +"location": "path", +"pattern": "^users/[^/]+/spaces/[^/]+/spaceReadState$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The field paths to update. Currently supported field paths: - `last_read_time` When the `last_read_time` is before the latest message create time, the space appears as unread in the UI. To mark the space as read, set `last_read_time` to any value later (larger) than the latest message create time. The `last_read_time` is coerced to match the latest message create time. Note that the space read state only affects the read state of messages that are visible in the space's top-level conversation. Replies in threads are unaffected by this timestamp, and instead rely on the thread read state.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "SpaceReadState" +}, +"response": { +"$ref": "SpaceReadState" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.users.readstate" +] +} +}, +"resources": { +"threads": { +"methods": { +"getThreadReadState": { +"description": "Returns details about a user's read state within a thread, used to identify read and unread messages. For an example, see [Get details about a user's thread read state](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"flatPath": "v1/users/{usersId}/spaces/{spacesId}/threads/{threadsId}/threadReadState", +"httpMethod": "GET", +"id": "chat.users.spaces.threads.getThreadReadState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the thread read state to retrieve. Only supports getting read state for the calling user. To refer to the calling user, set one of the following: - The `me` alias. For example, `users/me/spaces/{space}/threads/{thread}/threadReadState`. - Their Workspace email address. For example, `users/user@example.com/spaces/{space}/threads/{thread}/threadReadState`. - Their user id. For example, `users/123456789/spaces/{space}/threads/{thread}/threadReadState`. Format: users/{user}/spaces/{space}/threads/{thread}/threadReadState", +"location": "path", +"pattern": "^users/[^/]+/spaces/[^/]+/threads/[^/]+/threadReadState$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ThreadReadState" +}, +"scopes": [ +"https://www.googleapis.com/auth/chat.users.readstate", +"https://www.googleapis.com/auth/chat.users.readstate.readonly" +] +} +} +} +} +} +} +} +}, +"revision": "20241229", +"rootUrl": "https://chat.googleapis.com/", +"schemas": { +"AccessSettings": { +"description": "Represents the [access setting](https://support.google.com/chat/answer/11971020) of the space.", +"id": "AccessSettings", +"properties": { +"accessState": { +"description": "Output only. Indicates the access state of the space.", +"enum": [ +"ACCESS_STATE_UNSPECIFIED", +"PRIVATE", +"DISCOVERABLE" +], +"enumDescriptions": [ +"Access state is unknown or not supported in this API.", +"Only users or Google Groups that have been individually added or invited by other users or Google Workspace administrators can discover and access the space.", +"A space manager has granted a target audience access to the space. Users or Google Groups that have been individually added or invited to the space can also discover and access the space. To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). Creating discoverable spaces requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)." +], +"readOnly": true, +"type": "string" +}, +"audience": { +"description": "Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope in [Developer Preview](https://developers.google.com/workspace/preview). This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"type": "string" +} +}, +"type": "object" +}, +"AccessoryWidget": { +"description": "One or more interactive widgets that appear at the bottom of a message. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets).", +"id": "AccessoryWidget", +"properties": { +"buttonList": { +"$ref": "GoogleAppsCardV1ButtonList", +"description": "A list of buttons." +} +}, +"type": "object" +}, +"ActionParameter": { +"description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters.", +"id": "ActionParameter", +"properties": { +"key": { +"description": "The name of the parameter for the action script.", +"type": "string" +}, +"value": { +"description": "The value of the parameter.", +"type": "string" +} +}, +"type": "object" +}, +"ActionResponse": { +"description": "Parameters that a Chat app can use to configure how its response is posted.", +"id": "ActionResponse", +"properties": { +"dialogAction": { +"$ref": "DialogAction", +"description": "Input only. A response to an interaction event related to a [dialog](https://developers.google.com/workspace/chat/dialogs). Must be accompanied by `ResponseType.Dialog`." +}, +"type": { +"description": "Input only. The type of Chat app response.", +"enum": [ +"TYPE_UNSPECIFIED", +"NEW_MESSAGE", +"UPDATE_MESSAGE", +"UPDATE_USER_MESSAGE_CARDS", +"REQUEST_CONFIG", +"DIALOG", +"UPDATE_WIDGET" +], +"enumDescriptions": [ +"Default type that's handled as `NEW_MESSAGE`.", +"Post as a new message in the topic.", +"Update the Chat app's message. This is only permitted on a `CARD_CLICKED` event where the message sender type is `BOT`.", +"Update the cards on a user's message. This is only permitted as a response to a `MESSAGE` event with a matched url, or a `CARD_CLICKED` event where the message sender type is `HUMAN`. Text is ignored.", +"Privately ask the user for additional authentication or configuration.", +"Presents a [dialog](https://developers.google.com/workspace/chat/dialogs).", +"Widget text autocomplete options query." +], +"type": "string" +}, +"updatedWidget": { +"$ref": "UpdatedWidget", +"description": "Input only. The response of the updated widget." +}, +"url": { +"description": "Input only. URL for users to authenticate or configure. (Only for `REQUEST_CONFIG` response types.)", +"type": "string" +} +}, +"type": "object" +}, +"ActionStatus": { +"description": "Represents the status for a request to either invoke or submit a [dialog](https://developers.google.com/workspace/chat/dialogs).", +"id": "ActionStatus", +"properties": { +"statusCode": { +"description": "The status code.", +"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" +], +"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" +], +"type": "string" +}, +"userFacingMessage": { +"description": "The message to send users about the status of their request. If unset, a generic message based on the `status_code` is sent.", +"type": "string" +} +}, +"type": "object" +}, +"Annotation": { +"description": "Output only. Annotations associated with the plain-text body of the message. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!\" ``` The corresponding annotations metadata: ``` \"annotations\":[{ \"type\":\"USER_MENTION\", \"startIndex\":6, \"length\":7, \"userMention\": { \"user\": { \"name\":\"users/{user}\", \"displayName\":\"FooBot\", \"avatarUrl\":\"https://goo.gl/aeDtrS\", \"type\":\"BOT\" }, \"type\":\"MENTION\" } }] ```", +"id": "Annotation", +"properties": { +"length": { +"description": "Length of the substring in the plain-text message body this annotation corresponds to.", +"format": "int32", +"type": "integer" +}, +"richLinkMetadata": { +"$ref": "RichLinkMetadata", +"description": "The metadata for a rich link." +}, +"slashCommand": { +"$ref": "SlashCommandMetadata", +"description": "The metadata for a slash command." +}, +"startIndex": { +"description": "Start index (0-based, inclusive) in the plain-text message body this annotation corresponds to.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of this annotation.", +"enum": [ +"ANNOTATION_TYPE_UNSPECIFIED", +"USER_MENTION", +"SLASH_COMMAND", +"RICH_LINK" +], +"enumDescriptions": [ +"Default value for the enum. Don't use.", +"A user is mentioned.", +"A slash command is invoked.", +"A rich link annotation." +], +"type": "string" +}, +"userMention": { +"$ref": "UserMentionMetadata", +"description": "The metadata of user mention." +} +}, +"type": "object" +}, +"AttachedGif": { +"description": "A GIF image that's specified by a URL.", +"id": "AttachedGif", +"properties": { +"uri": { +"description": "Output only. The URL that hosts the GIF image.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Attachment": { +"description": "An attachment in Google Chat.", +"id": "Attachment", +"properties": { +"attachmentDataRef": { +"$ref": "AttachmentDataRef", +"description": "Optional. A reference to the attachment data. This field is used to create or update messages with attachments, or with the media API to download the attachment data." +}, +"contentName": { +"description": "Output only. The original file name for the content, not the full path.", +"readOnly": true, +"type": "string" +}, +"contentType": { +"description": "Output only. The content type (MIME type) of the file.", +"readOnly": true, +"type": "string" +}, +"downloadUri": { +"description": "Output only. The download URL which should be used to allow a human user to download the attachment. Chat apps shouldn't use this URL to download attachment content.", +"readOnly": true, +"type": "string" +}, +"driveDataRef": { +"$ref": "DriveDataRef", +"description": "Output only. A reference to the Google Drive attachment. This field is used with the Google Drive API.", +"readOnly": true +}, +"name": { +"description": "Optional. Resource name of the attachment, in the form `spaces/{space}/messages/{message}/attachments/{attachment}`.", +"type": "string" +}, +"source": { +"description": "Output only. The source of the attachment.", +"enum": [ +"SOURCE_UNSPECIFIED", +"DRIVE_FILE", +"UPLOADED_CONTENT" +], +"enumDescriptions": [ +"Reserved.", +"The file is a Google Drive file.", +"The file is uploaded to Chat." +], +"readOnly": true, +"type": "string" +}, +"thumbnailUri": { +"description": "Output only. The thumbnail URL which should be used to preview the attachment to a human user. Chat apps shouldn't use this URL to download attachment content.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AttachmentDataRef": { +"description": "A reference to the attachment data.", +"id": "AttachmentDataRef", +"properties": { +"attachmentUploadToken": { +"description": "Optional. Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments.", +"type": "string" +}, +"resourceName": { +"description": "Optional. The resource name of the attachment data. This field is used with the media API to download the attachment data.", +"type": "string" +} +}, +"type": "object" +}, +"Button": { +"description": "A button. Can be a text button or an image button.", +"id": "Button", +"properties": { +"imageButton": { +"$ref": "ImageButton", +"description": "A button with image and `onclick` action." +}, +"textButton": { +"$ref": "TextButton", +"description": "A button with text and `onclick` action." +} +}, +"type": "object" +}, +"Card": { +"description": "A card is a UI element that can contain UI widgets such as text and images.", +"id": "Card", +"properties": { +"cardActions": { +"description": "The actions of this card.", +"items": { +"$ref": "CardAction" +}, +"type": "array" +}, +"header": { +"$ref": "CardHeader", +"description": "The header of the card. A header usually contains a title and an image." +}, +"name": { +"description": "Name of the card.", +"type": "string" +}, +"sections": { +"description": "Sections are separated by a line divider.", +"items": { +"$ref": "Section" +}, +"type": "array" +} +}, +"type": "object" +}, +"CardAction": { +"description": "A card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser. Not supported by Google Chat apps.", +"id": "CardAction", +"properties": { +"actionLabel": { +"description": "The label used to be displayed in the action menu item.", +"type": "string" +}, +"onClick": { +"$ref": "OnClick", +"description": "The onclick action for this action item." +} +}, +"type": "object" +}, +"CardHeader": { +"id": "CardHeader", +"properties": { +"imageStyle": { +"description": "The image's type (for example, square border or circular border).", +"enum": [ +"IMAGE_STYLE_UNSPECIFIED", +"IMAGE", +"AVATAR" +], +"enumDescriptions": [ +"", +"Square border.", +"Circular border." +], +"type": "string" +}, +"imageUrl": { +"description": "The URL of the image in the card header.", +"type": "string" +}, +"subtitle": { +"description": "The subtitle of the card header.", +"type": "string" +}, +"title": { +"description": "The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each takes up one line. If only the title is specified, it takes up both lines.", +"type": "string" +} +}, +"type": "object" +}, +"CardWithId": { +"description": "A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the message can't contain cards. [Card builder](https://addons.gsuite.google.com/uikit/builder)", +"id": "CardWithId", +"properties": { +"card": { +"$ref": "GoogleAppsCardV1Card", +"description": "A card. Maximum size is 32 KB." +}, +"cardId": { +"description": "Required if the message contains multiple cards. A unique identifier for a card in a message.", +"type": "string" +} +}, +"type": "object" +}, +"ChatAppLogEntry": { +"description": "JSON payload of error messages. If the Cloud Logging API is enabled, these error messages are logged to [Google Cloud Logging](https://cloud.google.com/logging/docs).", +"id": "ChatAppLogEntry", +"properties": { +"deployment": { +"description": "The deployment that caused the error. For Chat apps built in Apps Script, this is the deployment ID defined by Apps Script.", +"type": "string" +}, +"deploymentFunction": { +"description": "The unencrypted `callback_method` name that was running when the error was encountered.", +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "The error code and message." +} +}, +"type": "object" +}, +"ChatClientDataSourceMarkup": { +"description": "For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Chat. The data source populates selection items for the multiselect menu. For example, a user can select Google Chat spaces that they're a member of. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "ChatClientDataSourceMarkup", +"properties": { +"spaceDataSource": { +"$ref": "SpaceDataSource", +"description": "Google Chat spaces that the user is a member of." +} +}, +"type": "object" +}, +"ChatSpaceLinkData": { +"description": "Data for Chat space links.", +"id": "ChatSpaceLinkData", +"properties": { +"message": { +"description": "The message of the linked Chat space resource. Format: `spaces/{space}/messages/{message}`", +"type": "string" +}, +"space": { +"description": "The space of the linked Chat space resource. Format: `spaces/{space}`", +"type": "string" +}, +"thread": { +"description": "The thread of the linked Chat space resource. Format: `spaces/{space}/threads/{thread}`", +"type": "string" +} +}, +"type": "object" +}, +"Color": { +"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\u2014for 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 <= 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 << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "Color", +"properties": { +"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).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CommonEventObject": { +"description": "Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes data submitted by users interacting with cards, like data entered in [dialogs](https://developers.google.com/chat/how-tos/dialogs).", +"id": "CommonEventObject", +"properties": { +"formInputs": { +"additionalProperties": { +"$ref": "Inputs" +}, +"description": "A map containing the values that a user inputs in a widget from a card or dialog. The map keys are the string IDs assigned to each widget, and the values represent inputs to the widget. For details, see [Process information inputted by users](https://developers.google.com/chat/ui/read-form-data).", +"type": "object" +}, +"hostApp": { +"description": "The hostApp enum which indicates the app the add-on is invoked from. Always `CHAT` for Chat apps.", +"enum": [ +"UNSPECIFIED_HOST_APP", +"GMAIL", +"CALENDAR", +"DRIVE", +"DEMO", +"DOCS", +"MEET", +"SHEETS", +"SLIDES", +"DRAWINGS", +"CHAT" +], +"enumDescriptions": [ +"Google can't identify a host app.", +"The add-on launches from Gmail.", +"The add-on launches from Google Calendar.", +"The add-on launches from Google Drive.", +"Not used.", +"The add-on launches from Google Docs.", +"The add-on launches from Google Meet.", +"The add-on launches from Google Sheets.", +"The add-on launches from Google Slides.", +"The add-on launches from Google Drawings.", +"A Google Chat app. Not used for Google Workspace Add-ons." +], +"type": "string" +}, +"invokedFunction": { +"description": "Name of the invoked function associated with the widget. Only set for Chat apps.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Custom [parameters](/chat/api/reference/rest/v1/cards#ActionParameter) passed to the invoked function. Both keys and values must be strings.", +"type": "object" +}, +"platform": { +"description": "The platform enum which indicates the platform where the event originates (`WEB`, `IOS`, or `ANDROID`). Not supported by Chat apps.", +"enum": [ +"UNKNOWN_PLATFORM", +"WEB", +"IOS", +"ANDROID" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "The timezone ID and offset from Coordinated Universal Time (UTC). Only supported for the event types [`CARD_CLICKED`](https://developers.google.com/chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/DialogEventType#ENUM_VALUES.SUBMIT_DIALOG)." +}, +"userLocale": { +"description": "The full `locale.displayName` in the format of [ISO 639 language code]-[ISO 3166 country/region code] such as \"en-US\".", +"type": "string" +} +}, +"type": "object" +}, +"CompleteImportSpaceRequest": { +"description": "Request message for completing the import process for a space.", +"id": "CompleteImportSpaceRequest", +"properties": {}, +"type": "object" +}, +"CompleteImportSpaceResponse": { +"description": "Response message for completing the import process for a space.", +"id": "CompleteImportSpaceResponse", +"properties": { +"space": { +"$ref": "Space", +"description": "The import mode space." +} +}, +"type": "object" +}, +"CustomEmoji": { +"description": "Represents a custom emoji.", +"id": "CustomEmoji", +"properties": { +"uid": { +"description": "Output only. Unique key for the custom emoji resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DateInput": { +"description": "Date input values.", +"id": "DateInput", +"properties": { +"msSinceEpoch": { +"description": "Time since epoch time, in milliseconds.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DateTimeInput": { +"description": "Date and time input values.", +"id": "DateTimeInput", +"properties": { +"hasDate": { +"description": "Whether the `datetime` input includes a calendar date.", +"type": "boolean" +}, +"hasTime": { +"description": "Whether the `datetime` input includes a timestamp.", +"type": "boolean" +}, +"msSinceEpoch": { +"description": "Time since epoch time, in milliseconds.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DeletionMetadata": { +"description": "Information about a deleted message. A message is deleted when `delete_time` is set.", +"id": "DeletionMetadata", +"properties": { +"deletionType": { +"description": "Indicates who deleted the message.", +"enum": [ +"DELETION_TYPE_UNSPECIFIED", +"CREATOR", +"SPACE_OWNER", +"ADMIN", +"APP_MESSAGE_EXPIRY", +"CREATOR_VIA_APP", +"SPACE_OWNER_VIA_APP" +], +"enumDescriptions": [ +"This value is unused.", +"User deleted their own message.", +"The space owner deleted the message.", +"A Google Workspace admin deleted the message.", +"A Chat app deleted its own message when it expired.", +"A Chat app deleted the message on behalf of the user.", +"A Chat app deleted the message on behalf of the space owner." +], +"type": "string" +} +}, +"type": "object" +}, +"DeprecatedEvent": { +"description": "A Google Chat app interaction event that represents and contains data about a user's interaction with a Chat app. To configure your Chat app to receive interaction events, see [Receive and respond to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions). In addition to receiving events from user interactions, Chat apps can receive events about changes to spaces, such as when a new member is added to a space. To learn about space events, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview).", +"id": "DeprecatedEvent", +"properties": { +"action": { +"$ref": "FormAction", +"description": "For `CARD_CLICKED` interaction events, the form action data associated when a user clicks a card or dialog. To learn more, see [Read form data input by users on cards](https://developers.google.com/workspace/chat/read-form-data)." +}, +"common": { +"$ref": "CommonEventObject", +"description": "Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes information submitted by users interacting with [dialogs](https://developers.google.com/workspace/chat/dialogs), like data entered on a card." +}, +"configCompleteRedirectUrl": { +"description": "For `MESSAGE` interaction events, the URL that users must be redirected to after they complete an authorization or configuration flow outside of Google Chat. For more information, see [Connect a Chat app with other services and tools](https://developers.google.com/workspace/chat/connect-web-services-tools).", +"type": "string" +}, +"dialogEventType": { +"description": "The type of [dialog](https://developers.google.com/workspace/chat/dialogs) interaction event received.", +"enum": [ +"TYPE_UNSPECIFIED", +"REQUEST_DIALOG", +"SUBMIT_DIALOG", +"CANCEL_DIALOG" +], +"enumDescriptions": [ +"Default value. Unspecified.", +"A user opens a dialog.", +"A user clicks an interactive element of a dialog. For example, a user fills out information in a dialog and clicks a button to submit the information.", +"A user closes a dialog without submitting information. The Chat app only receives this interaction event when users click the close icon in the top right corner of the dialog. When the user closes the dialog by other means (such as refreshing the browser, clicking outside the dialog box, or pressing the escape key), no event is sent. ." +], +"type": "string" +}, +"eventTime": { +"description": "The timestamp indicating when the interaction event occurred.", +"format": "google-datetime", +"type": "string" +}, +"isDialogEvent": { +"description": "For `CARD_CLICKED` and `MESSAGE` interaction events, whether the user is interacting with or about to interact with a [dialog](https://developers.google.com/workspace/chat/dialogs).", +"type": "boolean" +}, +"message": { +"$ref": "Message", +"description": "For `ADDED_TO_SPACE`, `CARD_CLICKED`, and `MESSAGE` interaction events, the message that triggered the interaction event, if applicable." +}, +"space": { +"$ref": "Space", +"description": "The space in which the user interacted with the Chat app." +}, +"threadKey": { +"description": "The Chat app-defined key for the thread related to the interaction event. See [`spaces.messages.thread.threadKey`](/chat/api/reference/rest/v1/spaces.messages#Thread.FIELDS.thread_key) for more information.", +"type": "string" +}, +"token": { +"description": "A secret value that legacy Chat apps can use to verify if a request is from Google. Google randomly generates the token, and its value remains static. You can obtain, revoke, or regenerate the token from the [Chat API configuration page](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) in the Google Cloud Console. Modern Chat apps don't use this field. It is absent from API responses and the [Chat API configuration page](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat).", +"type": "string" +}, +"type": { +"description": "The [type](/workspace/chat/api/reference/rest/v1/EventType) of user interaction with the Chat app, such as `MESSAGE` or `ADDED_TO_SPACE`.", +"enum": [ +"UNSPECIFIED", +"MESSAGE", +"ADDED_TO_SPACE", +"REMOVED_FROM_SPACE", +"CARD_CLICKED", +"WIDGET_UPDATED" +], +"enumDescriptions": [ +"Default value for the enum. DO NOT USE.", +"A user sends the Chat app a message, or invokes the Chat app in a space, such as any of the following examples: * Any message in a direct message (DM) space with the Chat app. * A message in a multi-person space where a person @mentions the Chat app, or uses one of its slash commands. * If you've configured link previews for your Chat app, a user posts a message that contains a link that matches the configured URL pattern.", +"A user adds the Chat app to a space, or a Google Workspace administrator installs the Chat app in direct message spaces for users in their organization. Chat apps typically respond to this interaction event by posting a welcome message in the space. When administrators install Chat apps, the `space.adminInstalled` field is set to `true` and users can't uninstall them. To learn about Chat apps installed by administrators, see Google Workspace Admin Help's documentation, [Install Marketplace apps in your domain](https://support.google.com/a/answer/172482).", +"A user removes the Chat app from a space, or a Google Workspace administrator uninstalls the Chat app for a user in their organization. Chat apps can't respond with messages to this event, because they have already been removed. When administrators uninstall Chat apps, the `space.adminInstalled` field is set to `false`. If a user installed the Chat app before the administrator, the Chat app remains installed for the user and the Chat app doesn't receive a `REMOVED_FROM_SPACE` interaction event.", +"A user clicks an interactive element of a card or dialog from a Chat app, such as a button. To receive an interaction event, the button must trigger another interaction with the Chat app. For example, a Chat app doesn't receive a `CARD_CLICKED` interaction event if a user clicks a button that opens a link to a website, but receives interaction events in the following examples: * The user clicks a `Send feedback` button on a card, which opens a dialog for the user to input information. * The user clicks a `Submit` button after inputting information into a card or dialog. If a user clicks a button to open, submit, or cancel a dialog, the `CARD_CLICKED` interaction event's `isDialogEvent` field is set to `true` and includes a [`DialogEventType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/DialogEventType).", +"A user updates a widget in a card message or dialog." +], +"type": "string" +}, +"user": { +"$ref": "User", +"description": "The user that interacted with the Chat app." +} +}, +"type": "object" +}, +"Dialog": { +"description": "Wrapper around the card body of the dialog.", +"id": "Dialog", +"properties": { +"body": { +"$ref": "GoogleAppsCardV1Card", +"description": "Input only. Body of the dialog, which is rendered in a modal. Google Chat apps don't support the following card entities: `DateTimePicker`, `OnChangeAction`." +} +}, +"type": "object" +}, +"DialogAction": { +"description": "Contains a [dialog](https://developers.google.com/workspace/chat/dialogs) and request status code.", +"id": "DialogAction", +"properties": { +"actionStatus": { +"$ref": "ActionStatus", +"description": "Input only. Status for a request to either invoke or submit a [dialog](https://developers.google.com/workspace/chat/dialogs). Displays a status and message to users, if necessary. For example, in case of an error or success." +}, +"dialog": { +"$ref": "Dialog", +"description": "Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request." +} +}, +"type": "object" +}, +"DriveDataRef": { +"description": "A reference to the data of a drive attachment.", +"id": "DriveDataRef", +"properties": { +"driveFileId": { +"description": "The ID for the drive file. Use with the Drive API.", +"type": "string" +} +}, +"type": "object" +}, +"DriveLinkData": { +"description": "Data for Google Drive links.", +"id": "DriveLinkData", +"properties": { +"driveDataRef": { +"$ref": "DriveDataRef", +"description": "A [DriveDataRef](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments#drivedataref) which references a Google Drive file." +}, +"mimeType": { +"description": "The mime type of the linked Google Drive resource.", +"type": "string" +} +}, +"type": "object" +}, +"Emoji": { +"description": "An emoji that is used as a reaction to a message.", +"id": "Emoji", +"properties": { +"customEmoji": { +"$ref": "CustomEmoji", +"description": "Output only. A custom emoji.", +"readOnly": true +}, +"unicode": { +"description": "Optional. A basic emoji represented by a unicode string.", +"type": "string" +} +}, +"type": "object" +}, +"EmojiReactionSummary": { +"description": "The number of people who reacted to a message with a specific emoji.", +"id": "EmojiReactionSummary", +"properties": { +"emoji": { +"$ref": "Emoji", +"description": "Output only. Emoji associated with the reactions.", +"readOnly": true +}, +"reactionCount": { +"description": "Output only. The total number of reactions using the associated emoji.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FormAction": { +"description": "A form action describes the behavior when the form is submitted. For example, you can invoke Apps Script to handle the form.", +"id": "FormAction", +"properties": { +"actionMethodName": { +"description": "The method name is used to identify which part of the form triggered the form submission. This information is echoed back to the Chat app as part of the card click event. You can use the same method name for several elements that trigger a common behavior.", +"type": "string" +}, +"parameters": { +"description": "List of action parameters.", +"items": { +"$ref": "ActionParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Action": { +"description": "An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Action", +"properties": { +"allWidgetsAreRequired": { +"description": "Optional. If this is true, then all widgets are considered required by this action. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"type": "boolean" +}, +"function": { +"description": "A custom function to invoke when the containing element is clicked or otherwise activated. For example usage, see [Read form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +}, +"interaction": { +"description": "Optional. Required when opening a [dialog](https://developers.google.com/workspace/chat/dialogs). What to do in response to an interaction with a user, such as a user clicking a button in a card message. If unspecified, the app responds by executing an `action`\u2014like opening a link or running a function\u2014as normal. By specifying an `interaction`, the app can respond in special interactive ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can open a [dialog](https://developers.google.com/workspace/chat/dialogs). When specified, a loading indicator isn't shown. If specified for an add-on, the entire card is stripped and nothing is shown in the client. [Google Chat apps](https://developers.google.com/workspace/chat):", +"enum": [ +"INTERACTION_UNSPECIFIED", +"OPEN_DIALOG" +], +"enumDescriptions": [ +"Default value. The `action` executes as normal.", +"Opens a [dialog](https://developers.google.com/workspace/chat/dialogs), a windowed, card-based interface that Chat apps use to interact with users. Only supported by Chat apps in response to button-clicks on card messages. If specified for an add-on, the entire card is stripped and nothing is shown in the client. [Google Chat apps](https://developers.google.com/workspace/chat):" +], +"type": "string" +}, +"loadIndicator": { +"description": "Specifies the loading indicator that the action displays while making the call to the action.", +"enum": [ +"SPINNER", +"NONE" +], +"enumDescriptions": [ +"Displays a spinner to indicate that content is loading.", +"Nothing is displayed." +], +"type": "string" +}, +"parameters": { +"description": "List of action parameters.", +"items": { +"$ref": "GoogleAppsCardV1ActionParameter" +}, +"type": "array" +}, +"persistValues": { +"description": "Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. To let the user make changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `NONE`. For [card messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create) in Chat apps, you must also set the action's [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use the same [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId) from the card that contained the action. If `false`, the form values are cleared when the action is triggered. To prevent the user from making changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `SPINNER`.", +"type": "boolean" +}, +"requiredWidgets": { +"description": "Optional. Fill this list with the names of widgets that this Action needs for a valid submission. If the widgets listed here don't have a value when this Action is invoked, the form submission is aborted. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1ActionParameter": { +"description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, or snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. To learn more, see [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1ActionParameter", +"properties": { +"key": { +"description": "The name of the parameter for the action script.", +"type": "string" +}, +"value": { +"description": "The value of the parameter.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1BorderStyle": { +"description": "The style options for the border of a card or widget, including the border type and color. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1BorderStyle", +"properties": { +"cornerRadius": { +"description": "The corner radius for the border.", +"format": "int32", +"type": "integer" +}, +"strokeColor": { +"$ref": "Color", +"description": "The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored." +}, +"type": { +"description": "The border type.", +"enum": [ +"BORDER_TYPE_UNSPECIFIED", +"NO_BORDER", +"STROKE" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. No border.", +"Outline." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Button": { +"description": "A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Button", +"properties": { +"altText": { +"description": "The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat\".", +"type": "string" +}, +"color": { +"$ref": "Color", +"description": "Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored." +}, +"disabled": { +"description": "If `true`, the button is displayed in an inactive state and doesn't respond to user actions.", +"type": "boolean" +}, +"icon": { +"$ref": "GoogleAppsCardV1Icon", +"description": "An icon displayed inside the button. If both `icon` and `text` are set, then the icon appears before the text." +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "Required. The action to perform when a user clicks the button, such as opening a hyperlink or running a custom function." +}, +"text": { +"description": "The text displayed inside the button.", +"type": "string" +}, +"type": { +"description": "Optional. The type of a button. If unset, button type defaults to `OUTLINED`. If the `color` field is set, the button type is forced to `FILLED` and any value set for this field is ignored.", +"enum": [ +"TYPE_UNSPECIFIED", +"OUTLINED", +"FILLED", +"FILLED_TONAL", +"BORDERLESS" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Outlined buttons are medium-emphasis buttons. They usually contain actions that are important, but aren\u2019t the primary action in a Chat app or an add-on.", +"A filled button has a container with a solid color. It has the most visual impact and is recommended for the important and primary action in a Chat app or an add-on.", +"A filled tonal button is an alternative middle ground between filled and outlined buttons. They\u2019re useful in contexts where a lower-priority button requires slightly more emphasis than an outline button would give.", +"A button does not have an invisible container in its default state. It is often used for the lowest priority actions, especially when presenting multiple options." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1ButtonList": { +"description": "A list of buttons layed out horizontally. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1ButtonList", +"properties": { +"buttons": { +"description": "An array of buttons.", +"items": { +"$ref": "GoogleAppsCardV1Button" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Card": { +"description": "A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. Any widgets beyond this limit are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace Add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { \"cardsV2\": [ { \"cardId\": \"unique-card-id\", \"card\": { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"imageType\": \"CIRCLE\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\": [ { \"header\": \"Contact Info\", \"collapsible\": true, \"uncollapsibleWidgetsCount\": 1, \"widgets\": [ { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"text\": \"sasha@example.com\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PERSON\" }, \"text\": \"Online\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PHONE\" }, \"text\": \"+1 (555) 555-1234\" } }, { \"buttonList\": { \"buttons\": [ { \"text\": \"Share\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"text\": \"Edit\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ] } } } ] } } ] } ] } } ] } ```", +"id": "GoogleAppsCardV1Card", +"properties": { +"cardActions": { +"description": "The card's actions. Actions are added to the card's toolbar menu. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` \"card_actions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", +"items": { +"$ref": "GoogleAppsCardV1CardAction" +}, +"type": "array" +}, +"displayStyle": { +"description": "In Google Workspace Add-ons, sets the display properties of the `peekCardHeader`. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", +"enum": [ +"DISPLAY_STYLE_UNSPECIFIED", +"PEEK", +"REPLACE" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"The header of the card appears at the bottom of the sidebar, partially covering the current top card of the stack. Clicking the header pops the card into the card stack. If the card has no header, a generated header is used instead.", +"Default value. The card is shown by replacing the view of the top card in the card stack." +], +"type": "string" +}, +"fixedFooter": { +"$ref": "GoogleAppsCardV1CardFixedFooter", +"description": "The fixed footer shown at the bottom of this card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" +}, +"header": { +"$ref": "GoogleAppsCardV1CardHeader", +"description": "The header of the card. A header usually contains a leading image and a title. Headers always appear at the top of a card." +}, +"name": { +"description": "Name of the card. Used as a card identifier in card navigation. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", +"type": "string" +}, +"peekCardHeader": { +"$ref": "GoogleAppsCardV1CardHeader", +"description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" +}, +"sectionDividerStyle": { +"description": "The divider style between the header, sections and footer.", +"enum": [ +"DIVIDER_STYLE_UNSPECIFIED", +"SOLID_DIVIDER", +"NO_DIVIDER" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default option. Render a solid divider.", +"If set, no divider is rendered. This style completely removes the divider from the layout. The result is equivalent to not adding a divider at all." +], +"type": "string" +}, +"sections": { +"description": "Contains a collection of widgets. Each section has its own, optional header. Sections are visually separated by a line divider. For an example in Google Chat apps, see [Define a section of a card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).", +"items": { +"$ref": "GoogleAppsCardV1Section" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1CardAction": { +"description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", +"id": "GoogleAppsCardV1CardAction", +"properties": { +"actionLabel": { +"description": "The label that displays as the action menu item.", +"type": "string" +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "The `onClick` action for this action item." +} +}, +"type": "object" +}, +"GoogleAppsCardV1CardFixedFooter": { +"description": "A persistent (sticky) footer that that appears at the bottom of the card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). For an example in Google Chat apps, see [Add a persistent footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1CardFixedFooter", +"properties": { +"primaryButton": { +"$ref": "GoogleAppsCardV1Button", +"description": "The primary button of the fixed footer. The button must be a text button with text and color set." +}, +"secondaryButton": { +"$ref": "GoogleAppsCardV1Button", +"description": "The secondary button of the fixed footer. The button must be a text button with text and color set. If `secondaryButton` is set, you must also set `primaryButton`." +} +}, +"type": "object" +}, +"GoogleAppsCardV1CardHeader": { +"description": "Represents a card header. For an example in Google Chat apps, see [Add a header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1CardHeader", +"properties": { +"imageAltText": { +"description": "The alternative text of this image that's used for accessibility.", +"type": "string" +}, +"imageType": { +"description": "The shape used to crop the image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"enum": [ +"SQUARE", +"CIRCLE" +], +"enumDescriptions": [ +"Default value. Applies a square mask to the image. For example, a 4x3 image becomes 3x3.", +"Applies a circular mask to the image. For example, a 4x3 image becomes a circle with a diameter of 3." +], +"type": "string" +}, +"imageUrl": { +"description": "The HTTPS URL of the image in the card header.", +"type": "string" +}, +"subtitle": { +"description": "The subtitle of the card header. If specified, appears on its own line below the `title`.", +"type": "string" +}, +"title": { +"description": "Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Carousel": { +"description": "[Developer Preview](https://developers.google.com/workspace/preview): A carousel, also known as a slider, rotates and displays a list of widgets in a slideshow format, with buttons navigating to the previous or next widget. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { \"carouselCards\": [ { \"widgets\": [ { \"textParagraph\": { \"text\": \"First text paragraph in carousel\", } } ] }, { \"widgets\": [ { \"textParagraph\": { \"text\": \"Second text paragraph in carousel\", } } ] }, { \"widgets\": [ { \"textParagraph\": { \"text\": \"Third text paragraph in carousel\", } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "GoogleAppsCardV1Carousel", +"properties": { +"carouselCards": { +"description": "A list of cards included in the carousel.", +"items": { +"$ref": "GoogleAppsCardV1CarouselCard" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1CarouselCard": { +"description": "[Developer Preview](https://developers.google.com/workspace/preview): A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "GoogleAppsCardV1CarouselCard", +"properties": { +"footerWidgets": { +"description": "A list of widgets displayed at the bottom of the carousel card. The widgets are displayed in the order that they are specified.", +"items": { +"$ref": "GoogleAppsCardV1NestedWidget" +}, +"type": "array" +}, +"widgets": { +"description": "A list of widgets displayed in the carousel card. The widgets are displayed in the order that they are specified.", +"items": { +"$ref": "GoogleAppsCardV1NestedWidget" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Chip": { +"description": "A text, icon, or text and icon chip that users can click. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Chip", +"properties": { +"altText": { +"description": "The alternative text that's used for accessibility. Set descriptive text that lets users know what the chip does. For example, if a chip opens a hyperlink, write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat\".", +"type": "string" +}, +"disabled": { +"description": "Whether the chip is in an inactive state and ignores user actions. Defaults to `false`.", +"type": "boolean" +}, +"enabled": { +"deprecated": true, +"description": "Whether the chip is in an active state and responds to user actions. Defaults to `true`. Deprecated. Use `disabled` instead.", +"type": "boolean" +}, +"icon": { +"$ref": "GoogleAppsCardV1Icon", +"description": "The icon image. If both `icon` and `text` are set, then the icon appears before the text." +}, +"label": { +"description": "The text displayed inside the chip.", +"type": "string" +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "Optional. The action to perform when a user clicks the chip, such as opening a hyperlink or running a custom function." +} +}, +"type": "object" +}, +"GoogleAppsCardV1ChipList": { +"description": "A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1ChipList", +"properties": { +"chips": { +"description": "An array of chips.", +"items": { +"$ref": "GoogleAppsCardV1Chip" +}, +"type": "array" +}, +"layout": { +"description": "Specified chip list layout.", +"enum": [ +"LAYOUT_UNSPECIFIED", +"WRAPPED", +"HORIZONTAL_SCROLLABLE" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. The chip list wraps to the next line if there isn't enough horizontal space.", +"The chips scroll horizontally if they don't fit in the available space." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1CollapseControl": { +"description": "Represent an expand and collapse control. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1CollapseControl", +"properties": { +"collapseButton": { +"$ref": "GoogleAppsCardV1Button", +"description": "Optional. Define a customizable button to collapse the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used." +}, +"expandButton": { +"$ref": "GoogleAppsCardV1Button", +"description": "Optional. Define a customizable button to expand the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used." +}, +"horizontalAlignment": { +"description": "The horizontal alignment of the expand and collapse button.", +"enum": [ +"HORIZONTAL_ALIGNMENT_UNSPECIFIED", +"START", +"CENTER", +"END" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Aligns widgets to the start position of the column. For left-to-right layouts, aligns to the left. For right-to-left layouts, aligns to the right.", +"Aligns widgets to the center of the column.", +"Aligns widgets to the end position of the column. For left-to-right layouts, aligns widgets to the right. For right-to-left layouts, aligns widgets to the left." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Column": { +"description": "A column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend)", +"id": "GoogleAppsCardV1Column", +"properties": { +"horizontalAlignment": { +"description": "Specifies whether widgets align to the left, right, or center of a column.", +"enum": [ +"HORIZONTAL_ALIGNMENT_UNSPECIFIED", +"START", +"CENTER", +"END" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Aligns widgets to the start position of the column. For left-to-right layouts, aligns to the left. For right-to-left layouts, aligns to the right.", +"Aligns widgets to the center of the column.", +"Aligns widgets to the end position of the column. For left-to-right layouts, aligns widgets to the right. For right-to-left layouts, aligns widgets to the left." +], +"type": "string" +}, +"horizontalSizeStyle": { +"description": "Specifies how a column fills the width of the card.", +"enum": [ +"HORIZONTAL_SIZE_STYLE_UNSPECIFIED", +"FILL_AVAILABLE_SPACE", +"FILL_MINIMUM_SPACE" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Column fills the available space, up to 70% of the card's width. If both columns are set to `FILL_AVAILABLE_SPACE`, each column fills 50% of the space.", +"Column fills the least amount of space possible and no more than 30% of the card's width." +], +"type": "string" +}, +"verticalAlignment": { +"description": "Specifies whether widgets align to the top, bottom, or center of a column.", +"enum": [ +"VERTICAL_ALIGNMENT_UNSPECIFIED", +"CENTER", +"TOP", +"BOTTOM" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Aligns widgets to the center of a column.", +"Aligns widgets to the top of a column.", +"Aligns widgets to the bottom of a column." +], +"type": "string" +}, +"widgets": { +"description": "An array of widgets included in a column. Widgets appear in the order that they are specified.", +"items": { +"$ref": "GoogleAppsCardV1Widgets" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Columns": { +"description": "The `Columns` widget displays up to 2 columns in a card or dialog. You can add widgets to each column; the widgets appear in the order that they are specified. For an example in Google Chat apps, see [Display cards and dialogs in columns](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_cards_and_dialogs_in_columns). The height of each column is determined by the taller column. For example, if the first column is taller than the second column, both columns have the height of the first column. Because each column can contain a different number of widgets, you can't define rows or align widgets between the columns. Columns are displayed side-by-side. You can customize the width of each column using the `HorizontalSizeStyle` field. If the user's screen width is too narrow, the second column wraps below the first: * On web, the second column wraps if the screen width is less than or equal to 480 pixels. * On iOS devices, the second column wraps if the screen width is less than or equal to 300 pt. * On Android devices, the second column wraps if the screen width is less than or equal to 320 dp. To include more than two columns, or to use rows, use the `Grid` widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): The add-on UIs that support columns include: * The dialog displayed when users open the add-on from an email draft. * The dialog displayed when users open the add-on from the **Add attachment** menu in a Google Calendar event.", +"id": "GoogleAppsCardV1Columns", +"properties": { +"columnItems": { +"description": "An array of columns. You can include up to 2 columns in a card or dialog.", +"items": { +"$ref": "GoogleAppsCardV1Column" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1DateTimePicker": { +"description": "Lets users input a date, a time, or both a date and a time. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1DateTimePicker", +"properties": { +"label": { +"description": "The text that prompts users to input a date, a time, or a date and time. For example, if users are scheduling an appointment, use a label such as `Appointment date` or `Appointment date and time`.", +"type": "string" +}, +"name": { +"description": "The name by which the `DateTimePicker` is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +}, +"onChangeAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "Triggered when the user clicks **Save** or **Clear** from the `DateTimePicker` interface." +}, +"timezoneOffsetDate": { +"description": "The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If unset, the value defaults to the user's time zone setting.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Whether the widget supports inputting a date, a time, or the date and time.", +"enum": [ +"DATE_AND_TIME", +"DATE_ONLY", +"TIME_ONLY" +], +"enumDescriptions": [ +"Users input a date and time.", +"Users input a date.", +"Users input a time." +], +"type": "string" +}, +"valueMsEpoch": { +"description": "The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1DecoratedText": { +"description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1DecoratedText", +"properties": { +"bottomLabel": { +"description": "The text that appears below `text`. Always wraps.", +"type": "string" +}, +"button": { +"$ref": "GoogleAppsCardV1Button", +"description": "A button that a user can click to trigger an action." +}, +"endIcon": { +"$ref": "GoogleAppsCardV1Icon", +"description": "An icon displayed after the text. Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons." +}, +"icon": { +"$ref": "GoogleAppsCardV1Icon", +"deprecated": true, +"description": "Deprecated in favor of `startIcon`." +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "This action is triggered when users click `topLabel` or `bottomLabel`." +}, +"startIcon": { +"$ref": "GoogleAppsCardV1Icon", +"description": "The icon displayed in front of the text." +}, +"switchControl": { +"$ref": "GoogleAppsCardV1SwitchControl", +"description": "A switch widget that a user can click to change its state and trigger an action." +}, +"text": { +"description": "Required. The primary text. Supports simple formatting. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +}, +"topLabel": { +"description": "The text that appears above `text`. Always truncates.", +"type": "string" +}, +"wrapText": { +"description": "The wrap text setting. If `true`, the text wraps and displays on multiple lines. Otherwise, the text is truncated. Only applies to `text`, not `topLabel` and `bottomLabel`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Divider": { +"description": "Displays a divider between widgets as a horizontal line. For an example in Google Chat apps, see [Add a horizontal divider between widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a divider: ``` \"divider\": {} ```", +"id": "GoogleAppsCardV1Divider", +"properties": {}, +"type": "object" +}, +"GoogleAppsCardV1Grid": { +"description": "Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```", +"id": "GoogleAppsCardV1Grid", +"properties": { +"borderStyle": { +"$ref": "GoogleAppsCardV1BorderStyle", +"description": "The border style to apply to each grid item." +}, +"columnCount": { +"description": "The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion).", +"format": "int32", +"type": "integer" +}, +"items": { +"description": "The items to display in the grid.", +"items": { +"$ref": "GoogleAppsCardV1GridItem" +}, +"type": "array" +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters." +}, +"title": { +"description": "The text that displays in the grid header.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1GridItem": { +"description": "Represents an item in a grid layout. Items can contain text, an image, or both text and an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1GridItem", +"properties": { +"id": { +"description": "A user-specified identifier for this grid item. This identifier is returned in the parent grid's `onClick` callback parameters.", +"type": "string" +}, +"image": { +"$ref": "GoogleAppsCardV1ImageComponent", +"description": "The image that displays in the grid item." +}, +"layout": { +"description": "The layout to use for the grid item.", +"enum": [ +"GRID_ITEM_LAYOUT_UNSPECIFIED", +"TEXT_BELOW", +"TEXT_ABOVE" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"The title and subtitle are shown below the grid item's image.", +"The title and subtitle are shown above the grid item's image." +], +"type": "string" +}, +"subtitle": { +"description": "The grid item's subtitle.", +"type": "string" +}, +"title": { +"description": "The grid item's title.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Icon": { +"description": "An icon displayed in a widget on a card. For an example in Google Chat apps, see [Add an icon](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_icon). Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Icon", +"properties": { +"altText": { +"description": "Optional. A description of the icon used for accessibility. If unspecified, the default value `Button` is provided. As a best practice, you should set a helpful description for what the icon displays, and if applicable, what it does. For example, `A user's account portrait`, or `Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat`. If the icon is set in a `Button`, the `altText` appears as helper text when the user hovers over the button. However, if the button also sets `text`, the icon's `altText` is ignored.", +"type": "string" +}, +"iconUrl": { +"description": "Display a custom icon hosted at an HTTPS URL. For example: ``` \"iconUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\" ``` Supported file types include `.png` and `.jpg`.", +"type": "string" +}, +"imageType": { +"description": "The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon.", +"enum": [ +"SQUARE", +"CIRCLE" +], +"enumDescriptions": [ +"Default value. Applies a square mask to the image. For example, a 4x3 image becomes 3x3.", +"Applies a circular mask to the image. For example, a 4x3 image becomes a circle with a diameter of 3." +], +"type": "string" +}, +"knownIcon": { +"description": "Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons).", +"type": "string" +}, +"materialIcon": { +"$ref": "GoogleAppsCardV1MaterialIcon", +"description": "Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` \"material_icon\": { \"name\": \"check_box\" } ``` [Google Chat apps](https://developers.google.com/workspace/chat):" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Image": { +"description": "An image that is specified by a URL and can have an `onClick` action. For an example, see [Add an image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Image", +"properties": { +"altText": { +"description": "The alternative text of this image that's used for accessibility.", +"type": "string" +}, +"imageUrl": { +"description": "The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ```", +"type": "string" +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "When a user clicks the image, the click triggers this action." +} +}, +"type": "object" +}, +"GoogleAppsCardV1ImageComponent": { +"description": "Represents an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1ImageComponent", +"properties": { +"altText": { +"description": "The accessibility label for the image.", +"type": "string" +}, +"borderStyle": { +"$ref": "GoogleAppsCardV1BorderStyle", +"description": "The border style to apply to the image." +}, +"cropStyle": { +"$ref": "GoogleAppsCardV1ImageCropStyle", +"description": "The crop style to apply to the image." +}, +"imageUri": { +"description": "The image URL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1ImageCropStyle": { +"description": "Represents the crop style applied to an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { \"type\": \"RECTANGLE_CUSTOM\", \"aspectRatio\": 16/9 } ```", +"id": "GoogleAppsCardV1ImageCropStyle", +"properties": { +"aspectRatio": { +"description": "The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { \"type\": \"RECTANGLE_CUSTOM\", \"aspectRatio\": 16/9 } ```", +"format": "double", +"type": "number" +}, +"type": { +"description": "The crop type.", +"enum": [ +"IMAGE_CROP_TYPE_UNSPECIFIED", +"SQUARE", +"CIRCLE", +"RECTANGLE_CUSTOM", +"RECTANGLE_4_3" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Applies a square crop.", +"Applies a circular crop.", +"Applies a rectangular crop with a custom aspect ratio. Set the custom aspect ratio with `aspectRatio`.", +"Applies a rectangular crop with a 4:3 aspect ratio." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1MaterialIcon": { +"description": "A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { \"name\": \"check_box\", \"fill\": true, \"weight\": 300, \"grade\": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "GoogleAppsCardV1MaterialIcon", +"properties": { +"fill": { +"description": "Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**.", +"type": "boolean" +}, +"grade": { +"description": "Weight and grade affect a symbol\u2019s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render.", +"type": "string" +}, +"weight": { +"description": "The stroke weight of the icon. Choose from {100, 200, 300, 400, 500, 600, 700}. If absent, default value is 400. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsCardV1NestedWidget": { +"description": "[Developer Preview](https://developers.google.com/workspace/preview): A list of widgets that can be displayed in a containing layout, such as a `CarouselCard`. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "GoogleAppsCardV1NestedWidget", +"properties": { +"buttonList": { +"$ref": "GoogleAppsCardV1ButtonList", +"description": "A button list widget." +}, +"image": { +"$ref": "GoogleAppsCardV1Image", +"description": "An image widget." +}, +"textParagraph": { +"$ref": "GoogleAppsCardV1TextParagraph", +"description": "A text paragraph widget." +} +}, +"type": "object" +}, +"GoogleAppsCardV1OnClick": { +"description": "Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1OnClick", +"properties": { +"action": { +"$ref": "GoogleAppsCardV1Action", +"description": "If specified, an action is triggered by this `onClick`." +}, +"card": { +"$ref": "GoogleAppsCardV1Card", +"description": "A new card is pushed to the card stack after clicking if specified. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" +}, +"openDynamicLinkAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" +}, +"openLink": { +"$ref": "GoogleAppsCardV1OpenLink", +"description": "If specified, this `onClick` triggers an open link action." +}, +"overflowMenu": { +"$ref": "GoogleAppsCardV1OverflowMenu", +"description": "If specified, this `onClick` opens an overflow menu." +} +}, +"type": "object" +}, +"GoogleAppsCardV1OpenLink": { +"description": "Represents an `onClick` event that opens a hyperlink. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1OpenLink", +"properties": { +"onClose": { +"description": "Whether the client forgets about a link after opening it, or observes it until the window closes. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", +"enum": [ +"NOTHING", +"RELOAD" +], +"enumDescriptions": [ +"Default value. The card doesn't reload; nothing happens.", +"Reloads the card after the child window closes. If used in conjunction with [`OpenAs.OVERLAY`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#openas), the child window acts as a modal dialog and the parent card is blocked until the child window closes." +], +"type": "string" +}, +"openAs": { +"description": "How to open a link. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", +"enum": [ +"FULL_SIZE", +"OVERLAY" +], +"enumDescriptions": [ +"The link opens as a full-size window (if that's the frame used by the client).", +"The link opens as an overlay, such as a pop-up." +], +"type": "string" +}, +"url": { +"description": "The URL to open.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1OverflowMenu": { +"description": "A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1OverflowMenu", +"properties": { +"items": { +"description": "Required. The list of menu options.", +"items": { +"$ref": "GoogleAppsCardV1OverflowMenuItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1OverflowMenuItem": { +"description": "An option that users can invoke in an overflow menu. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1OverflowMenuItem", +"properties": { +"disabled": { +"description": "Whether the menu option is disabled. Defaults to false.", +"type": "boolean" +}, +"onClick": { +"$ref": "GoogleAppsCardV1OnClick", +"description": "Required. The action invoked when a menu option is selected. This `OnClick` cannot contain an `OverflowMenu`, any specified `OverflowMenu` is dropped and the menu item disabled." +}, +"startIcon": { +"$ref": "GoogleAppsCardV1Icon", +"description": "The icon displayed in front of the text." +}, +"text": { +"description": "Required. The text that identifies or describes the item to users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1PlatformDataSource": { +"description": "For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Workspace. Used to populate items in a multiselect menu. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "GoogleAppsCardV1PlatformDataSource", +"properties": { +"commonDataSource": { +"description": "A data source shared by all Google Workspace applications, such as users in a Google Workspace organization.", +"enum": [ +"UNKNOWN", +"USER" +], +"enumDescriptions": [ +"Default value. Don't use.", +"Google Workspace users. The user can only view and select users from their Google Workspace organization." +], +"type": "string" +}, +"hostAppDataSource": { +"$ref": "HostAppDataSourceMarkup", +"description": "A data source that's unique to a Google Workspace host application, such spaces in Google Chat. This field supports the Google API Client Libraries but isn't available in the Cloud Client Libraries. To learn more, see [Install the client libraries](https://developers.google.com/workspace/chat/libraries)." +} +}, +"type": "object" +}, +"GoogleAppsCardV1Section": { +"description": "A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Section", +"properties": { +"collapseControl": { +"$ref": "GoogleAppsCardV1CollapseControl", +"description": "Optional. Define the expand and collapse button of the section. This button will be shown only if the section is collapsible. If this field isn't set, the default button is used." +}, +"collapsible": { +"description": "Indicates whether this section is collapsible. Collapsible sections hide some or all widgets, but users can expand the section to reveal the hidden widgets by clicking **Show more**. Users can hide the widgets again by clicking **Show less**. To determine which widgets are hidden, specify `uncollapsibleWidgetsCount`.", +"type": "boolean" +}, +"header": { +"description": "Text that appears at the top of a section. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +}, +"uncollapsibleWidgetsCount": { +"description": "The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`.", +"format": "int32", +"type": "integer" +}, +"widgets": { +"description": "All the widgets in the section. Must contain at least one widget.", +"items": { +"$ref": "GoogleAppsCardV1Widget" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1SelectionInput": { +"description": "A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1SelectionInput", +"properties": { +"externalDataSource": { +"$ref": "GoogleAppsCardV1Action", +"description": "An external data source, such as a relational database." +}, +"items": { +"description": "An array of selectable items. For example, an array of radio buttons or checkboxes. Supports up to 100 items.", +"items": { +"$ref": "GoogleAppsCardV1SelectionItem" +}, +"type": "array" +}, +"label": { +"description": "The text that appears above the selection input field in the user interface. Specify text that helps the user enter the information your app needs. For example, if users are selecting the urgency of a work ticket from a drop-down menu, the label might be \"Urgency\" or \"Select urgency\".", +"type": "string" +}, +"multiSelectMaxSelectedItems": { +"description": "For multiselect menus, the maximum number of items that a user can select. Minimum value is 1 item. If unspecified, defaults to 3 items.", +"format": "int32", +"type": "integer" +}, +"multiSelectMinQueryLength": { +"description": "For multiselect menus, the number of text characters that a user inputs before the menu returns suggested selection items. If unset, the multiselect menu uses the following default values: * If the menu uses a static array of `SelectionInput` items, defaults to 0 characters and immediately populates items from the array. * If the menu uses a dynamic data source (`multi_select_data_source`), defaults to 3 characters before querying the data source to return suggested items.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Required. The name that identifies the selection input in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +}, +"onChangeAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button that submits the form. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data)." +}, +"platformDataSource": { +"$ref": "GoogleAppsCardV1PlatformDataSource", +"description": "A data source from Google Workspace." +}, +"type": { +"description": "The type of items that are displayed to users in a `SelectionInput` widget. Selection types support different types of interactions. For example, users can select one or more checkboxes, but they can only select one value from a dropdown menu.", +"enum": [ +"CHECK_BOX", +"RADIO_BUTTON", +"SWITCH", +"DROPDOWN", +"MULTI_SELECT" +], +"enumDescriptions": [ +"A set of checkboxes. Users can select one or more checkboxes.", +"A set of radio buttons. Users can select one radio button.", +"A set of switches. Users can turn on one or more switches.", +"A dropdown menu. Users can select one item from the menu.", +"A menu with a text box. Users can type and select one or more items. For Google Workspace Add-ons, you must populate items using a static array of `SelectionItem` objects. For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus for Chat apps, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1SelectionItem": { +"description": "An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1SelectionItem", +"properties": { +"bottomText": { +"description": "For multiselect menus, a text description or label that's displayed below the item's `text` field.", +"type": "string" +}, +"selected": { +"description": "Whether the item is selected by default. If the selection input only accepts one value (such as for radio buttons or a dropdown menu), only set this field for one item.", +"type": "boolean" +}, +"startIconUri": { +"description": "For multiselect menus, the URL for the icon displayed next to the item's `text` field. Supports PNG and JPEG files. Must be an `HTTPS` URL. For example, `https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png`.", +"type": "string" +}, +"text": { +"description": "The text that identifies or describes the item to users.", +"type": "string" +}, +"value": { +"description": "The value associated with this item. The client should use this as a form input value. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1SuggestionItem": { +"description": "One suggested value that users can enter in a text input field. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1SuggestionItem", +"properties": { +"text": { +"description": "The value of a suggested input to a text input field. This is equivalent to what users enter themselves.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Suggestions": { +"description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Suggestions", +"properties": { +"items": { +"description": "A list of suggestions used for autocomplete recommendations in text input fields.", +"items": { +"$ref": "GoogleAppsCardV1SuggestionItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsCardV1SwitchControl": { +"description": "Either a toggle-style switch or a checkbox inside a `decoratedText` widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): Only supported in the `decoratedText` widget.", +"id": "GoogleAppsCardV1SwitchControl", +"properties": { +"controlType": { +"description": "How the switch appears in the user interface. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"enum": [ +"SWITCH", +"CHECKBOX", +"CHECK_BOX" +], +"enumDescriptions": [ +"A toggle-style switch.", +"Deprecated in favor of `CHECK_BOX`.", +"A checkbox." +], +"type": "string" +}, +"name": { +"description": "The name by which the switch widget is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +}, +"onChangeAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "The action to perform when the switch state is changed, such as what function to run." +}, +"selected": { +"description": "When `true`, the switch is selected.", +"type": "boolean" +}, +"value": { +"description": "The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1TextInput": { +"description": "A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is entered. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1TextInput", +"properties": { +"autoCompleteAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "Optional. Specify what action to take when the text input field provides suggestions to users who interact with it. If unspecified, the suggestions are set by `initialSuggestions` and are processed by the client. If specified, the app takes the action specified here, such as running a custom function. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" +}, +"hintText": { +"description": "Text that appears below the text input field meant to assist users by prompting them to enter a certain value. This text is always visible. Required if `label` is unspecified. Otherwise, optional.", +"type": "string" +}, +"initialSuggestions": { +"$ref": "GoogleAppsCardV1Suggestions", +"description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show just `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" +}, +"label": { +"description": "The text that appears above the text input field in the user interface. Specify text that helps the user enter the information your app needs. For example, if you are asking someone's name, but specifically need their surname, write `surname` instead of `name`. Required if `hintText` is unspecified. Otherwise, optional.", +"type": "string" +}, +"name": { +"description": "The name by which the text input is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +}, +"onChangeAction": { +"$ref": "GoogleAppsCardV1Action", +"description": "What to do when a change occurs in the text input field. For example, a user adding to the field or deleting text. Examples of actions to take include running a custom function or opening a [dialog](https://developers.google.com/workspace/chat/dialogs) in Google Chat." +}, +"placeholderText": { +"description": "Text that appears in the text input field when the field is empty. Use this text to prompt users to enter a value. For example, `Enter a number from 0 to 100`. [Google Chat apps](https://developers.google.com/workspace/chat):", +"type": "string" +}, +"type": { +"description": "How a text input field appears in the user interface. For example, whether the field is single or multi-line.", +"enum": [ +"SINGLE_LINE", +"MULTIPLE_LINE" +], +"enumDescriptions": [ +"The text input field has a fixed height of one line.", +"The text input field has a fixed height of multiple lines." +], +"type": "string" +}, +"validation": { +"$ref": "GoogleAppsCardV1Validation", +"description": "Specify the input format validation necessary for this text field. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" +}, +"value": { +"description": "The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1TextParagraph": { +"description": "A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1TextParagraph", +"properties": { +"maxLines": { +"description": "The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored.", +"format": "int32", +"type": "integer" +}, +"text": { +"description": "The text that's shown in the widget.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Validation": { +"description": "Represents the necessary data for validating the widget it's attached to. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"id": "GoogleAppsCardV1Validation", +"properties": { +"characterLimit": { +"description": "Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"format": "int32", +"type": "integer" +}, +"inputType": { +"description": "Specify the type of the input widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", +"enum": [ +"INPUT_TYPE_UNSPECIFIED", +"TEXT", +"INTEGER", +"FLOAT", +"EMAIL", +"EMOJI_PICKER" +], +"enumDescriptions": [ +"Unspecified type. Do not use.", +"Regular text that accepts all characters.", +"An integer value.", +"A float value.", +"An email address.", +"A emoji selected from system-provided emoji picker." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Widget": { +"description": "Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types.", +"id": "GoogleAppsCardV1Widget", +"properties": { +"buttonList": { +"$ref": "GoogleAppsCardV1ButtonList", +"description": "A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ { \"text\": \"Edit\", \"color\": { \"red\": 0, \"green\": 0, \"blue\": 1, }, \"disabled\": true, }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" +}, +"carousel": { +"$ref": "GoogleAppsCardV1Carousel", +"description": "A carousel contains a collection of nested widgets. For example, this is a JSON representation of a carousel that contains two text paragraphs. ``` { \"widgets\": [ { \"textParagraph\": { \"text\": \"First text paragraph in the carousel.\" } }, { \"textParagraph\": { \"text\": \"Second text paragraph in the carousel.\" } } ] } ```" +}, +"chipList": { +"$ref": "GoogleAppsCardV1ChipList", +"description": "A list of chips. For example, the following JSON creates two chips. The first is a text chip and the second is an icon chip that opens a link: ``` \"chipList\": { \"chips\": [ { \"text\": \"Edit\", \"disabled\": true, }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" +}, +"columns": { +"$ref": "GoogleAppsCardV1Columns", +"description": "Displays up to 2 columns. To include more than 2 columns, or to use rows, use the `Grid` widget. For example, the following JSON creates 2 columns that each contain text paragraphs: ``` \"columns\": { \"columnItems\": [ { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\": \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"First column text paragraph\" } } ] }, { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\": \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"Second column text paragraph\" } } ] } ] } ```" +}, +"dateTimePicker": { +"$ref": "GoogleAppsCardV1DateTimePicker", +"description": "Displays a widget that lets users input a date, time, or date and time. For example, the following JSON creates a date time picker to schedule an appointment: ``` \"dateTimePicker\": { \"name\": \"appointment_time\", \"label\": \"Book your appointment at:\", \"type\": \"DATE_AND_TIME\", \"valueMsEpoch\": \"796435200000\" } ```" +}, +"decoratedText": { +"$ref": "GoogleAppsCardV1DecoratedText", +"description": "Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"text\": \"sasha@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchControl\": { \"name\": \"has_send_welcome_email_to_sasha\", \"selected\": false, \"controlType\": \"CHECKBOX\" } } ```" +}, +"divider": { +"$ref": "GoogleAppsCardV1Divider", +"description": "Displays a horizontal line divider between widgets. For example, the following JSON creates a divider: ``` \"divider\": { } ```" +}, +"grid": { +"$ref": "GoogleAppsCardV1Grid", +"description": "Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```" +}, +"horizontalAlignment": { +"description": "Specifies whether widgets align to the left, right, or center of a column.", +"enum": [ +"HORIZONTAL_ALIGNMENT_UNSPECIFIED", +"START", +"CENTER", +"END" +], +"enumDescriptions": [ +"Don't use. Unspecified.", +"Default value. Aligns widgets to the start position of the column. For left-to-right layouts, aligns to the left. For right-to-left layouts, aligns to the right.", +"Aligns widgets to the center of the column.", +"Aligns widgets to the end position of the column. For left-to-right layouts, aligns widgets to the right. For right-to-left layouts, aligns widgets to the left." +], +"type": "string" +}, +"image": { +"$ref": "GoogleAppsCardV1Image", +"description": "Displays an image. For example, the following JSON creates an image with alternative text: ``` \"image\": { \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"altText\": \"Chat app avatar\" } ```" +}, +"selectionInput": { +"$ref": "GoogleAppsCardV1SelectionInput", +"description": "Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` \"selectionInput\": { \"name\": \"size\", \"label\": \"Size\" \"type\": \"DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" +}, +"textInput": { +"$ref": "GoogleAppsCardV1TextInput", +"description": "Displays a text box that users can type into. For example, the following JSON creates a text input for an email address: ``` \"textInput\": { \"name\": \"mailing_address\", \"label\": \"Mailing Address\" } ``` As another example, the following JSON creates a text input for a programming language with static suggestions: ``` \"textInput\": { \"name\": \"preferred_programing_language\", \"label\": \"Preferred Language\", \"initialSuggestions\": { \"items\": [ { \"text\": \"C++\" }, { \"text\": \"Java\" }, { \"text\": \"JavaScript\" }, { \"text\": \"Python\" } ] } } ```" +}, +"textParagraph": { +"$ref": "GoogleAppsCardV1TextParagraph", +"description": "Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" +} +}, +"type": "object" +}, +"GoogleAppsCardV1Widgets": { +"description": "The supported widgets that you can include in a column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend)", +"id": "GoogleAppsCardV1Widgets", +"properties": { +"buttonList": { +"$ref": "GoogleAppsCardV1ButtonList", +"description": "ButtonList widget." +}, +"chipList": { +"$ref": "GoogleAppsCardV1ChipList", +"description": "ChipList widget." +}, +"dateTimePicker": { +"$ref": "GoogleAppsCardV1DateTimePicker", +"description": "DateTimePicker widget." +}, +"decoratedText": { +"$ref": "GoogleAppsCardV1DecoratedText", +"description": "DecoratedText widget." +}, +"image": { +"$ref": "GoogleAppsCardV1Image", +"description": "Image widget." +}, +"selectionInput": { +"$ref": "GoogleAppsCardV1SelectionInput", +"description": "SelectionInput widget." +}, +"textInput": { +"$ref": "GoogleAppsCardV1TextInput", +"description": "TextInput widget." +}, +"textParagraph": { +"$ref": "GoogleAppsCardV1TextParagraph", +"description": "TextParagraph widget." +} +}, +"type": "object" +}, +"Group": { +"description": "A Google Group in Google Chat.", +"id": "Group", +"properties": { +"name": { +"description": "Resource name for a Google Group. Represents a [group](https://cloud.google.com/identity/docs/reference/rest/v1/groups) in Cloud Identity Groups API. Format: groups/{group}", +"type": "string" +} +}, +"type": "object" +}, +"HostAppDataSourceMarkup": { +"description": "For a `SelectionInput` widget that uses a multiselect menu, a data source from a Google Workspace application. The data source populates selection items for the multiselect menu. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "HostAppDataSourceMarkup", +"properties": { +"chatDataSource": { +"$ref": "ChatClientDataSourceMarkup", +"description": "A data source from Google Chat." +} +}, +"type": "object" +}, +"Image": { +"description": "An image that's specified by a URL and can have an `onclick` action.", +"id": "Image", +"properties": { +"aspectRatio": { +"description": "The aspect ratio of this image (width and height). This field lets you reserve the right height for the image while waiting for it to load. It's not meant to override the built-in aspect ratio of the image. If unset, the server fills it by prefetching the image.", +"format": "double", +"type": "number" +}, +"imageUrl": { +"description": "The URL of the image.", +"type": "string" +}, +"onClick": { +"$ref": "OnClick", +"description": "The `onclick` action." +} +}, +"type": "object" +}, +"ImageButton": { +"description": "An image button with an `onclick` action.", +"id": "ImageButton", +"properties": { +"icon": { +"description": "The icon specified by an `enum` that indices to an icon provided by Chat API.", +"enum": [ +"ICON_UNSPECIFIED", +"AIRPLANE", +"BOOKMARK", +"BUS", +"CAR", +"CLOCK", +"CONFIRMATION_NUMBER_ICON", +"DOLLAR", +"DESCRIPTION", +"EMAIL", +"EVENT_PERFORMER", +"EVENT_SEAT", +"FLIGHT_ARRIVAL", +"FLIGHT_DEPARTURE", +"HOTEL", +"HOTEL_ROOM_TYPE", +"INVITE", +"MAP_PIN", +"MEMBERSHIP", +"MULTIPLE_PEOPLE", +"OFFER", +"PERSON", +"PHONE", +"RESTAURANT_ICON", +"SHOPPING_CART", +"STAR", +"STORE", +"TICKET", +"TRAIN", +"VIDEO_CAMERA", +"VIDEO_PLAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"iconUrl": { +"description": "The icon specified by a URL.", +"type": "string" +}, +"name": { +"description": "The name of this `image_button` that's used for accessibility. Default value is provided if this name isn't specified.", +"type": "string" +}, +"onClick": { +"$ref": "OnClick", +"description": "The `onclick` action." +} +}, +"type": "object" +}, +"Inputs": { +"description": "Types of data that users can [input on cards or dialogs](https://developers.google.com/chat/ui/read-form-data). The input type depends on the type of values that the widget accepts.", +"id": "Inputs", +"properties": { +"dateInput": { +"$ref": "DateInput", +"description": "Date input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that only accepts date values." +}, +"dateTimeInput": { +"$ref": "DateTimeInput", +"description": "Date and time input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that accepts both a date and time." +}, +"stringInputs": { +"$ref": "StringInputs", +"description": "A list of strings that represent the values that the user inputs in a widget. If the widget only accepts one value, such as a [`TextInput`](https://developers.google.com/chat/api/reference/rest/v1/cards#TextInput) widget, the list contains one string object. If the widget accepts multiple values, such as a [`SelectionInput`](https://developers.google.com/chat/api/reference/rest/v1/cards#selectioninput) widget of checkboxes, the list contains a string object for each value that the user inputs or selects." +}, +"timeInput": { +"$ref": "TimeInput", +"description": "Time input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that only accepts time values." +} +}, +"type": "object" +}, +"KeyValue": { +"description": "A UI element contains a key (label) and a value (content). This element can also contain some actions such as `onclick` button.", +"id": "KeyValue", +"properties": { +"bottomLabel": { +"description": "The text of the bottom label. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +}, +"button": { +"$ref": "Button", +"description": "A button that can be clicked to trigger an action." +}, +"content": { +"description": "The text of the content. Formatted text supported and always required. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +}, +"contentMultiline": { +"description": "If the content should be multiline.", +"type": "boolean" +}, +"icon": { +"description": "An enum value that's replaced by the Chat API with the corresponding icon image.", +"enum": [ +"ICON_UNSPECIFIED", +"AIRPLANE", +"BOOKMARK", +"BUS", +"CAR", +"CLOCK", +"CONFIRMATION_NUMBER_ICON", +"DOLLAR", +"DESCRIPTION", +"EMAIL", +"EVENT_PERFORMER", +"EVENT_SEAT", +"FLIGHT_ARRIVAL", +"FLIGHT_DEPARTURE", +"HOTEL", +"HOTEL_ROOM_TYPE", +"INVITE", +"MAP_PIN", +"MEMBERSHIP", +"MULTIPLE_PEOPLE", +"OFFER", +"PERSON", +"PHONE", +"RESTAURANT_ICON", +"SHOPPING_CART", +"STAR", +"STORE", +"TICKET", +"TRAIN", +"VIDEO_CAMERA", +"VIDEO_PLAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"iconUrl": { +"description": "The icon specified by a URL.", +"type": "string" +}, +"onClick": { +"$ref": "OnClick", +"description": "The `onclick` action. Only the top label, bottom label, and content region are clickable." +}, +"topLabel": { +"description": "The text of the top label. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +} +}, +"type": "object" +}, +"ListMembershipsResponse": { +"description": "Response to list memberships of the space.", +"id": "ListMembershipsResponse", +"properties": { +"memberships": { +"description": "Unordered list. List of memberships in the requested (or first) page.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that you can send as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListMessagesResponse": { +"description": "Response message for listing messages.", +"id": "ListMessagesResponse", +"properties": { +"messages": { +"description": "List of messages.", +"items": { +"$ref": "Message" +}, +"type": "array" +}, +"nextPageToken": { +"description": "You can send a token as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListReactionsResponse": { +"description": "Response to a list reactions request.", +"id": "ListReactionsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to retrieve the next page of results. It's empty for the last page of results.", +"type": "string" +}, +"reactions": { +"description": "List of reactions in the requested (or first) page.", +"items": { +"$ref": "Reaction" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSpaceEventsResponse": { +"description": "Response message for listing space events.", +"id": "ListSpaceEventsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token used to fetch more events. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"spaceEvents": { +"description": "Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is not returned in the Space object for list requests.", +"items": { +"$ref": "SpaceEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSpacesResponse": { +"description": "The response for a list spaces request.", +"id": "ListSpacesResponse", +"properties": { +"nextPageToken": { +"description": "You can send a token as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages.", +"type": "string" +}, +"spaces": { +"description": "List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the Space object for list requests.", +"items": { +"$ref": "Space" +}, +"type": "array" +} +}, +"type": "object" +}, +"MatchedUrl": { +"description": "A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links).", +"id": "MatchedUrl", +"properties": { +"url": { +"description": "Output only. The URL that was matched.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Media": { +"description": "Media resource.", +"id": "Media", +"properties": { +"resourceName": { +"description": "Name of the media resource.", +"type": "string" +} +}, +"type": "object" +}, +"Membership": { +"description": "Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space.", +"id": "Membership", +"properties": { +"createTime": { +"description": "Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces.", +"format": "google-datetime", +"type": "string" +}, +"deleteTime": { +"description": "Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces.", +"format": "google-datetime", +"type": "string" +}, +"groupMember": { +"$ref": "Group", +"description": "Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)." +}, +"member": { +"$ref": "User", +"description": "Optional. The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`." +}, +"name": { +"description": "Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", +"type": "string" +}, +"role": { +"description": "Optional. User's role within a Chat space, which determines their permitted actions in the space. This field can only be used as input in `UpdateMembership`.", +"enum": [ +"MEMBERSHIP_ROLE_UNSPECIFIED", +"ROLE_MEMBER", +"ROLE_MANAGER" +], +"enumDescriptions": [ +"Default value. For users: they aren't a member of the space, but can be invited. For Google Groups: they're always assigned this role (other enum values might be used in the future).", +"A member of the space. The user has basic permissions, like sending messages to the space. In 1:1 and unnamed group conversations, everyone has this role.", +"A space manager. The user has all basic permissions plus administrative permissions that let them manage the space, like adding or removing members. Only supported in SpaceType.SPACE." +], +"type": "string" +}, +"state": { +"description": "Output only. State of the membership.", +"enum": [ +"MEMBERSHIP_STATE_UNSPECIFIED", +"JOINED", +"INVITED", +"NOT_A_MEMBER" +], +"enumDescriptions": [ +"Default value. Don't use.", +"The user is added to the space, and can participate in the space.", +"The user is invited to join the space, but hasn't joined it.", +"The user doesn't belong to the space and doesn't have a pending invitation to join the space." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipBatchCreatedEventData": { +"description": "Event payload for multiple new memberships. Event type: `google.workspace.chat.membership.v1.batchCreated`", +"id": "MembershipBatchCreatedEventData", +"properties": { +"memberships": { +"description": "A list of new memberships.", +"items": { +"$ref": "MembershipCreatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MembershipBatchDeletedEventData": { +"description": "Event payload for multiple deleted memberships. Event type: `google.workspace.chat.membership.v1.batchDeleted`", +"id": "MembershipBatchDeletedEventData", +"properties": { +"memberships": { +"description": "A list of deleted memberships.", +"items": { +"$ref": "MembershipDeletedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MembershipBatchUpdatedEventData": { +"description": "Event payload for multiple updated memberships. Event type: `google.workspace.chat.membership.v1.batchUpdated`", +"id": "MembershipBatchUpdatedEventData", +"properties": { +"memberships": { +"description": "A list of updated memberships.", +"items": { +"$ref": "MembershipUpdatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MembershipCount": { +"description": "Represents the count of memberships of a space, grouped into categories.", +"id": "MembershipCount", +"properties": { +"joinedDirectHumanUserCount": { +"description": "Output only. Count of human users that have directly joined the space, not counting users joined by having membership in a joined group.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"joinedGroupCount": { +"description": "Output only. Count of all groups that have directly joined the space.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"MembershipCreatedEventData": { +"description": "Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`.", +"id": "MembershipCreatedEventData", +"properties": { +"membership": { +"$ref": "Membership", +"description": "The new membership." +} +}, +"type": "object" +}, +"MembershipDeletedEventData": { +"description": "Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted`", +"id": "MembershipDeletedEventData", +"properties": { +"membership": { +"$ref": "Membership", +"description": "The deleted membership. Only the `name` and `state` fields are populated." +} +}, +"type": "object" +}, +"MembershipUpdatedEventData": { +"description": "Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated`", +"id": "MembershipUpdatedEventData", +"properties": { +"membership": { +"$ref": "Membership", +"description": "The updated membership." +} +}, +"type": "object" +}, +"Message": { +"description": "A message in a Google Chat space.", +"id": "Message", +"properties": { +"accessoryWidgets": { +"description": "Optional. One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", +"items": { +"$ref": "AccessoryWidget" +}, +"type": "array" +}, +"actionResponse": { +"$ref": "ActionResponse", +"description": "Input only. Parameters that a Chat app can use to configure how its response is posted." +}, +"annotations": { +"description": "Output only. Annotations associated with the `text` in this message.", +"items": { +"$ref": "Annotation" +}, +"readOnly": true, +"type": "array" +}, +"argumentText": { +"description": "Output only. Plain-text body of the message with all Chat app mentions stripped out.", +"readOnly": true, +"type": "string" +}, +"attachedGifs": { +"description": "Output only. GIF images that are attached to the message.", +"items": { +"$ref": "AttachedGif" +}, +"readOnly": true, +"type": "array" +}, +"attachment": { +"description": "Optional. User-uploaded attachment.", +"items": { +"$ref": "Attachment" +}, +"type": "array" +}, +"cards": { +"deprecated": true, +"description": "Deprecated: Use `cards_v2` instead. Rich, formatted, and interactive cards that you can use to display UI elements such as: formatted texts, buttons, and clickable images. Cards are normally displayed below the plain-text body of the message. `cards` and `cards_v2` can have a maximum size of 32 KB.", +"items": { +"$ref": "Card" +}, +"type": "array" +}, +"cardsV2": { +"description": "Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the messages can't contain cards. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder)", +"items": { +"$ref": "CardWithId" +}, +"type": "array" +}, +"clientAssignedMessageId": { +"description": "Optional. A custom ID for the message. You can use field to identify a message, or to get, delete, or update a message. To set a custom ID, specify the [`messageId`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#body.QUERY_PARAMETERS.message_id) field when you create the message. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"type": "string" +}, +"createTime": { +"description": "Optional. Immutable. For spaces created in Chat, the time at which the message was created. This field is output only, except when used in import mode spaces. For import mode spaces, set this field to the historical timestamp at which the message was created in the source in order to preserve the original creation time.", +"format": "google-datetime", +"type": "string" +}, +"deleteTime": { +"description": "Output only. The time at which the message was deleted in Google Chat. If the message is never deleted, this field is empty.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deletionMetadata": { +"$ref": "DeletionMetadata", +"description": "Output only. Information about a deleted message. A message is deleted when `delete_time` is set.", +"readOnly": true +}, +"emojiReactionSummaries": { +"description": "Output only. The list of emoji reaction summaries on the message.", +"items": { +"$ref": "EmojiReactionSummary" +}, +"readOnly": true, +"type": "array" +}, +"fallbackText": { +"description": "Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed\u2014for example, mobile notifications.", +"type": "string" +}, +"formattedText": { +"description": "Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, and bulleted list. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text\u2014for example, ``. * Custom emoji using the format `:{emoji_name}:`\u2014for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message)", +"readOnly": true, +"type": "string" +}, +"lastUpdateTime": { +"description": "Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"matchedUrl": { +"$ref": "MatchedUrl", +"description": "Output only. A URL in `spaces.messages.text` that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links).", +"readOnly": true +}, +"name": { +"description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", +"type": "string" +}, +"privateMessageViewer": { +"$ref": "User", +"description": "Optional. Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) * [Accessory widgets](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#Message.AccessoryWidget) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private)." +}, +"quotedMessageMetadata": { +"$ref": "QuotedMessageMetadata", +"description": "Output only. Information about a message that's quoted by a Google Chat user in a space. Google Chat users can quote a message to reply to it.", +"readOnly": true +}, +"sender": { +"$ref": "User", +"description": "Output only. The user who created the message. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`.", +"readOnly": true +}, +"slashCommand": { +"$ref": "SlashCommand", +"description": "Output only. Slash command information, if applicable.", +"readOnly": true +}, +"space": { +"$ref": "Space", +"description": "Output only. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output only populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`.", +"readOnly": true +}, +"text": { +"description": "Optional. Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages).", +"type": "string" +}, +"thread": { +"$ref": "Thread", +"description": "The thread the message belongs to. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread)." +}, +"threadReply": { +"description": "Output only. When `true`, the message is a response in a reply thread. When `false`, the message is visible in the space's top-level conversation as either the first message of a thread or a message with no threaded replies. If the space doesn't support reply in threads, this field is always `false`.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"MessageBatchCreatedEventData": { +"description": "Event payload for multiple new messages. Event type: `google.workspace.chat.message.v1.batchCreated`", +"id": "MessageBatchCreatedEventData", +"properties": { +"messages": { +"description": "A list of new messages.", +"items": { +"$ref": "MessageCreatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MessageBatchDeletedEventData": { +"description": "Event payload for multiple deleted messages. Event type: `google.workspace.chat.message.v1.batchDeleted`", +"id": "MessageBatchDeletedEventData", +"properties": { +"messages": { +"description": "A list of deleted messages.", +"items": { +"$ref": "MessageDeletedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MessageBatchUpdatedEventData": { +"description": "Event payload for multiple updated messages. Event type: `google.workspace.chat.message.v1.batchUpdated`", +"id": "MessageBatchUpdatedEventData", +"properties": { +"messages": { +"description": "A list of updated messages.", +"items": { +"$ref": "MessageUpdatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"MessageCreatedEventData": { +"description": "Event payload for a new message. Event type: `google.workspace.chat.message.v1.created`", +"id": "MessageCreatedEventData", +"properties": { +"message": { +"$ref": "Message", +"description": "The new message." +} +}, +"type": "object" +}, +"MessageDeletedEventData": { +"description": "Event payload for a deleted message. Event type: `google.workspace.chat.message.v1.deleted`", +"id": "MessageDeletedEventData", +"properties": { +"message": { +"$ref": "Message", +"description": "The deleted message. Only the `name`, `createTime`, `deleteTime`, and `deletionMetadata` fields are populated." +} +}, +"type": "object" +}, +"MessageUpdatedEventData": { +"description": "Event payload for an updated message. Event type: `google.workspace.chat.message.v1.updated`", +"id": "MessageUpdatedEventData", +"properties": { +"message": { +"$ref": "Message", +"description": "The updated message." +} +}, +"type": "object" +}, +"OnClick": { +"description": "An `onclick` action (for example, open a link).", +"id": "OnClick", +"properties": { +"action": { +"$ref": "FormAction", +"description": "A form action is triggered by this `onclick` action if specified." +}, +"openLink": { +"$ref": "OpenLink", +"description": "This `onclick` action triggers an open link action if specified." +} +}, +"type": "object" +}, +"OpenLink": { +"description": "A link that opens a new window.", +"id": "OpenLink", +"properties": { +"url": { +"description": "The URL to open.", +"type": "string" +} +}, +"type": "object" +}, +"PermissionSetting": { +"description": "Represents a space permission setting.", +"id": "PermissionSetting", +"properties": { +"managersAllowed": { +"description": "Optional. Whether spaces managers have this permission.", +"type": "boolean" +}, +"membersAllowed": { +"description": "Optional. Whether non-manager members have this permission.", +"type": "boolean" +} +}, +"type": "object" +}, +"PermissionSettings": { +"description": "[Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an existing named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request.", +"id": "PermissionSettings", +"properties": { +"manageApps": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for managing apps in a space." +}, +"manageMembersAndGroups": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for managing members and groups in a space." +}, +"manageWebhooks": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for managing webhooks in a space." +}, +"modifySpaceDetails": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for updating space name, avatar, description and guidelines." +}, +"postMessages": { +"$ref": "PermissionSetting", +"description": "Output only. Setting for posting messages in a space.", +"readOnly": true +}, +"replyMessages": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for replying to messages in a space." +}, +"toggleHistory": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for toggling space history on and off." +}, +"useAtMentionAll": { +"$ref": "PermissionSetting", +"description": "Optional. Setting for using @all in a space." +} +}, +"type": "object" +}, +"QuotedMessageMetadata": { +"description": "Information about a quoted message.", +"id": "QuotedMessageMetadata", +"properties": { +"lastUpdateTime": { +"description": "Output only. The timestamp when the quoted message was created or when the quoted message was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the quoted message. Format: `spaces/{space}/messages/{message}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Reaction": { +"description": "A reaction to a message.", +"id": "Reaction", +"properties": { +"emoji": { +"$ref": "Emoji", +"description": "Required. The emoji used in the reaction." +}, +"name": { +"description": "Identifier. The resource name of the reaction. Format: `spaces/{space}/messages/{message}/reactions/{reaction}`", +"type": "string" +}, +"user": { +"$ref": "User", +"description": "Output only. The user who created the reaction.", +"readOnly": true +} +}, +"type": "object" +}, +"ReactionBatchCreatedEventData": { +"description": "Event payload for multiple new reactions. Event type: `google.workspace.chat.reaction.v1.batchCreated`", +"id": "ReactionBatchCreatedEventData", +"properties": { +"reactions": { +"description": "A list of new reactions.", +"items": { +"$ref": "ReactionCreatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReactionBatchDeletedEventData": { +"description": "Event payload for multiple deleted reactions. Event type: `google.workspace.chat.reaction.v1.batchDeleted`", +"id": "ReactionBatchDeletedEventData", +"properties": { +"reactions": { +"description": "A list of deleted reactions.", +"items": { +"$ref": "ReactionDeletedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReactionCreatedEventData": { +"description": "Event payload for a new reaction. Event type: `google.workspace.chat.reaction.v1.created`", +"id": "ReactionCreatedEventData", +"properties": { +"reaction": { +"$ref": "Reaction", +"description": "The new reaction." +} +}, +"type": "object" +}, +"ReactionDeletedEventData": { +"description": "Event payload for a deleted reaction. Type: `google.workspace.chat.reaction.v1.deleted`", +"id": "ReactionDeletedEventData", +"properties": { +"reaction": { +"$ref": "Reaction", +"description": "The deleted reaction." +} +}, +"type": "object" +}, +"RichLinkMetadata": { +"description": "A rich link to a resource.", +"id": "RichLinkMetadata", +"properties": { +"chatSpaceLinkData": { +"$ref": "ChatSpaceLinkData", +"description": "Data for a chat space link." +}, +"driveLinkData": { +"$ref": "DriveLinkData", +"description": "Data for a drive link." +}, +"richLinkType": { +"description": "The rich link type.", +"enum": [ +"RICH_LINK_TYPE_UNSPECIFIED", +"DRIVE_FILE", +"CHAT_SPACE" +], +"enumDescriptions": [ +"Default value for the enum. Don't use.", +"A Google Drive rich link type.", +"A Chat space rich link type. For example, a space smart chip." +], +"type": "string" +}, +"uri": { +"description": "The URI of this link.", +"type": "string" +} +}, +"type": "object" +}, +"SearchSpacesResponse": { +"description": "Response with a list of spaces corresponding to the search spaces request.", +"id": "SearchSpacesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be used to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"spaces": { +"description": "A page of the requested spaces.", +"items": { +"$ref": "Space" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of spaces that match the query, across all pages. If the result is over 10,000 spaces, this value is an estimate.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Section": { +"description": "A section contains a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there's currently no need for layout properties (for example, float).", +"id": "Section", +"properties": { +"header": { +"description": "The header of the section. Formatted text is supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"type": "string" +}, +"widgets": { +"description": "A section must contain at least one widget.", +"items": { +"$ref": "WidgetMarkup" +}, +"type": "array" +} +}, +"type": "object" +}, +"SelectionItems": { +"description": "List of widget autocomplete results.", +"id": "SelectionItems", +"properties": { +"items": { +"description": "An array of the SelectionItem objects.", +"items": { +"$ref": "GoogleAppsCardV1SelectionItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"SetUpSpaceRequest": { +"description": "Request to create a space and add specified users to it.", +"id": "SetUpSpaceRequest", +"properties": { +"memberships": { +"description": "Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`).", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"requestId": { +"description": "Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.", +"type": "string" +}, +"space": { +"$ref": "Space", +"description": "Required. The `Space.spaceType` field is required. To create a space, set `Space.spaceType` to `SPACE` and set `Space.displayName`. If you receive the error message `ALREADY_EXISTS` when setting up a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. To create a group chat, set `Space.spaceType` to `GROUP_CHAT`. Don't set `Space.displayName`. To create a 1:1 conversation between humans, set `Space.spaceType` to `DIRECT_MESSAGE` and set `Space.singleUserBotDm` to `false`. Don't set `Space.displayName` or `Space.spaceDetails`. To create an 1:1 conversation between a human and the calling Chat app, set `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`. Don't set `Space.displayName` or `Space.spaceDetails`. If a `DIRECT_MESSAGE` space already exists, that space is returned instead of creating a new space." +} +}, +"type": "object" +}, +"SlashCommand": { +"description": "A [slash command](https://developers.google.com/workspace/chat/slash-commands) in Google Chat.", +"id": "SlashCommand", +"properties": { +"commandId": { +"description": "The ID of the slash command invoked.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SlashCommandMetadata": { +"description": "Annotation metadata for slash commands (/).", +"id": "SlashCommandMetadata", +"properties": { +"bot": { +"$ref": "User", +"description": "The Chat app whose command was invoked." +}, +"commandId": { +"description": "The command ID of the invoked slash command.", +"format": "int64", +"type": "string" +}, +"commandName": { +"description": "The name of the invoked slash command.", +"type": "string" +}, +"triggersDialog": { +"description": "Indicates whether the slash command is for a dialog.", +"type": "boolean" +}, +"type": { +"description": "The type of slash command.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADD", +"INVOKE" +], +"enumDescriptions": [ +"Default value for the enum. Don't use.", +"Add Chat app to space.", +"Invoke slash command in space." +], +"type": "string" +} +}, +"type": "object" +}, +"Space": { +"description": "A space in Google Chat. Spaces are conversations between two or more users or 1:1 messages between a user and a Chat app.", +"id": "Space", +"properties": { +"accessSettings": { +"$ref": "AccessSettings", +"description": "Optional. Specifies the [access setting](https://support.google.com/chat/answer/11971020) of the space. Only populated when the `space_type` is `SPACE`." +}, +"adminInstalled": { +"description": "Output only. For direct message (DM) spaces with a Chat app, whether the space was created by a Google Workspace administrator. Administrators can install and set up a direct message with a Chat app on behalf of users in their organization. To support admin install, your Chat app must feature direct messaging.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Optional. Immutable. For spaces created in Chat, the time the space was created. This field is output only, except when used in import mode spaces. For import mode spaces, set this field to the historical timestamp at which the space was created in the source in order to preserve the original creation time. Only populated in the output when `spaceType` is `GROUP_CHAT` or `SPACE`.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "Optional. The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters.", +"type": "string" +}, +"externalUserAllowed": { +"description": "Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only.", +"type": "boolean" +}, +"importMode": { +"description": "Optional. Whether this space is created in `Import Mode` as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete. Creating a space in `Import Mode`requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", +"type": "boolean" +}, +"importModeExpireTime": { +"description": "Output only. The time when the space will be automatically deleted by the system if it remains in import mode. Each space created in import mode must exit this mode before this expire time using `spaces.completeImport`. This field is only populated for spaces that were created with import mode.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastActiveTime": { +"description": "Output only. Timestamp of the last message in the space.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"membershipCount": { +"$ref": "MembershipCount", +"description": "Output only. The count of joined memberships grouped by member type. Populated when the `space_type` is `SPACE`, `DIRECT_MESSAGE` or `GROUP_CHAT`.", +"readOnly": true +}, +"name": { +"description": "Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", +"type": "string" +}, +"permissionSettings": { +"$ref": "PermissionSettings", +"description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)" +}, +"predefinedPermissionSettings": { +"description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", +"enum": [ +"PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED", +"COLLABORATION_SPACE", +"ANNOUNCEMENT_SPACE" +], +"enumDescriptions": [ +"Unspecified. Don't use.", +"Setting to make the space a collaboration space where all members can post messages.", +"Setting to make the space an announcement space where only space managers can post messages." +], +"type": "string" +}, +"singleUserBotDm": { +"description": "Optional. Whether the space is a DM between a Chat app and a single human.", +"type": "boolean" +}, +"spaceDetails": { +"$ref": "SpaceDetails", +"description": "Optional. Details about the space including description and rules." +}, +"spaceHistoryState": { +"description": "Optional. The message history state for messages and threads in this space.", +"enum": [ +"HISTORY_STATE_UNSPECIFIED", +"HISTORY_OFF", +"HISTORY_ON" +], +"enumDescriptions": [ +"Default value. Do not use.", +"History off. [Messages and threads are kept for 24 hours](https://support.google.com/chat/answer/7664687).", +"History on. The organization's [Vault retention rules](https://support.google.com/vault/answer/7657597) specify for how long messages and threads are kept." +], +"type": "string" +}, +"spaceThreadingState": { +"description": "Output only. The threading state in the Chat space.", +"enum": [ +"SPACE_THREADING_STATE_UNSPECIFIED", +"THREADED_MESSAGES", +"GROUPED_MESSAGES", +"UNTHREADED_MESSAGES" +], +"enumDescriptions": [ +"Reserved.", +"Named spaces that support message threads. When users respond to a message, they can reply in-thread, which keeps their response in the context of the original message.", +"Named spaces where the conversation is organized by topic. Topics and their replies are grouped together.", +"Direct messages (DMs) between two people and group conversations between 3 or more people." +], +"readOnly": true, +"type": "string" +}, +"spaceType": { +"description": "Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage.", +"enum": [ +"SPACE_TYPE_UNSPECIFIED", +"SPACE", +"GROUP_CHAT", +"DIRECT_MESSAGE" +], +"enumDescriptions": [ +"Reserved.", +"A place where people send messages, share files, and collaborate. A `SPACE` can include Chat apps.", +"Group conversations between 3 or more people. A `GROUP_CHAT` can include Chat apps.", +"1:1 messages between two humans or a human and a Chat app." +], +"type": "string" +}, +"spaceUri": { +"description": "Output only. The URI for a user to access the space.", +"readOnly": true, +"type": "string" +}, +"threaded": { +"deprecated": true, +"description": "Output only. Deprecated: Use `spaceThreadingState` instead. Whether messages are threaded in this space.", +"readOnly": true, +"type": "boolean" +}, +"type": { +"deprecated": true, +"description": "Output only. Deprecated: Use `space_type` instead. The type of a space.", +"enum": [ +"TYPE_UNSPECIFIED", +"ROOM", +"DM" +], +"enumDescriptions": [ +"Reserved.", +"Conversations between two or more humans.", +"1:1 Direct Message between a human and a Chat app, where all messages are flat. Note that this doesn't include direct messages between two humans." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SpaceBatchUpdatedEventData": { +"description": "Event payload for multiple updates to a space. Event type: `google.workspace.chat.space.v1.batchUpdated`", +"id": "SpaceBatchUpdatedEventData", +"properties": { +"spaces": { +"description": "A list of updated spaces.", +"items": { +"$ref": "SpaceUpdatedEventData" +}, +"type": "array" +} +}, +"type": "object" +}, +"SpaceDataSource": { +"description": "A data source that populates Google Chat spaces as selection items for a multiselect menu. Only populates spaces that the user is a member of. [Google Chat apps](https://developers.google.com/workspace/chat):", +"id": "SpaceDataSource", +"properties": { +"defaultToCurrentSpace": { +"description": "If set to `true`, the multiselect menu selects the current Google Chat space as an item by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"SpaceDetails": { +"description": "Details about the space including description and rules.", +"id": "SpaceDetails", +"properties": { +"description": { +"description": "Optional. A description of the space. For example, describe the space's discussion topic, functional purpose, or participants. Supports up to 150 characters.", +"type": "string" +}, +"guidelines": { +"description": "Optional. The space's rules, expectations, and etiquette. Supports up to 5,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"SpaceEvent": { +"description": "An event that represents a change or activity in a Google Chat space. To learn more, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview).", +"id": "SpaceEvent", +"properties": { +"eventTime": { +"description": "Time when the event occurred.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Type of space event. Each event type has a batch version, which represents multiple instances of the event type that occur in a short period of time. For `spaceEvents.list()` requests, omit batch event types in your query filter. By default, the server returns both event type and its batch version. Supported event types for [messages](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages): * New message: `google.workspace.chat.message.v1.created` * Updated message: `google.workspace.chat.message.v1.updated` * Deleted message: `google.workspace.chat.message.v1.deleted` * Multiple new messages: `google.workspace.chat.message.v1.batchCreated` * Multiple updated messages: `google.workspace.chat.message.v1.batchUpdated` * Multiple deleted messages: `google.workspace.chat.message.v1.batchDeleted` Supported event types for [memberships](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members): * New membership: `google.workspace.chat.membership.v1.created` * Updated membership: `google.workspace.chat.membership.v1.updated` * Deleted membership: `google.workspace.chat.membership.v1.deleted` * Multiple new memberships: `google.workspace.chat.membership.v1.batchCreated` * Multiple updated memberships: `google.workspace.chat.membership.v1.batchUpdated` * Multiple deleted memberships: `google.workspace.chat.membership.v1.batchDeleted` Supported event types for [reactions](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.reactions): * New reaction: `google.workspace.chat.reaction.v1.created` * Deleted reaction: `google.workspace.chat.reaction.v1.deleted` * Multiple new reactions: `google.workspace.chat.reaction.v1.batchCreated` * Multiple deleted reactions: `google.workspace.chat.reaction.v1.batchDeleted` Supported event types about the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces): * Updated space: `google.workspace.chat.space.v1.updated` * Multiple space updates: `google.workspace.chat.space.v1.batchUpdated`", +"type": "string" +}, +"membershipBatchCreatedEventData": { +"$ref": "MembershipBatchCreatedEventData", +"description": "Event payload for multiple new memberships. Event type: `google.workspace.chat.membership.v1.batchCreated`" +}, +"membershipBatchDeletedEventData": { +"$ref": "MembershipBatchDeletedEventData", +"description": "Event payload for multiple deleted memberships. Event type: `google.workspace.chat.membership.v1.batchDeleted`" +}, +"membershipBatchUpdatedEventData": { +"$ref": "MembershipBatchUpdatedEventData", +"description": "Event payload for multiple updated memberships. Event type: `google.workspace.chat.membership.v1.batchUpdated`" +}, +"membershipCreatedEventData": { +"$ref": "MembershipCreatedEventData", +"description": "Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`" +}, +"membershipDeletedEventData": { +"$ref": "MembershipDeletedEventData", +"description": "Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted`" +}, +"membershipUpdatedEventData": { +"$ref": "MembershipUpdatedEventData", +"description": "Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated`" +}, +"messageBatchCreatedEventData": { +"$ref": "MessageBatchCreatedEventData", +"description": "Event payload for multiple new messages. Event type: `google.workspace.chat.message.v1.batchCreated`" +}, +"messageBatchDeletedEventData": { +"$ref": "MessageBatchDeletedEventData", +"description": "Event payload for multiple deleted messages. Event type: `google.workspace.chat.message.v1.batchDeleted`" +}, +"messageBatchUpdatedEventData": { +"$ref": "MessageBatchUpdatedEventData", +"description": "Event payload for multiple updated messages. Event type: `google.workspace.chat.message.v1.batchUpdated`" +}, +"messageCreatedEventData": { +"$ref": "MessageCreatedEventData", +"description": "Event payload for a new message. Event type: `google.workspace.chat.message.v1.created`" +}, +"messageDeletedEventData": { +"$ref": "MessageDeletedEventData", +"description": "Event payload for a deleted message. Event type: `google.workspace.chat.message.v1.deleted`" +}, +"messageUpdatedEventData": { +"$ref": "MessageUpdatedEventData", +"description": "Event payload for an updated message. Event type: `google.workspace.chat.message.v1.updated`" +}, +"name": { +"description": "Resource name of the space event. Format: `spaces/{space}/spaceEvents/{spaceEvent}`", +"type": "string" +}, +"reactionBatchCreatedEventData": { +"$ref": "ReactionBatchCreatedEventData", +"description": "Event payload for multiple new reactions. Event type: `google.workspace.chat.reaction.v1.batchCreated`" +}, +"reactionBatchDeletedEventData": { +"$ref": "ReactionBatchDeletedEventData", +"description": "Event payload for multiple deleted reactions. Event type: `google.workspace.chat.reaction.v1.batchDeleted`" +}, +"reactionCreatedEventData": { +"$ref": "ReactionCreatedEventData", +"description": "Event payload for a new reaction. Event type: `google.workspace.chat.reaction.v1.created`" +}, +"reactionDeletedEventData": { +"$ref": "ReactionDeletedEventData", +"description": "Event payload for a deleted reaction. Event type: `google.workspace.chat.reaction.v1.deleted`" +}, +"spaceBatchUpdatedEventData": { +"$ref": "SpaceBatchUpdatedEventData", +"description": "Event payload for multiple updates to a space. Event type: `google.workspace.chat.space.v1.batchUpdated`" +}, +"spaceUpdatedEventData": { +"$ref": "SpaceUpdatedEventData", +"description": "Event payload for a space update. Event type: `google.workspace.chat.space.v1.updated`" +} +}, +"type": "object" +}, +"SpaceReadState": { +"description": "A user's read state within a space, used to identify read and unread messages.", +"id": "SpaceReadState", +"properties": { +"lastReadTime": { +"description": "Optional. The time when the user's space read state was updated. Usually this corresponds with either the timestamp of the last read message, or a timestamp specified by the user to mark the last read position in a space.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Resource name of the space read state. Format: `users/{user}/spaces/{space}/spaceReadState`", +"type": "string" +} +}, +"type": "object" +}, +"SpaceUpdatedEventData": { +"description": "Event payload for an updated space. Event type: `google.workspace.chat.space.v1.updated`", +"id": "SpaceUpdatedEventData", +"properties": { +"space": { +"$ref": "Space", +"description": "The updated space." +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StringInputs": { +"description": "Input parameter for regular widgets. For single-valued widgets, it is a single value list. For multi-valued widgets, such as checkbox, all the values are presented.", +"id": "StringInputs", +"properties": { +"value": { +"description": "An list of strings entered by the user.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TextButton": { +"description": "A button with text and `onclick` action.", +"id": "TextButton", +"properties": { +"onClick": { +"$ref": "OnClick", +"description": "The `onclick` action of the button." +}, +"text": { +"description": "The text of the button.", +"type": "string" +} +}, +"type": "object" +}, +"TextParagraph": { +"description": "A paragraph of text. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", +"id": "TextParagraph", +"properties": { +"text": { +"type": "string" +} +}, +"type": "object" +}, +"Thread": { +"description": "A thread in a Google Chat space. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). If you specify a thread when creating a message, you can set the [`messageReplyOption`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#messagereplyoption) field to determine what happens if no matching thread is found.", +"id": "Thread", +"properties": { +"name": { +"description": "Identifier. Resource name of the thread. Example: `spaces/{space}/threads/{thread}`", +"type": "string" +}, +"threadKey": { +"description": "Optional. Input for creating or updating a thread. Otherwise, output only. ID for the thread. Supports up to 4000 characters. This ID is unique to the Chat app that sets it. For example, if multiple Chat apps create a message using the same thread key, the messages are posted in different threads. To reply in a thread created by a person or another Chat app, specify the thread `name` field instead.", +"type": "string" +} +}, +"type": "object" +}, +"ThreadReadState": { +"description": "A user's read state within a thread, used to identify read and unread messages.", +"id": "ThreadReadState", +"properties": { +"lastReadTime": { +"description": "The time when the user's thread read state was updated. Usually this corresponds with the timestamp of the last read message in a thread.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Resource name of the thread read state. Format: `users/{user}/spaces/{space}/threads/{thread}/threadReadState`", +"type": "string" +} +}, +"type": "object" +}, +"TimeInput": { +"description": "Time input values.", +"id": "TimeInput", +"properties": { +"hours": { +"description": "The hour on a 24-hour clock.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "The number of minutes past the hour. Valid values are 0 to 59.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TimeZone": { +"description": "The timezone ID and offset from Coordinated Universal Time (UTC). Only supported for the event types [`CARD_CLICKED`](https://developers.google.com/chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/DialogEventType#ENUM_VALUES.SUBMIT_DIALOG).", +"id": "TimeZone", +"properties": { +"id": { +"description": "The [IANA TZ](https://www.iana.org/time-zones) time zone database code, such as \"America/Toronto\".", +"type": "string" +}, +"offset": { +"description": "The user timezone offset, in milliseconds, from Coordinated Universal Time (UTC).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UpdatedWidget": { +"description": "For `selectionInput` widgets, returns autocomplete suggestions for a multiselect menu.", +"id": "UpdatedWidget", +"properties": { +"suggestions": { +"$ref": "SelectionItems", +"description": "List of widget autocomplete results" +}, +"widget": { +"description": "The ID of the updated widget. The ID must match the one for the widget that triggered the update request.", +"type": "string" +} +}, +"type": "object" +}, +"UploadAttachmentRequest": { +"description": "Request to upload an attachment.", +"id": "UploadAttachmentRequest", +"properties": { +"filename": { +"description": "Required. The filename of the attachment, including the file extension.", +"type": "string" +} +}, +"type": "object" +}, +"UploadAttachmentResponse": { +"description": "Response of uploading an attachment.", +"id": "UploadAttachmentResponse", +"properties": { +"attachmentDataRef": { +"$ref": "AttachmentDataRef", +"description": "Reference to the uploaded attachment." +} +}, +"type": "object" +}, +"User": { +"description": "A user in Google Chat. When returned as an output from a request, if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output for a `User` resource only populates the user's `name` and `type`.", +"id": "User", +"properties": { +"displayName": { +"description": "Output only. The user's display name.", +"readOnly": true, +"type": "string" +}, +"domainId": { +"description": "Unique identifier of the user's Google Workspace domain.", +"type": "string" +}, +"isAnonymous": { +"description": "Output only. When `true`, the user is deleted or their profile is not visible.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Resource name for a Google Chat user. Format: `users/{user}`. `users/app` can be used as an alias for the calling app bot user. For human users, `{user}` is the same user identifier as: - the `id` for the [Person](https://developers.google.com/people/api/rest/v1/people) in the People API. For example, `users/123456789` in Chat API represents the same person as the `123456789` Person profile ID in People API. - the `id` for a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. - the user's email address can be used as an alias for `{user}` in API requests. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can use `users/user@example.com` as an alias to reference `users/123456789`. Only the canonical resource name (for example `users/123456789`) will be returned from the API.", +"type": "string" +}, +"type": { +"description": "User type.", +"enum": [ +"TYPE_UNSPECIFIED", +"HUMAN", +"BOT" +], +"enumDescriptions": [ +"Default value for the enum. DO NOT USE.", +"Human user.", +"Chat app user." +], +"type": "string" +} +}, +"type": "object" +}, +"UserMentionMetadata": { +"description": "Annotation metadata for user mentions (@).", +"id": "UserMentionMetadata", +"properties": { +"type": { +"description": "The type of user mention.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADD", +"MENTION" +], +"enumDescriptions": [ +"Default value for the enum. Don't use.", +"Add user to space.", +"Mention user in space." +], +"type": "string" +}, +"user": { +"$ref": "User", +"description": "The user mentioned." +} +}, +"type": "object" +}, +"WidgetMarkup": { +"description": "A widget is a UI element that presents text and images.", +"id": "WidgetMarkup", +"properties": { +"buttons": { +"description": "A list of buttons. Buttons is also `oneof data` and only one of these fields should be set.", +"items": { +"$ref": "Button" +}, +"type": "array" +}, +"image": { +"$ref": "Image", +"description": "Display an image in this widget." +}, +"keyValue": { +"$ref": "KeyValue", +"description": "Display a key value item in this widget." +}, +"textParagraph": { +"$ref": "TextParagraph", +"description": "Display a text paragraph in this widget." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Chat API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chromepolicy.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..44bff9dd28f1b517f955f91957612d9030c10ae2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chromepolicy.v1.json @@ -0,0 +1,1810 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/chrome.management.policy": { +"description": "See, edit, create or delete policies applied to ChromeOS and Chrome Browsers managed within your organization" +}, +"https://www.googleapis.com/auth/chrome.management.policy.readonly": { +"description": "See policies applied to ChromeOS and Chrome Browsers managed within your organization" +} +} +} +}, +"basePath": "", +"baseUrl": "https://chromepolicy.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Chrome Policy", +"description": "The Chrome Policy API is a suite of services that allows Chrome administrators to control the policies applied to their managed Chrome OS devices and Chrome browsers.", +"discoveryVersion": "v1", +"documentationLink": "http://developers.google.com/chrome/policy", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "chromepolicy:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://chromepolicy.mtls.googleapis.com/", +"name": "chromepolicy", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"customers": { +"resources": { +"policies": { +"methods": { +"resolve": { +"description": "Gets the resolved policy values for a list of policies that match a search query.", +"flatPath": "v1/customers/{customersId}/policies:resolve", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.resolve", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies:resolve", +"request": { +"$ref": "GoogleChromePolicyVersionsV1ResolveRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1ResolveResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy", +"https://www.googleapis.com/auth/chrome.management.policy.readonly" +] +} +}, +"resources": { +"groups": { +"methods": { +"batchDelete": { +"description": "Delete multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/groups:batchDelete", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.groups.batchDelete", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/groups:batchDelete", +"request": { +"$ref": "GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"batchModify": { +"description": "Modify multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/groups:batchModify", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.groups.batchModify", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/groups:batchModify", +"request": { +"$ref": "GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"listGroupPriorityOrdering": { +"description": "Retrieve a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/groups:listGroupPriorityOrdering", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.groups.listGroupPriorityOrdering", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/groups:listGroupPriorityOrdering", +"request": { +"$ref": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy", +"https://www.googleapis.com/auth/chrome.management.policy.readonly" +] +}, +"updateGroupPriorityOrdering": { +"description": "Update a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/groups:updateGroupPriorityOrdering", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.groups.updateGroupPriorityOrdering", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/groups:updateGroupPriorityOrdering", +"request": { +"$ref": "GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +} +} +}, +"networks": { +"methods": { +"defineCertificate": { +"description": "Creates a certificate at a specified OU for a customer.", +"flatPath": "v1/customers/{customersId}/policies/networks:defineCertificate", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.networks.defineCertificate", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer for which the certificate will apply.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/networks:defineCertificate", +"request": { +"$ref": "GoogleChromePolicyVersionsV1DefineCertificateRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1DefineCertificateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"defineNetwork": { +"description": "Define a new network.", +"flatPath": "v1/customers/{customersId}/policies/networks:defineNetwork", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.networks.defineNetwork", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer who will own this new network.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/networks:defineNetwork", +"request": { +"$ref": "GoogleChromePolicyVersionsV1DefineNetworkRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1DefineNetworkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"removeCertificate": { +"description": "Remove an existing certificate by guid.", +"flatPath": "v1/customers/{customersId}/policies/networks:removeCertificate", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.networks.removeCertificate", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer whose certificate will be removed.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/networks:removeCertificate", +"request": { +"$ref": "GoogleChromePolicyVersionsV1RemoveCertificateRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1RemoveCertificateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"removeNetwork": { +"description": "Remove an existing network by guid.", +"flatPath": "v1/customers/{customersId}/policies/networks:removeNetwork", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.networks.removeNetwork", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer whose network will be removed.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/networks:removeNetwork", +"request": { +"$ref": "GoogleChromePolicyVersionsV1RemoveNetworkRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1RemoveNetworkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +} +} +}, +"orgunits": { +"methods": { +"batchInherit": { +"description": "Modify multiple policy values that are applied to a specific org unit so that they now inherit the value from a parent (if applicable). All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/orgunits:batchInherit", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.orgunits.batchInherit", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/orgunits:batchInherit", +"request": { +"$ref": "GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +}, +"batchModify": { +"description": "Modify multiple policy values that are applied to a specific org unit. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", +"flatPath": "v1/customers/{customersId}/policies/orgunits:batchModify", +"httpMethod": "POST", +"id": "chromepolicy.customers.policies.orgunits.batchModify", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/orgunits:batchModify", +"request": { +"$ref": "GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +] +} +} +} +} +}, +"policySchemas": { +"methods": { +"get": { +"description": "Get a specific policy schema for a customer by its resource name.", +"flatPath": "v1/customers/{customersId}/policySchemas/{policySchemasId}", +"httpMethod": "GET", +"id": "chromepolicy.customers.policySchemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The policy schema resource name to query.", +"location": "path", +"pattern": "^customers/[^/]+/policySchemas/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy", +"https://www.googleapis.com/auth/chrome.management.policy.readonly" +] +}, +"list": { +"description": "Gets a list of policy schemas that match a specified filter value for a given customer.", +"flatPath": "v1/customers/{customersId}/policySchemas", +"httpMethod": "GET", +"id": "chromepolicy.customers.policySchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The schema filter used to find a particular schema based on fields like its resource name, description and `additionalTargetKeyNames`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of policy schemas to return, defaults to 100 and has a maximum of 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token used to retrieve a specific page of the listing request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The customer for which the listing request will apply.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/policySchemas", +"response": { +"$ref": "GoogleChromePolicyVersionsV1ListPolicySchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy", +"https://www.googleapis.com/auth/chrome.management.policy.readonly" +] +} +} +} +} +}, +"media": { +"methods": { +"upload": { +"description": "Creates an enterprise file from the content provided by user. Returns a public download url for end user.", +"flatPath": "v1/customers/{customersId}/policies/files:uploadPolicyFile", +"httpMethod": "POST", +"id": "chromepolicy.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1/{+customer}/policies/files:uploadPolicyFile" +} +} +}, +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer for which the file upload will apply.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/policies/files:uploadPolicyFile", +"request": { +"$ref": "GoogleChromePolicyVersionsV1UploadPolicyFileRequest" +}, +"response": { +"$ref": "GoogleChromePolicyVersionsV1UploadPolicyFileResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.policy" +], +"supportsMediaUpload": true +} +} +} +}, +"revision": "20241118", +"rootUrl": "https://chromepolicy.googleapis.com/", +"schemas": { +"GoogleChromePolicyVersionsV1AdditionalTargetKeyName": { +"description": "Additional key names that will be used to identify the target of the policy value.", +"id": "GoogleChromePolicyVersionsV1AdditionalTargetKeyName", +"properties": { +"key": { +"description": "Key name.", +"type": "string" +}, +"keyDescription": { +"description": "Key description.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest": { +"description": "Request message for specifying that multiple policy values will be deleted.", +"id": "GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest", +"properties": { +"requests": { +"description": "List of policies that will be deleted as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", +"items": { +"$ref": "GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest": { +"description": "Request message for specifying that multiple policy values inherit their value from their parents.", +"id": "GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest", +"properties": { +"requests": { +"description": "List of policies that have to inherit their values as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to an org unit resource. 3. All `policyTargetKey` values must have the same key names in the ` additionalTargetKeys`. This also means if one of the targets has an empty `additionalTargetKeys` map, all of the targets must have an empty `additionalTargetKeys` map. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", +"items": { +"$ref": "GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest": { +"description": "Request message for modifying multiple policy values for a specific group-based target.", +"id": "GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest", +"properties": { +"requests": { +"description": "List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", +"items": { +"$ref": "GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest": { +"description": "Request message for modifying multiple policy values for a specific target.", +"id": "GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest", +"properties": { +"requests": { +"description": "List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to an org unit resource. 3. All `policyTargetKey` values must have the same key names in the ` additionalTargetKeys`. This also means if one of the targets has an empty `additionalTargetKeys` map, all of the targets must have an empty `additionalTargetKeys` map. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", +"items": { +"$ref": "GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1CertificateReference": { +"description": "Error information for removing of a specific certificate on a specific target. A reference to a certificate.", +"id": "GoogleChromePolicyVersionsV1CertificateReference", +"properties": { +"network": { +"description": "Output only. The name of the referencing network.", +"readOnly": true, +"type": "string" +}, +"orgUnitId": { +"description": "Output only. The obfuscated id of the org unit the referencing network is in.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1DefineCertificateRequest": { +"description": "Request object for creating a certificate.", +"id": "GoogleChromePolicyVersionsV1DefineCertificateRequest", +"properties": { +"ceritificateName": { +"description": "Optional. The optional name of the certificate. If not specified, the certificate issuer will be used as the name.", +"type": "string" +}, +"certificate": { +"description": "Required. The raw contents of the .PEM, .CRT, or .CER file.", +"type": "string" +}, +"settings": { +"description": "Optional. Certificate settings within the chrome.networks.certificates namespace.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1NetworkSetting" +}, +"type": "array" +}, +"targetResource": { +"description": "Required. The target resource on which this certificate is applied. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1DefineCertificateResponse": { +"description": "Response object for creating a certificate.", +"id": "GoogleChromePolicyVersionsV1DefineCertificateResponse", +"properties": { +"networkId": { +"description": "The guid of the certificate created by the action.", +"type": "string" +}, +"settings": { +"description": "the affiliated settings of the certificate (NOT IMPLEMENTED)", +"items": { +"$ref": "GoogleChromePolicyVersionsV1NetworkSetting" +}, +"type": "array" +}, +"targetResource": { +"description": "the resource at which the certificate is defined.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1DefineNetworkRequest": { +"description": "Request object for creating a new network.", +"id": "GoogleChromePolicyVersionsV1DefineNetworkRequest", +"properties": { +"name": { +"description": "Required. Name of the new created network.", +"type": "string" +}, +"settings": { +"description": "Required. Detailed network settings.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1NetworkSetting" +}, +"type": "array" +}, +"targetResource": { +"description": "Required. The target resource on which this new network will be defined. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1DefineNetworkResponse": { +"description": "Response object for creating a network.", +"id": "GoogleChromePolicyVersionsV1DefineNetworkResponse", +"properties": { +"networkId": { +"description": "Network ID of the new created network.", +"type": "string" +}, +"settings": { +"description": "Detailed network settings of the new created network", +"items": { +"$ref": "GoogleChromePolicyVersionsV1NetworkSetting" +}, +"type": "array" +}, +"targetResource": { +"description": "The target resource on which this new network will be defined. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest": { +"description": "Request parameters for deleting the policy value of a specific group target.", +"id": "GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest", +"properties": { +"policySchema": { +"description": "The fully qualified name of the policy schema that is being inherited.", +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1FieldConstraints": { +"description": "Information about any range constraints.", +"id": "GoogleChromePolicyVersionsV1FieldConstraints", +"properties": { +"numericRangeConstraint": { +"$ref": "GoogleChromePolicyVersionsV1NumericRangeConstraint", +"description": "The allowed range for numeric fields." +}, +"uploadedFileConstraints": { +"$ref": "GoogleChromePolicyVersionsV1UploadedFileConstraints", +"description": "Constraints on the uploaded file of a file policy. If present, this policy requires a URL that can be fetched by uploading a file with the constraints specified in this proto." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest": { +"description": "Request parameters for inheriting policy value of a specific org unit target from the policy value of its parent org unit.", +"id": "GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest", +"properties": { +"policySchema": { +"description": "The fully qualified name of the policy schema that is being inherited.", +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to modify a policy. The target resource must point to an Org Unit." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest": { +"description": "Request message for listing the group priority ordering of an app.", +"id": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest", +"properties": { +"policyNamespace": { +"description": "The namespace of the policy type for the request.", +"type": "string" +}, +"policySchema": { +"description": "The schema name of the policy for the request.", +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to retrieve the group priority ordering. The target resource must point to an app." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse": { +"description": "Response message for listing the group priority ordering of an app.", +"id": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse", +"properties": { +"groupIds": { +"description": "Output only. The group IDs, in priority ordering.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"policyNamespace": { +"description": "Output only. The namespace of the policy type of the group IDs.", +"readOnly": true, +"type": "string" +}, +"policySchema": { +"description": "Output only. The schema name of the policy for the group IDs.", +"readOnly": true, +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Output only. The target resource for which the group priority ordering has been retrieved.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ListPolicySchemasResponse": { +"description": "Response message for listing policy schemas that match a filter.", +"id": "GoogleChromePolicyVersionsV1ListPolicySchemasResponse", +"properties": { +"nextPageToken": { +"description": "The page token used to get the next page of policy schemas.", +"type": "string" +}, +"policySchemas": { +"description": "The list of policy schemas that match the query.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest": { +"description": "Request parameters for modifying a policy value for a specific group target.", +"id": "GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest", +"properties": { +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group." +}, +"policyValue": { +"$ref": "GoogleChromePolicyVersionsV1PolicyValue", +"description": "The new value for the policy." +}, +"updateMask": { +"description": "Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest": { +"description": "Request parameters for modifying a policy value for a specific org unit target.", +"id": "GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest", +"properties": { +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to modify a policy. The target resource must point to an Org Unit." +}, +"policyValue": { +"$ref": "GoogleChromePolicyVersionsV1PolicyValue", +"description": "The new value for the policy." +}, +"updateMask": { +"description": "Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1NetworkSetting": { +"description": "A network setting contains network configurations.", +"id": "GoogleChromePolicyVersionsV1NetworkSetting", +"properties": { +"policySchema": { +"description": "The fully qualified name of the network setting.", +"type": "string" +}, +"value": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The value of the network setting.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1NumericRangeConstraint": { +"description": "A constraint on upper and/or lower bounds, with at least one being set.", +"id": "GoogleChromePolicyVersionsV1NumericRangeConstraint", +"properties": { +"maximum": { +"description": "Maximum value.", +"format": "int64", +"type": "string" +}, +"minimum": { +"description": "Minimum value.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyApiLifecycle": { +"description": "Lifecycle information.", +"id": "GoogleChromePolicyVersionsV1PolicyApiLifecycle", +"properties": { +"deprecatedInFavorOf": { +"description": "In the event that this policy was deprecated in favor of another policy, the fully qualified namespace(s) of the new policies as they will show in PolicyAPI. Could only be set if policy_api_lifecycle_stage is API_DEPRECATED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description about current life cycle.", +"type": "string" +}, +"endSupport": { +"$ref": "GoogleTypeDate", +"description": "End supporting date for current policy. Attempting to modify a policy after its end support date will result in a Bad Request (400 error). Could only be set if policy_api_lifecycle_stage is API_DEPRECATED." +}, +"policyApiLifecycleStage": { +"description": "Indicates current life cycle stage of the policy API.", +"enum": [ +"API_UNSPECIFIED", +"API_PREVIEW", +"API_DEVELOPMENT", +"API_CURRENT", +"API_DEPRECATED" +], +"enumDescriptions": [ +"Policy Api Lifecycle is Unspecified.", +"Policy is not working yet, but giving developers heads up on format. This stage can transfer to API_DEVELOPEMNT or API_CURRENT.", +"Policy can change format in backward incompatible way (breaking change). This stage can transfer to API_CURRENT or API_DEPRECATED. This could be used for policies launched only to TTs or launched to selected customers for emergency usage.", +"Policy in official format. Policy can change format in backward compatible way (non-breaking change). Example: this policy can introduce a new field, which is considered non-breaking change, when field masks are properly utilized. This stage can transfer to API_DEPRECATED.", +"Please stop using this policy. This policy is deprecated and may/will be removed in the future. Most likely a new policy was introduced to replace this one." +], +"type": "string" +}, +"scheduledToDeprecatePolicies": { +"description": "Corresponding to deprecated_in_favor_of, the fully qualified namespace(s) of the old policies that will be deprecated because of introduction of this policy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyModificationError": { +"description": "Error information for a modification request of a specific policy on a specific target.", +"id": "GoogleChromePolicyVersionsV1PolicyModificationError", +"properties": { +"errors": { +"description": "Output only. The non-field errors related to the modification.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"fieldErrors": { +"description": "Output only. The error messages related to the modification.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicyModificationFieldError" +}, +"readOnly": true, +"type": "array" +}, +"policySchema": { +"description": "Output only. The specific policy schema modification that had an error.", +"readOnly": true, +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Output only. The specific policy target modification that had error.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyModificationErrorDetails": { +"description": "Details of the errors encountered during a policy modification request. This message will be returned as part of the details of a google.rpc.Status returned to the user when there is an error in their request.", +"id": "GoogleChromePolicyVersionsV1PolicyModificationErrorDetails", +"properties": { +"modificationErrors": { +"description": "Output only. List of specific policy modifications errors that may have occurred during a modifying request.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicyModificationError" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyModificationFieldError": { +"description": "Error information for a modification request of a specific field on a specific policy.", +"id": "GoogleChromePolicyVersionsV1PolicyModificationFieldError", +"properties": { +"error": { +"description": "Output only. The error message related to the field.", +"readOnly": true, +"type": "string" +}, +"field": { +"description": "Output only. The name of the field with the error.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchema": { +"description": "Resource representing a policy schema.", +"id": "GoogleChromePolicyVersionsV1PolicySchema", +"properties": { +"accessRestrictions": { +"description": "Output only. Specific access restrictions related to this policy.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"additionalTargetKeyNames": { +"description": "Output only. Additional key names that will be used to identify the target of the policy value. When specifying a `policyTargetKey`, each of the additional keys specified here will have to be included in the `additionalTargetKeys` map.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1AdditionalTargetKeyName" +}, +"readOnly": true, +"type": "array" +}, +"categoryTitle": { +"description": "Title of the category in which a setting belongs.", +"type": "string" +}, +"definition": { +"$ref": "Proto2FileDescriptorProto", +"description": "Schema definition using proto descriptor." +}, +"fieldDescriptions": { +"description": "Output only. Detailed description of each field that is part of the schema. Fields are suggested to be displayed by the ordering in this list, not by field number.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Format: name=customers/{customer}/policySchemas/{schema_namespace}", +"type": "string" +}, +"notices": { +"description": "Output only. Special notice messages related to setting certain values in certain fields in the schema.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription" +}, +"readOnly": true, +"type": "array" +}, +"policyApiLifecycle": { +"$ref": "GoogleChromePolicyVersionsV1PolicyApiLifecycle", +"description": "Output only. Current lifecycle information.", +"readOnly": true +}, +"policyDescription": { +"description": "Output only. Description about the policy schema for user consumption.", +"readOnly": true, +"type": "string" +}, +"schemaName": { +"description": "Output only. The fully qualified name of the policy schema. This value is used to fill the field `policy_schema` in PolicyValue when calling BatchInheritOrgUnitPolicies BatchModifyOrgUnitPolicies BatchModifyGroupPolicies or BatchDeleteGroupPolicies.", +"readOnly": true, +"type": "string" +}, +"supportUri": { +"description": "Output only. URI to related support article for this schema.", +"readOnly": true, +"type": "string" +}, +"supportedPlatforms": { +"description": "Output only. List indicates that the policy will only apply to devices/users on these platforms.", +"items": { +"enum": [ +"PLATFORM_UNSPECIFIED", +"CHROME_OS", +"CHROME_BROWSER", +"CHROME_BROWSER_FOR_ANDROID", +"CHROME_BROWSER_FOR_IOS" +], +"enumDescriptions": [ +"Unspecified platform.", +"ChromeOS.", +"Chrome Browser for OSX/Windows/Linux.", +"Chrome Browser for Android.", +"Chrome Browser for iOS." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"validTargetResources": { +"description": "Output only. Information about applicable target resources for the policy.", +"items": { +"enum": [ +"TARGET_RESOURCE_UNSPECIFIED", +"ORG_UNIT", +"GROUP" +], +"enumDescriptions": [ +"Unspecified target resource.", +"Organizational Unit target resource.", +"Group target resource." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies": { +"description": "The field and the value it must have for another field to be allowed to be set.", +"id": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies", +"properties": { +"sourceField": { +"description": "The source field which this field depends on.", +"type": "string" +}, +"sourceFieldValue": { +"description": "The value which the source field must have for this field to be allowed to be set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchemaFieldDescription": { +"description": "Provides detailed information for a particular field that is part of a PolicySchema.", +"id": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription", +"properties": { +"defaultValue": { +"description": "Output only. Client default if the policy is unset.", +"readOnly": true, +"type": "any" +}, +"description": { +"deprecated": true, +"description": "Deprecated. Use name and field_description instead. The description for the field.", +"type": "string" +}, +"field": { +"description": "Output only. The name of the field for associated with this description.", +"readOnly": true, +"type": "string" +}, +"fieldConstraints": { +"$ref": "GoogleChromePolicyVersionsV1FieldConstraints", +"description": "Output only. Information on any input constraints associated on the values for the field.", +"readOnly": true +}, +"fieldDependencies": { +"description": "Output only. Provides a list of fields and values. At least one of the fields must have the corresponding value in order for this field to be allowed to be set.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies" +}, +"readOnly": true, +"type": "array" +}, +"fieldDescription": { +"description": "Output only. The description of the field.", +"readOnly": true, +"type": "string" +}, +"inputConstraint": { +"description": "Output only. Any input constraints associated on the values for the field.", +"readOnly": true, +"type": "string" +}, +"knownValueDescriptions": { +"description": "Output only. If the field has a set of known values, this field will provide a description for these values.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. The name of the field.", +"readOnly": true, +"type": "string" +}, +"nestedFieldDescriptions": { +"description": "Output only. Provides the description of the fields nested in this field, if the field is a message type that defines multiple fields. Fields are suggested to be displayed by the ordering in this list, not by field number.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription" +}, +"readOnly": true, +"type": "array" +}, +"requiredItems": { +"description": "Output only. Provides a list of fields that are required to be set if this field has a certain value.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaRequiredItems" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription": { +"description": "Provides detailed information about a known value that is allowed for a particular field in a PolicySchema.", +"id": "GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription", +"properties": { +"description": { +"description": "Output only. Additional description for this value.", +"readOnly": true, +"type": "string" +}, +"fieldDependencies": { +"description": "Output only. Field conditions required for this value to be valid.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies" +}, +"readOnly": true, +"type": "array" +}, +"value": { +"description": "Output only. The string represenstation of the value that can be set for the field.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription": { +"description": "Provides special notice messages related to a particular value in a field that is part of a PolicySchema.", +"id": "GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription", +"properties": { +"acknowledgementRequired": { +"description": "Output only. Whether the user needs to acknowledge the notice message before the value can be set.", +"readOnly": true, +"type": "boolean" +}, +"field": { +"description": "Output only. The field name associated with the notice.", +"readOnly": true, +"type": "string" +}, +"noticeMessage": { +"description": "Output only. The notice message associate with the value of the field.", +"readOnly": true, +"type": "string" +}, +"noticeValue": { +"description": "Output only. The value of the field that has a notice. When setting the field to this value, the user may be required to acknowledge the notice message in order for the value to be set.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicySchemaRequiredItems": { +"description": "The fields that will become required based on the value of this field.", +"id": "GoogleChromePolicyVersionsV1PolicySchemaRequiredItems", +"properties": { +"fieldConditions": { +"description": "The value(s) of the field that provoke required field enforcement. An empty field_conditions implies that any value assigned to this field will provoke required field enforcement.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requiredFields": { +"description": "The fields that are required as a consequence of the field conditions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyTargetKey": { +"description": "The key used to identify the target on which the policy will be applied.", +"id": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"properties": { +"additionalTargetKeys": { +"additionalProperties": { +"type": "string" +}, +"description": "Map containing the additional target key name and value pairs used to further identify the target of the policy.", +"type": "object" +}, +"targetResource": { +"description": "The target resource on which this policy is applied. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\") * Group (\"groups/{group_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1PolicyValue": { +"description": "A particular value for a policy managed by the service.", +"id": "GoogleChromePolicyVersionsV1PolicyValue", +"properties": { +"policySchema": { +"description": "The fully qualified name of the policy schema associated with this policy.", +"type": "string" +}, +"value": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The value of the policy that is compatible with the schema that it is associated with.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1RemoveCertificateErrorDetails": { +"description": "Details of the errors encountered during a remove certificate request. This message will be returned as part of the details of a google.rpc.Status returned to the user when there is an error in their request.", +"id": "GoogleChromePolicyVersionsV1RemoveCertificateErrorDetails", +"properties": { +"certificateReferences": { +"description": "Output only. If the certificate was not removed, a list of references to the certificate that prevented it from being removed. Only unreferenced certificates can be removed.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1CertificateReference" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1RemoveCertificateRequest": { +"description": "Request object for removing a certificate.", +"id": "GoogleChromePolicyVersionsV1RemoveCertificateRequest", +"properties": { +"networkId": { +"description": "Required. The GUID of the certificate to remove.", +"type": "string" +}, +"targetResource": { +"description": "Required. The target resource on which this certificate will be removed. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1RemoveCertificateResponse": { +"description": "Response object for removing a certificate.", +"id": "GoogleChromePolicyVersionsV1RemoveCertificateResponse", +"properties": {}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1RemoveNetworkRequest": { +"description": "Request object for removing a network", +"id": "GoogleChromePolicyVersionsV1RemoveNetworkRequest", +"properties": { +"networkId": { +"description": "Required. The GUID of the network to remove.", +"type": "string" +}, +"targetResource": { +"description": "Required. The target resource on which this network will be removed. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1RemoveNetworkResponse": { +"description": "Response object for removing a network.", +"id": "GoogleChromePolicyVersionsV1RemoveNetworkResponse", +"properties": {}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ResolveRequest": { +"description": "Request message for getting the resolved policy value for a specific target.", +"id": "GoogleChromePolicyVersionsV1ResolveRequest", +"properties": { +"pageSize": { +"description": "The maximum number of policies to return, defaults to 100 and has a maximum of 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The page token used to retrieve a specific page of the request.", +"type": "string" +}, +"policySchemaFilter": { +"description": "Required. The schema filter to apply to the resolve request. Specify a schema name to view a particular schema, for example: chrome.users.ShowLogoutButton Wildcards are supported, but only in the leaf portion of the schema name. Wildcards cannot be used in namespace directly. Please read https://developers.google.com/chrome/policy/guides/policy-schemas for details on schema namespaces. For example: Valid: \"chrome.users.*\", \"chrome.users.apps.*\", \"chrome.printers.*\" Invalid: \"*\", \"*.users\", \"chrome.*\", \"chrome.*.apps.*\"", +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target resource on which the policies should be resolved." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ResolveResponse": { +"description": "Response message for getting the resolved policy value for a specific target.", +"id": "GoogleChromePolicyVersionsV1ResolveResponse", +"properties": { +"nextPageToken": { +"description": "The page token used to get the next set of resolved policies found by the request.", +"type": "string" +}, +"resolvedPolicies": { +"description": "The list of resolved policies found by the resolve request.", +"items": { +"$ref": "GoogleChromePolicyVersionsV1ResolvedPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1ResolvedPolicy": { +"description": "The resolved value of a policy for a given target.", +"id": "GoogleChromePolicyVersionsV1ResolvedPolicy", +"properties": { +"addedSourceKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Output only. The added source key establishes at which level an entity was explicitly added for management. This is useful for certain type of policies that are only applied if they are explicitly added for management. For example: apps and networks. An entity can only be deleted from management in an Organizational Unit that it was explicitly added to. If this is not present it means that the policy is managed without the need to explicitly add an entity, for example: standard user or device policies.", +"readOnly": true +}, +"sourceKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Output only. The source resource from which this policy value is obtained. May be the same as `targetKey` if the policy is directly modified on the target, otherwise it would be another resource from which the policy gets its value (if applicable). If not present, the source is the default value for the customer.", +"readOnly": true +}, +"targetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Output only. The target resource for which the resolved policy value applies.", +"readOnly": true +}, +"value": { +"$ref": "GoogleChromePolicyVersionsV1PolicyValue", +"description": "Output only. The resolved value of the policy.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest": { +"description": "Request message for updating the group priority ordering of an app.", +"id": "GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest", +"properties": { +"groupIds": { +"description": "Required. The group IDs, in desired priority ordering.", +"items": { +"type": "string" +}, +"type": "array" +}, +"policyNamespace": { +"description": "The namespace of the policy type for the request.", +"type": "string" +}, +"policySchema": { +"description": "The schema name of the policy for the request.", +"type": "string" +}, +"policyTargetKey": { +"$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey", +"description": "Required. The key of the target for which we want to update the group priority ordering. The target resource must point to an app." +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1UploadPolicyFileRequest": { +"description": "Request message for uploading a file for a policy.", +"id": "GoogleChromePolicyVersionsV1UploadPolicyFileRequest", +"properties": { +"policyField": { +"description": "Required. The fully qualified policy schema and field name this file is uploaded for. This information will be used to validate the content type of the file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1UploadPolicyFileResponse": { +"description": "Response message for downloading an uploaded file.", +"id": "GoogleChromePolicyVersionsV1UploadPolicyFileResponse", +"properties": { +"downloadUri": { +"description": "The uri for end user to download the file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromePolicyVersionsV1UploadedFileConstraints": { +"description": "Constraints on the uploaded file of a file policy.", +"id": "GoogleChromePolicyVersionsV1UploadedFileConstraints", +"properties": { +"sizeLimitBytes": { +"description": "The size limit of uploaded files for a setting, in bytes.", +"format": "int64", +"type": "string" +}, +"supportedContentTypes": { +"description": "File types that can be uploaded for a setting.", +"items": { +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"CONTENT_TYPE_PLAIN_TEXT", +"CONTENT_TYPE_HTML", +"CONTENT_TYPE_IMAGE_JPEG", +"CONTENT_TYPE_IMAGE_GIF", +"CONTENT_TYPE_IMAGE_PNG", +"CONTENT_TYPE_JSON", +"CONTENT_TYPE_ZIP", +"CONTENT_TYPE_GZIP", +"CONTENT_TYPE_CSV", +"CONTENT_TYPE_YAML", +"CONTENT_TYPE_IMAGE_WEBP" +], +"enumDescriptions": [ +"Unspecified content type.", +"Plain text.", +"HTML.", +"JPEG.", +"GIF.", +"PNG.", +"JSON.", +"ZIP.", +"GZIP.", +"CSV.", +"YAML.", +"WEBP." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Proto2DescriptorProto": { +"description": "Describes a message type.", +"id": "Proto2DescriptorProto", +"properties": { +"enumType": { +"items": { +"$ref": "Proto2EnumDescriptorProto" +}, +"type": "array" +}, +"field": { +"items": { +"$ref": "Proto2FieldDescriptorProto" +}, +"type": "array" +}, +"name": { +"type": "string" +}, +"nestedType": { +"items": { +"$ref": "Proto2DescriptorProto" +}, +"type": "array" +}, +"oneofDecl": { +"items": { +"$ref": "Proto2OneofDescriptorProto" +}, +"type": "array" +} +}, +"type": "object" +}, +"Proto2EnumDescriptorProto": { +"description": "Describes an enum type.", +"id": "Proto2EnumDescriptorProto", +"properties": { +"name": { +"type": "string" +}, +"value": { +"items": { +"$ref": "Proto2EnumValueDescriptorProto" +}, +"type": "array" +} +}, +"type": "object" +}, +"Proto2EnumValueDescriptorProto": { +"description": "Describes a value within an enum.", +"id": "Proto2EnumValueDescriptorProto", +"properties": { +"name": { +"type": "string" +}, +"number": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Proto2FieldDescriptorProto": { +"description": "Describes a field within a message.", +"id": "Proto2FieldDescriptorProto", +"properties": { +"defaultValue": { +"description": "For numeric types, contains the original text representation of the value. For booleans, \"true\" or \"false\". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes >= 128 are escaped.", +"type": "string" +}, +"jsonName": { +"description": "JSON name of this field. The value is set by protocol compiler. If the user has set a \"json_name\" option on this field, that option's value will be used. Otherwise, it's deduced from the field's name by converting it to camelCase.", +"type": "string" +}, +"label": { +"enum": [ +"LABEL_OPTIONAL", +"LABEL_REPEATED", +"LABEL_REQUIRED" +], +"enumDescriptions": [ +"0 is reserved for errors", +"", +"The required label is only allowed in proto2. In proto3 and Editions it's explicitly prohibited. In Editions, the `field_presence` feature can be used to get this behavior." +], +"type": "string" +}, +"name": { +"type": "string" +}, +"number": { +"format": "int32", +"type": "integer" +}, +"oneofIndex": { +"description": "If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof.", +"format": "int32", +"type": "integer" +}, +"proto3Optional": { +"description": "If true, this is a proto3 \"optional\". When a proto3 field is optional, it tracks presence regardless of field type. When proto3_optional is true, this field must belong to a oneof to signal to old proto3 clients that presence is tracked for this field. This oneof is known as a \"synthetic\" oneof, and this field must be its sole member (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs exist in the descriptor only, and do not generate any API. Synthetic oneofs must be ordered after all \"real\" oneofs. For message fields, proto3_optional doesn't create any semantic change, since non-repeated message fields always track presence. However it still indicates the semantic detail of whether the user wrote \"optional\" or not. This can be useful for round-tripping the .proto file. For consistency we give message fields a synthetic oneof also, even though it is not required to track presence. This is especially important because the parser can't tell if a field is a message or an enum, so it must always create a synthetic oneof. Proto2 optional fields do not set this flag, because they already indicate optional with `LABEL_OPTIONAL`.", +"type": "boolean" +}, +"type": { +"description": "If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.", +"enum": [ +"TYPE_DOUBLE", +"TYPE_FLOAT", +"TYPE_INT64", +"TYPE_UINT64", +"TYPE_INT32", +"TYPE_FIXED64", +"TYPE_FIXED32", +"TYPE_BOOL", +"TYPE_STRING", +"TYPE_GROUP", +"TYPE_MESSAGE", +"TYPE_BYTES", +"TYPE_UINT32", +"TYPE_ENUM", +"TYPE_SFIXED32", +"TYPE_SFIXED64", +"TYPE_SINT32", +"TYPE_SINT64" +], +"enumDescriptions": [ +"0 is reserved for errors. Order is weird for historical reasons.", +"", +"Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if negative values are likely.", +"", +"Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if negative values are likely.", +"", +"", +"", +"", +"Tag-delimited aggregate. Group type is deprecated and not supported after proto2. However, Proto3 implementations should still be able to parse the group wire format and treat group fields as unknown fields. In Editions, the group wire format can be enabled via the `message_encoding` feature.", +"Length-delimited aggregate.", +"New in version 2.", +"", +"", +"", +"", +"Uses ZigZag encoding.", +"Uses ZigZag encoding." +], +"type": "string" +}, +"typeName": { +"description": "For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).", +"type": "string" +} +}, +"type": "object" +}, +"Proto2FileDescriptorProto": { +"description": "Describes a complete .proto file.", +"id": "Proto2FileDescriptorProto", +"properties": { +"editionDeprecated": { +"deprecated": true, +"description": "BEGIN GOOGLE-INTERNAL TODO(b/297898292) Deprecate and remove this field in favor of enums. END GOOGLE-INTERNAL", +"type": "string" +}, +"enumType": { +"items": { +"$ref": "Proto2EnumDescriptorProto" +}, +"type": "array" +}, +"messageType": { +"description": "All top-level definitions in this file.", +"items": { +"$ref": "Proto2DescriptorProto" +}, +"type": "array" +}, +"name": { +"description": "file name, relative to root of source tree", +"type": "string" +}, +"package": { +"description": "e.g. \"foo\", \"foo.bar\", etc.", +"type": "string" +}, +"syntax": { +"description": "The syntax of the proto file. The supported values are \"proto2\", \"proto3\", and \"editions\". If `edition` is present, this value must be \"editions\". WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.", +"type": "string" +} +}, +"type": "object" +}, +"Proto2OneofDescriptorProto": { +"description": "Describes a oneof.", +"id": "Proto2OneofDescriptorProto", +"properties": { +"name": { +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Chrome Policy API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..81937f9e4eb190059c9580e048d5cfaa56f1dc6a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json @@ -0,0 +1,1382 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudasset.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Asset", +"description": "The Cloud Asset API manages the history and inventory of Google Cloud resources.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudasset:v1p1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", +"name": "cloudasset", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"iamPolicies": { +"methods": { +"searchAll": { +"description": "Searches all the IAM policies within a given accessible Resource Manager scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the IAM policies within a scope, even if they don't have `.getIamPolicy` permission of all the IAM policies. Callers should have `cloudasset.assets.searchAllIamPolicies` permission on the requested scope, otherwise the request will be rejected.", +"flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/iamPolicies:searchAll", +"httpMethod": "GET", +"id": "cloudasset.iamPolicies.searchAll", +"parameterOrder": [ +"scope" +], +"parameters": { +"pageSize": { +"description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"query": { +"description": "Optional. The query statement. Examples: * \"policy:myuser@mydomain.com\" * \"policy:(myuser@mydomain.com viewer)\"", +"location": "query", +"type": "string" +}, +"scope": { +"description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number (such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project ID (such as \"projects/abc\")", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1p1beta1/{+scope}/iamPolicies:searchAll", +"response": { +"$ref": "SearchAllIamPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"resources": { +"methods": { +"searchAll": { +"description": "Searches all the resources within a given accessible Resource Manager scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the resources within a scope, even if they don't have `.get` permission of all the resources. Callers should have `cloudasset.assets.searchAllResources` permission on the requested scope, otherwise the request will be rejected.", +"flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/resources:searchAll", +"httpMethod": "GET", +"id": "cloudasset.resources.searchAll", +"parameterOrder": [ +"scope" +], +"parameters": { +"assetTypes": { +"description": "Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset types.", +"location": "query", +"repeated": true, +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add ` DESC` after the field name to indicate descending order. Redundant space characters are ignored. For example, ` location DESC , name `.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"query": { +"description": "Optional. The query statement.", +"location": "query", +"type": "string" +}, +"scope": { +"description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number (such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project ID (such as \"projects/abc\")", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1p1beta1/{+scope}/resources:searchAll", +"response": { +"$ref": "SearchAllResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20250104", +"rootUrl": "https://cloudasset.googleapis.com/", +"schemas": { +"AnalyzeIamPolicyLongrunningMetadata": { +"description": "Represents the metadata of the longrunning operation for the AnalyzeIamPolicyLongrunning RPC.", +"id": "AnalyzeIamPolicyLongrunningMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeIamPolicyLongrunningResponse": { +"description": "A response message for AssetService.AnalyzeIamPolicyLongrunning.", +"id": "AnalyzeIamPolicyLongrunningResponse", +"properties": {}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Explanation": { +"description": "Explanation about the IAM policy search result.", +"id": "Explanation", +"properties": { +"matchedPermissions": { +"additionalProperties": { +"$ref": "Permissions" +}, +"description": "The map from roles to their included permission matching the permission query (e.g. containing `policy.role.permissions:`). Example role string: \"roles/compute.instanceAdmin\". The roles can also be found in the returned `policy` bindings. Note that the map is populated only if requesting with a permission query.", +"type": "object" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Asset": { +"description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1Asset", +"properties": { +"accessLevel": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." +}, +"accessPolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." +}, +"ancestors": { +"description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +}, +"iamPolicy": { +"$ref": "Policy", +"description": "A representation of the IAM policy set on a Google Cloud resource. There can be a maximum of one IAM policy set on any given resource. In addition, IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." +}, +"name": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"orgPolicy": { +"description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.", +"items": { +"$ref": "GoogleCloudOrgpolicyV1Policy" +}, +"type": "array" +}, +"relatedAssets": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAssets", +"description": "The related assets of the asset of one relationship type. One asset only represents one type of relationship." +}, +"resource": { +"$ref": "GoogleCloudAssetV1p7beta1Resource", +"description": "A representation of the resource." +}, +"servicePerimeter": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)." +}, +"updateTime": { +"description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAsset": { +"description": "An asset identify in Google Cloud which contains its name, type and ancestors. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1RelatedAsset", +"properties": { +"ancestors": { +"description": "The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"asset": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAssets": { +"description": "The detailed related assets with the `relationship_type`.", +"id": "GoogleCloudAssetV1p7beta1RelatedAssets", +"properties": { +"assets": { +"description": "The peer resources of the relationship.", +"items": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAsset" +}, +"type": "array" +}, +"relationshipAttributes": { +"$ref": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"description": "The detailed relation attributes." +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelationshipAttributes": { +"description": "The relationship attributes which include `type`, `source_resource_type`, `target_resource_type` and `action`.", +"id": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"properties": { +"action": { +"description": "The detail of the relationship, e.g. `contains`, `attaches`", +"type": "string" +}, +"sourceResourceType": { +"description": "The source asset type. Example: `compute.googleapis.com/Instance`", +"type": "string" +}, +"targetResourceType": { +"description": "The target asset type. Example: `compute.googleapis.com/Disk`", +"type": "string" +}, +"type": { +"description": "The unique identifier of the relationship type. Example: `INSTANCE_TO_INSTANCEGROUP`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Resource": { +"description": "A representation of a Google Cloud resource.", +"id": "GoogleCloudAssetV1p7beta1Resource", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The content of the resource, in which some sensitive fields are removed and may not be present.", +"type": "object" +}, +"discoveryDocumentUri": { +"description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"discoveryName": { +"description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"location": { +"description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.", +"type": "string" +}, +"parent": { +"description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.", +"type": "string" +}, +"resourceUrl": { +"description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.", +"type": "string" +}, +"version": { +"description": "The API version. Example: `v1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1BooleanPolicy": { +"description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.", +"id": "GoogleCloudOrgpolicyV1BooleanPolicy", +"properties": { +"enforced": { +"description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1ListPolicy": { +"description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.", +"id": "GoogleCloudOrgpolicyV1ListPolicy", +"properties": { +"allValues": { +"description": "The policy all_values state.", +"enum": [ +"ALL_VALUES_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Indicates that allowed_values or denied_values must be set.", +"A policy with this set allows all values.", +"A policy with this set denies all values." +], +"type": "string" +}, +"allowedValues": { +"description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deniedValues": { +"description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inheritFromParent": { +"description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.", +"type": "boolean" +}, +"suggestedValue": { +"description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1Policy": { +"description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.", +"id": "GoogleCloudOrgpolicyV1Policy", +"properties": { +"booleanPolicy": { +"$ref": "GoogleCloudOrgpolicyV1BooleanPolicy", +"description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." +}, +"constraint": { +"description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.", +"type": "string" +}, +"etag": { +"description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.", +"format": "byte", +"type": "string" +}, +"listPolicy": { +"$ref": "GoogleCloudOrgpolicyV1ListPolicy", +"description": "List of values either allowed or disallowed." +}, +"restoreDefault": { +"$ref": "GoogleCloudOrgpolicyV1RestoreDefault", +"description": "Restores the default behavior of the constraint; independent of `Constraint` type." +}, +"updateTime": { +"description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "Version of the `Policy`. Default version is 0;", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1RestoreDefault": { +"description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.", +"id": "GoogleCloudOrgpolicyV1RestoreDefault", +"properties": {}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessLevel": { +"description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"properties": { +"basic": { +"$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"description": "A `BasicLevel` composed of `Conditions`." +}, +"custom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"description": "A `CustomLevel` written in the Common Expression Language." +}, +"description": { +"description": "Description of the `AccessLevel` and its use. Does not affect behavior.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`.", +"type": "string" +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessPolicy": { +"description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"properties": { +"etag": { +"description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Policies will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`", +"type": "string" +}, +"parent": { +"description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`", +"type": "string" +}, +"scopes": { +"description": "The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with `scopes=[\"folders/123\"]` has the following behavior: - ServicePerimeter can only restrict projects within `folders/123`. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes `folders/123` will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. Human readable title. Does not affect behavior.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ApiOperation": { +"description": "Identification for an API Operation.", +"id": "GoogleIdentityAccesscontextmanagerV1ApiOperation", +"properties": { +"methodSelectors": { +"description": "API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1MethodSelector" +}, +"type": "array" +}, +"serviceName": { +"description": "The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1BasicLevel": { +"description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", +"id": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"properties": { +"combiningFunction": { +"description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.", +"enum": [ +"AND", +"OR" +], +"enumDescriptions": [ +"All `Conditions` must be true for the `BasicLevel` to be true.", +"If at least one `Condition` is true, then the `BasicLevel` is true." +], +"type": "string" +}, +"conditions": { +"description": "Required. A list of requirements for the `AccessLevel` to be granted.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1Condition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1Condition": { +"description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.", +"id": "GoogleIdentityAccesscontextmanagerV1Condition", +"properties": { +"devicePolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed." +}, +"ipSubnetworks": { +"description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"members": { +"description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"negate": { +"description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields. Any non-empty field criteria evaluating to false will result in the Condition to be satisfied. Defaults to false.", +"type": "boolean" +}, +"regions": { +"description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requiredAccessLevels": { +"description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcNetworkSources": { +"description": "The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1CustomLevel": { +"description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec", +"id": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"properties": { +"expr": { +"$ref": "Expr", +"description": "Required. A Cloud CEL expression evaluating to a boolean." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1DevicePolicy": { +"description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.", +"id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"properties": { +"allowedDeviceManagementLevels": { +"description": "Allowed device management levels, an empty list allows all management levels.", +"items": { +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"NONE", +"BASIC", +"COMPLETE" +], +"enumDescriptions": [ +"The device's management level is not specified or not known.", +"The device is not managed.", +"Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.", +"Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform." +], +"type": "string" +}, +"type": "array" +}, +"allowedEncryptionStatuses": { +"description": "Allowed encryptions statuses, an empty list allows all statuses.", +"items": { +"enum": [ +"ENCRYPTION_UNSPECIFIED", +"ENCRYPTION_UNSUPPORTED", +"UNENCRYPTED", +"ENCRYPTED" +], +"enumDescriptions": [ +"The encryption status of the device is not specified or not known.", +"The device does not support encryption.", +"The device supports encryption, but is currently unencrypted.", +"The device is encrypted." +], +"type": "string" +}, +"type": "array" +}, +"osConstraints": { +"description": "Allowed OS versions, an empty list allows all types and all versions.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint" +}, +"type": "array" +}, +"requireAdminApproval": { +"description": "Whether the device needs to be approved by the customer admin.", +"type": "boolean" +}, +"requireCorpOwned": { +"description": "Whether the device needs to be corp owned.", +"type": "boolean" +}, +"requireScreenlock": { +"description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressFrom": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [EgressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sourceRestriction": { +"description": "Whether to enforce traffic restrictions based on `sources` field. If the `sources` fields is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.", +"enum": [ +"SOURCE_RESTRICTION_UNSPECIFIED", +"SOURCE_RESTRICTION_ENABLED", +"SOURCE_RESTRICTION_DISABLED" +], +"enumDescriptions": [ +"Enforcement preference unspecified, will not enforce traffic restrictions based on `sources` in EgressFrom.", +"Enforcement preference enabled, traffic restrictions will be enforced based on `sources` in EgressFrom.", +"Enforcement preference disabled, will not enforce traffic restrictions based on `sources` in EgressFrom." +], +"type": "string" +}, +"sources": { +"description": "Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressPolicy": { +"description": "Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressPolicy", +"properties": { +"egressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"description": "Defines conditions on the source of a request causing this EgressPolicy to apply." +}, +"egressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressSource": { +"description": "The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressTo": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"properties": { +"externalResources": { +"description": "A list of external resources that are allowed to be accessed. Only AWS and Azure resources are supported. For Amazon S3, the supported formats are s3://BUCKET_NAME, s3a://BUCKET_NAME, and s3n://BUCKET_NAME. For Azure Storage, the supported format is azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressFrom": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [IngressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sources": { +"description": "Sources that this IngressPolicy authorizes access from.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressPolicy": { +"description": "Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressPolicy", +"properties": { +"ingressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"description": "Defines the conditions on the source of a request causing this IngressPolicy to apply." +}, +"ingressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressSource": { +"description": "The source that IngressPolicy authorizes access from.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressTo": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"properties": { +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1MethodSelector": { +"description": "An allowed method or permission of a service specified in ApiOperation.", +"id": "GoogleIdentityAccesscontextmanagerV1MethodSelector", +"properties": { +"method": { +"description": "A valid method name for the corresponding `service_name` in ApiOperation. If `*` is used as the value for the `method`, then ALL methods and permissions are allowed.", +"type": "string" +}, +"permission": { +"description": "A valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1OsConstraint": { +"description": "A restriction on the OS type and version of devices making requests.", +"id": "GoogleIdentityAccesscontextmanagerV1OsConstraint", +"properties": { +"minimumVersion": { +"description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.", +"type": "string" +}, +"osType": { +"description": "Required. The allowed OS type.", +"enum": [ +"OS_UNSPECIFIED", +"DESKTOP_MAC", +"DESKTOP_WINDOWS", +"DESKTOP_LINUX", +"DESKTOP_CHROME_OS", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"The operating system of the device is not specified or not known.", +"A desktop Mac operating system.", +"A desktop Windows operating system.", +"A desktop Linux operating system.", +"A desktop ChromeOS operating system.", +"An Android operating system.", +"An iOS operating system." +], +"type": "string" +}, +"requireVerifiedChromeOs": { +"description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeter": { +"description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project or VPC network can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"properties": { +"description": { +"description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", +"type": "string" +}, +"etag": { +"description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", +"type": "string" +}, +"perimeterType": { +"description": "Perimeter type indicator. A single project or VPC network is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.", +"enum": [ +"PERIMETER_TYPE_REGULAR", +"PERIMETER_TYPE_BRIDGE" +], +"enumDescriptions": [ +"Regular Perimeter. When no value is specified, the perimeter uses this type.", +"Perimeter Bridge." +], +"type": "string" +}, +"spec": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set." +}, +"status": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries." +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +}, +"useExplicitDryRunSpec": { +"description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": { +"description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"properties": { +"accessLevels": { +"description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"egressPolicies": { +"description": "List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressPolicy" +}, +"type": "array" +}, +"ingressPolicies": { +"description": "List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressPolicy" +}, +"type": "array" +}, +"resources": { +"description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedServices": { +"description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcAccessibleServices": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"description": "Configuration for APIs allowed within Perimeter." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": { +"description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"properties": { +"allowedServices": { +"description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableRestriction": { +"description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcNetworkSource": { +"description": "The originating network source in Google Cloud.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource", +"properties": { +"vpcSubnetwork": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"description": "Sub-segment ranges of a VPC network." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcSubNetwork": { +"description": "Sub-segment ranges inside of a VPC Network.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"properties": { +"network": { +"description": "Required. Network name. If the network is not part of the organization, the `compute.network.get` permission must be granted to the caller. Format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NETWORK_NAME}` Example: `//compute.googleapis.com/projects/my-project/global/networks/network-1`", +"type": "string" +}, +"vpcIpSubnetworks": { +"description": "CIDR block IP subnetwork specification. The IP address must be an IPv4 address and can be a public or private IP address. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"IamPolicySearchResult": { +"description": "The result for an IAM policy search.", +"id": "IamPolicySearchResult", +"properties": { +"explanation": { +"$ref": "Explanation", +"description": "Explanation about the IAM policy search result. It contains additional information that explains why the search result matches the query." +}, +"policy": { +"$ref": "Policy", +"description": "The IAM policy attached to the specified resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constraint on policies (e.g. an empty query), this contains all the bindings." +}, +"project": { +"description": "The project that the associated Google Cloud resource belongs to, in the form of `projects/{project_number}`. If an IAM policy is set on a resource -- such as a Compute Engine instance or a Cloud Storage bucket -- the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty.", +"type": "string" +}, +"resource": { +"description": "The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the resource associated with this IAM policy.", +"type": "string" +} +}, +"type": "object" +}, +"Permissions": { +"description": "IAM permissions.", +"id": "Permissions", +"properties": { +"permissions": { +"description": "A list of permissions. Example permission string: \"compute.disk.get\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SearchAllIamPoliciesResponse": { +"description": "Search all IAM policies response.", +"id": "SearchAllIamPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "Set if there are more results than those appearing in this response; to get the next set of results, call this method again, using this value as the `page_token`.", +"type": "string" +}, +"results": { +"description": "A list of IAM policies that match the search query. Related information such as the associated resource is returned along with the policy.", +"items": { +"$ref": "IamPolicySearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchAllResourcesResponse": { +"description": "Search all resources response.", +"id": "SearchAllResourcesResponse", +"properties": { +"nextPageToken": { +"description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", +"type": "string" +}, +"results": { +"description": "A list of resource that match the search query.", +"items": { +"$ref": "StandardResourceMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"StandardResourceMetadata": { +"description": "The standard metadata of a cloud resource.", +"id": "StandardResourceMetadata", +"properties": { +"additionalAttributes": { +"description": "Additional searchable attributes of this resource. Informational only. The exact set of attributes is subject to change. For example: project id, DNS name etc.", +"items": { +"type": "string" +}, +"type": "array" +}, +"assetType": { +"description": "The type of this resource. For example: \"compute.googleapis.com/Disk\".", +"type": "string" +}, +"description": { +"description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes.", +"type": "string" +}, +"displayName": { +"description": "The display name of this resource.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this resource. See [Labelling and grouping Google Cloud resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information.", +"type": "object" +}, +"location": { +"description": "Location can be \"global\", regional like \"us-east1\", or zonal like \"us-west1-b\".", +"type": "string" +}, +"name": { +"description": "The full resource name. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"networkTags": { +"description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group Google Cloud resources. See [Labelling Google Cloud resources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"project": { +"description": "The project that this resource belongs to, in the form of `projects/{project_number}`.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Asset API", +"version": "v1p1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..d14c8b5bd06cd1d8a68668c0e428a591cd4f7c91 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json @@ -0,0 +1,1618 @@ +{ + "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." + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudasset.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Asset", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudasset:v1p4beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", + "name": "cloudasset", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "v1p4beta1": { + "methods": { + "analyzeIamPolicy": { + "description": "Analyzes IAM policies to answer which identities have what accesses on which resources.", + "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:analyzeIamPolicy", + "httpMethod": "GET", + "id": "cloudasset.analyzeIamPolicy", + "parameterOrder": [ + "parent" + ], + "parameters": { + "analysisQuery.accessSelector.permissions": { + "description": "Optional. The permissions to appear in result.", + "location": "query", + "repeated": true, + "type": "string" + }, + "analysisQuery.accessSelector.roles": { + "description": "Optional. The roles to appear in result.", + "location": "query", + "repeated": true, + "type": "string" + }, + "analysisQuery.identitySelector.identity": { + "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", + "location": "query", + "type": "string" + }, + "analysisQuery.resourceSelector.fullResourceName": { + "description": "Required. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).", + "location": "query", + "type": "string" + }, + "options.analyzeServiceAccountImpersonation": { + "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.ExportIamPolicyAnalysis rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.", + "location": "query", + "type": "boolean" + }, + "options.executionTimeout": { + "description": "Optional. Amount of time executable has to complete. See JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json). If this field is set with a value less than the RPC deadline, and the execution of your query hasn't finished in the specified execution timeout, you will get a response with partial result. Otherwise, your query's execution will continue until the RPC deadline. If it's not finished until then, you will get a DEADLINE_EXCEEDED error. Default is empty.", + "format": "google-duration", + "location": "query", + "type": "string" + }, + "options.expandGroups": { + "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If identity_selector is specified, the identity in the result will be determined by the selector, and this flag will have no effect. Default is false.", + "location": "query", + "type": "boolean" + }, + "options.expandResources": { + "description": "Optional. If true, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If resource_selector is specified, the resource section of the result will be determined by the selector, and this flag will have no effect. Default is false.", + "location": "query", + "type": "boolean" + }, + "options.expandRoles": { + "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If access_selector is specified, the access section of the result will be determined by the selector, and this flag will have no effect. Default is false.", + "location": "query", + "type": "boolean" + }, + "options.outputGroupEdges": { + "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.", + "location": "query", + "type": "boolean" + }, + "options.outputResourceEdges": { + "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p4beta1/{+parent}:analyzeIamPolicy", + "response": { + "$ref": "AnalyzeIamPolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportIamPolicyAnalysis": { + "description": "Exports the answers of which identities have what accesses on which resources to a Google Cloud Storage destination. The output format is the JSON format that represents a AnalyzeIamPolicyResponse in the JSON format. This method implements the google.longrunning.Operation, which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. The metadata contains the request to help callers to map responses to requests.", + "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:exportIamPolicyAnalysis", + "httpMethod": "POST", + "id": "cloudasset.exportIamPolicyAnalysis", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p4beta1/{+parent}:exportIamPolicyAnalysis", + "request": { + "$ref": "ExportIamPolicyAnalysisRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20220610", + "rootUrl": "https://cloudasset.googleapis.com/", + "schemas": { + "AccessSelector": { + "description": "Specifies roles and/or permissions to analyze, to determine both the identities possessing them and the resources they control. If multiple values are specified, results will include identities and resources matching any of them. The total number of roles and permissions should be equal or less than 10.", + "id": "AccessSelector", + "properties": { + "permissions": { + "description": "Optional. The permissions to appear in result.", + "items": { + "type": "string" + }, + "type": "array" + }, + "roles": { + "description": "Optional. The roles to appear in result.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AnalyzeIamPolicyLongrunningMetadata": { + "description": "Represents the metadata of the longrunning operation for the AnalyzeIamPolicyLongrunning rpc.", + "id": "AnalyzeIamPolicyLongrunningMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AnalyzeIamPolicyLongrunningResponse": { + "description": "A response message for AssetService.AnalyzeIamPolicyLongrunning.", + "id": "AnalyzeIamPolicyLongrunningResponse", + "properties": {}, + "type": "object" + }, + "AnalyzeIamPolicyResponse": { + "description": "A response message for AssetService.AnalyzeIamPolicy.", + "id": "AnalyzeIamPolicyResponse", + "properties": { + "fullyExplored": { + "description": "Represents whether all entries in the main_analysis and service_account_impersonation_analysis have been fully explored to answer the query in the request.", + "type": "boolean" + }, + "mainAnalysis": { + "$ref": "IamPolicyAnalysis", + "description": "The main analysis that matches the original request." + }, + "nonCriticalErrors": { + "description": "A list of non-critical errors happened during the request handling to explain why `fully_explored` is false, or empty if no error happened.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState" + }, + "type": "array" + }, + "serviceAccountImpersonationAnalysis": { + "description": "The service account impersonation analysis if AnalyzeIamPolicyRequest.analyze_service_account_impersonation is enabled.", + "items": { + "$ref": "IamPolicyAnalysis" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "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)." + }, + "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. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `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. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "ExportIamPolicyAnalysisRequest": { + "description": "A request message for AssetService.ExportIamPolicyAnalysis.", + "id": "ExportIamPolicyAnalysisRequest", + "properties": { + "analysisQuery": { + "$ref": "IamPolicyAnalysisQuery", + "description": "Required. The request query." + }, + "options": { + "$ref": "Options", + "description": "Optional. The request options." + }, + "outputConfig": { + "$ref": "IamPolicyAnalysisOutputConfig", + "description": "Required. Output configuration indicating where the results will be output to." + } + }, + "type": "object" + }, + "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() < 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.", + "id": "Expr", + "properties": { + "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" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "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" + }, + "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" + } + }, + "type": "object" + }, + "GcsDestination": { + "description": "A Cloud Storage location.", + "id": "GcsDestination", + "properties": { + "uri": { + "description": "Required. The uri of the Cloud Storage object. It's the same uri that is used by gsutil. For example: \"gs://bucket_name/object_name\". See [Quickstart: Using the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for examples.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Access": { + "description": "An IAM role or permission under analysis.", + "id": "GoogleCloudAssetV1p4beta1Access", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this access." + }, + "permission": { + "description": "The permission.", + "type": "string" + }, + "role": { + "description": "The role.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1AccessControlList": { + "description": "An access control list, derived from the above IAM policy binding, which contains a set of resources and accesses. May include one item from each set to compose an access control entry. NOTICE that there could be multiple access control lists for one IAM policy binding. The access control lists are created based on resource and access combinations. For example, assume we have the following cases in one IAM policy binding: - Permission P1 and P2 apply to resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will result in the following access control lists: - AccessControlList 1: [R1, R2], [P1, P2] - AccessControlList 2: [R2, R3], [P3]", + "id": "GoogleCloudAssetV1p4beta1AccessControlList", + "properties": { + "accesses": { + "description": "The accesses that match one of the following conditions: - The access_selector, if it is specified in request; - Otherwise, access specifiers reachable from the policy binding's role.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Access" + }, + "type": "array" + }, + "resourceEdges": { + "description": "Resource edges of the graph starting from the policy attached resource to any descendant resources. The Edge.source_node contains the full resource name of a parent resource and Edge.target_node contains the full resource name of a child resource. This field is present only if the output_resource_edges option is enabled in request.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Edge" + }, + "type": "array" + }, + "resources": { + "description": "The resources that match one of the following conditions: - The resource_selector, if it is specified in request; - Otherwise, resources reachable from the policy attached resource.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1AnalysisState": { + "description": "Represents the detailed state of an entity under analysis, such as a resource, an identity or an access.", + "id": "GoogleCloudAssetV1p4beta1AnalysisState", + "properties": { + "cause": { + "description": "The human-readable description of the cause of failure.", + "type": "string" + }, + "code": { + "description": "The Google standard error code that best describes the state. For example: - OK means the analysis on this entity has been successfully finished; - PERMISSION_DENIED means an access denied error is encountered; - DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in time;", + "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" + ], + "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" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Edge": { + "description": "A directional edge.", + "id": "GoogleCloudAssetV1p4beta1Edge", + "properties": { + "sourceNode": { + "description": "The source node of the edge.", + "type": "string" + }, + "targetNode": { + "description": "The target node of the edge.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Identity": { + "description": "An identity under analysis.", + "id": "GoogleCloudAssetV1p4beta1Identity", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this identity." + }, + "name": { + "description": "The identity name in any form of members appear in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com - projectOwner:some_project_id - domain:google.com - allUsers - etc.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1IdentityList": { + "id": "GoogleCloudAssetV1p4beta1IdentityList", + "properties": { + "groupEdges": { + "description": "Group identity edges of the graph starting from the binding's group members to any node of the identities. The Edge.source_node contains a group, such as \"group:parent@google.com\". The Edge.target_node contains a member of the group, such as \"group:child@google.com\" or \"user:foo@google.com\". This field is present only if the output_group_edges option is enabled in request.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Edge" + }, + "type": "array" + }, + "identities": { + "description": "Only the identities that match one of the following conditions will be presented: - The identity_selector, if it is specified in request; - Otherwise, identities reachable from the policy binding's members.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Identity" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Resource": { + "description": "A Google Cloud resource under analysis.", + "id": "GoogleCloudAssetV1p4beta1Resource", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this resource." + }, + "fullResourceName": { + "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format)", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p7beta1Asset": { + "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "id": "GoogleCloudAssetV1p7beta1Asset", + "properties": { + "accessLevel": { + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", + "description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." + }, + "accessPolicy": { + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", + "description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." + }, + "ancestors": { + "description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", + "items": { + "type": "string" + }, + "type": "array" + }, + "assetType": { + "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "type": "string" + }, + "iamPolicy": { + "$ref": "Policy", + "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." + }, + "name": { + "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", + "type": "string" + }, + "orgPolicy": { + "description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.", + "items": { + "$ref": "GoogleCloudOrgpolicyV1Policy" + }, + "type": "array" + }, + "relatedAssets": { + "$ref": "GoogleCloudAssetV1p7beta1RelatedAssets", + "description": "The related assets of the asset of one relationship type. One asset only represents one type of relationship." + }, + "resource": { + "$ref": "GoogleCloudAssetV1p7beta1Resource", + "description": "A representation of the resource." + }, + "servicePerimeter": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", + "description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)." + }, + "updateTime": { + "description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p7beta1RelatedAsset": { + "description": "An asset identify in Google Cloud which contains its name, type and ancestors. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "id": "GoogleCloudAssetV1p7beta1RelatedAsset", + "properties": { + "ancestors": { + "description": "The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", + "items": { + "type": "string" + }, + "type": "array" + }, + "asset": { + "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", + "type": "string" + }, + "assetType": { + "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p7beta1RelatedAssets": { + "description": "The detailed related assets with the `relationship_type`.", + "id": "GoogleCloudAssetV1p7beta1RelatedAssets", + "properties": { + "assets": { + "description": "The peer resources of the relationship.", + "items": { + "$ref": "GoogleCloudAssetV1p7beta1RelatedAsset" + }, + "type": "array" + }, + "relationshipAttributes": { + "$ref": "GoogleCloudAssetV1p7beta1RelationshipAttributes", + "description": "The detailed relation attributes." + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p7beta1RelationshipAttributes": { + "description": "The relationship attributes which include `type`, `source_resource_type`, `target_resource_type` and `action`.", + "id": "GoogleCloudAssetV1p7beta1RelationshipAttributes", + "properties": { + "action": { + "description": "The detail of the relationship, e.g. `contains`, `attaches`", + "type": "string" + }, + "sourceResourceType": { + "description": "The source asset type. Example: `compute.googleapis.com/Instance`", + "type": "string" + }, + "targetResourceType": { + "description": "The target asset type. Example: `compute.googleapis.com/Disk`", + "type": "string" + }, + "type": { + "description": "The unique identifier of the relationship type. Example: `INSTANCE_TO_INSTANCEGROUP`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p7beta1Resource": { + "description": "A representation of a Google Cloud resource.", + "id": "GoogleCloudAssetV1p7beta1Resource", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The content of the resource, in which some sensitive fields are removed and may not be present.", + "type": "object" + }, + "discoveryDocumentUri": { + "description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", + "type": "string" + }, + "discoveryName": { + "description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", + "type": "string" + }, + "location": { + "description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.", + "type": "string" + }, + "parent": { + "description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.", + "type": "string" + }, + "resourceUrl": { + "description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.", + "type": "string" + }, + "version": { + "description": "The API version. Example: `v1`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1BooleanPolicy": { + "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.", + "id": "GoogleCloudOrgpolicyV1BooleanPolicy", + "properties": { + "enforced": { + "description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1ListPolicy": { + "description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.", + "id": "GoogleCloudOrgpolicyV1ListPolicy", + "properties": { + "allValues": { + "description": "The policy all_values state.", + "enum": [ + "ALL_VALUES_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Indicates that allowed_values or denied_values must be set.", + "A policy with this set allows all values.", + "A policy with this set denies all values." + ], + "type": "string" + }, + "allowedValues": { + "description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "deniedValues": { + "description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "inheritFromParent": { + "description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.", + "type": "boolean" + }, + "suggestedValue": { + "description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1Policy": { + "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.", + "id": "GoogleCloudOrgpolicyV1Policy", + "properties": { + "booleanPolicy": { + "$ref": "GoogleCloudOrgpolicyV1BooleanPolicy", + "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." + }, + "constraint": { + "description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.", + "type": "string" + }, + "etag": { + "description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.", + "format": "byte", + "type": "string" + }, + "listPolicy": { + "$ref": "GoogleCloudOrgpolicyV1ListPolicy", + "description": "List of values either allowed or disallowed." + }, + "restoreDefault": { + "$ref": "GoogleCloudOrgpolicyV1RestoreDefault", + "description": "Restores the default behavior of the constraint; independent of `Constraint` type." + }, + "updateTime": { + "description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "Version of the `Policy`. Default version is 0;", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1RestoreDefault": { + "description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.", + "id": "GoogleCloudOrgpolicyV1RestoreDefault", + "properties": {}, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1AccessLevel": { + "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.", + "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel", + "properties": { + "basic": { + "$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel", + "description": "A `BasicLevel` composed of `Conditions`." + }, + "custom": { + "$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel", + "description": "A `CustomLevel` written in the Common Expression Language." + }, + "description": { + "description": "Description of the `AccessLevel` and its use. Does not affect behavior.", + "type": "string" + }, + "name": { + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", + "type": "string" + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1AccessPolicy": { + "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.", + "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", + "properties": { + "etag": { + "description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`", + "type": "string" + }, + "parent": { + "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`", + "type": "string" + }, + "scopes": { + "description": "The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Required. Human readable title. Does not affect behavior.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1ApiOperation": { + "description": "Identification for an API Operation.", + "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation", + "properties": { + "methodSelectors": { + "description": "API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1MethodSelector" + }, + "type": "array" + }, + "serviceName": { + "description": "The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1BasicLevel": { + "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", + "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel", + "properties": { + "combiningFunction": { + "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.", + "enum": [ + "AND", + "OR" + ], + "enumDescriptions": [ + "All `Conditions` must be true for the `BasicLevel` to be true.", + "If at least one `Condition` is true, then the `BasicLevel` is true." + ], + "type": "string" + }, + "conditions": { + "description": "Required. A list of requirements for the `AccessLevel` to be granted.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1Condition" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1Condition": { + "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.", + "id": "GoogleIdentityAccesscontextmanagerV1Condition", + "properties": { + "devicePolicy": { + "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", + "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed." + }, + "ipSubnetworks": { + "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "members": { + "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.", + "items": { + "type": "string" + }, + "type": "array" + }, + "negate": { + "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.", + "type": "boolean" + }, + "regions": { + "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredAccessLevels": { + "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1CustomLevel": { + "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec", + "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel", + "properties": { + "expr": { + "$ref": "Expr", + "description": "Required. A Cloud CEL expression evaluating to a boolean." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1DevicePolicy": { + "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.", + "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", + "properties": { + "allowedDeviceManagementLevels": { + "description": "Allowed device management levels, an empty list allows all management levels.", + "items": { + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "NONE", + "BASIC", + "COMPLETE" + ], + "enumDescriptions": [ + "The device's management level is not specified or not known.", + "The device is not managed.", + "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.", + "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform." + ], + "type": "string" + }, + "type": "array" + }, + "allowedEncryptionStatuses": { + "description": "Allowed encryptions statuses, an empty list allows all statuses.", + "items": { + "enum": [ + "ENCRYPTION_UNSPECIFIED", + "ENCRYPTION_UNSUPPORTED", + "UNENCRYPTED", + "ENCRYPTED" + ], + "enumDescriptions": [ + "The encryption status of the device is not specified or not known.", + "The device does not support encryption.", + "The device supports encryption, but is currently unencrypted.", + "The device is encrypted." + ], + "type": "string" + }, + "type": "array" + }, + "osConstraints": { + "description": "Allowed OS versions, an empty list allows all types and all versions.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint" + }, + "type": "array" + }, + "requireAdminApproval": { + "description": "Whether the device needs to be approved by the customer admin.", + "type": "boolean" + }, + "requireCorpOwned": { + "description": "Whether the device needs to be corp owned.", + "type": "boolean" + }, + "requireScreenlock": { + "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1EgressFrom": { + "description": "Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "id": "GoogleIdentityAccesscontextmanagerV1EgressFrom", + "properties": { + "identities": { + "description": "A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityType": { + "description": "Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", + "enum": [ + "IDENTITY_TYPE_UNSPECIFIED", + "ANY_IDENTITY", + "ANY_USER_ACCOUNT", + "ANY_SERVICE_ACCOUNT" + ], + "enumDescriptions": [ + "No blanket identity group specified.", + "Authorize access from all identities outside the perimeter.", + "Authorize access from all human users outside the perimeter.", + "Authorize access from all service accounts outside the perimeter." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1EgressPolicy": { + "description": "Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.", + "id": "GoogleIdentityAccesscontextmanagerV1EgressPolicy", + "properties": { + "egressFrom": { + "$ref": "GoogleIdentityAccesscontextmanagerV1EgressFrom", + "description": "Defines conditions on the source of a request causing this EgressPolicy to apply." + }, + "egressTo": { + "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", + "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1EgressTo": { + "description": "Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter.", + "id": "GoogleIdentityAccesscontextmanagerV1EgressTo", + "properties": { + "externalResources": { + "description": "A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "operations": { + "description": "A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" + }, + "type": "array" + }, + "resources": { + "description": "A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1IngressFrom": { + "description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match.", + "id": "GoogleIdentityAccesscontextmanagerV1IngressFrom", + "properties": { + "identities": { + "description": "A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityType": { + "description": "Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", + "enum": [ + "IDENTITY_TYPE_UNSPECIFIED", + "ANY_IDENTITY", + "ANY_USER_ACCOUNT", + "ANY_SERVICE_ACCOUNT" + ], + "enumDescriptions": [ + "No blanket identity group specified.", + "Authorize access from all identities outside the perimeter.", + "Authorize access from all human users outside the perimeter.", + "Authorize access from all service accounts outside the perimeter." + ], + "type": "string" + }, + "sources": { + "description": "Sources that this IngressPolicy authorizes access from.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1IngressSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1IngressPolicy": { + "description": "Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.", + "id": "GoogleIdentityAccesscontextmanagerV1IngressPolicy", + "properties": { + "ingressFrom": { + "$ref": "GoogleIdentityAccesscontextmanagerV1IngressFrom", + "description": "Defines the conditions on the source of a request causing this IngressPolicy to apply." + }, + "ingressTo": { + "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", + "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1IngressSource": { + "description": "The source that IngressPolicy authorizes access from.", + "id": "GoogleIdentityAccesscontextmanagerV1IngressSource", + "properties": { + "accessLevel": { + "description": "An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.", + "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1IngressTo": { + "description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match.", + "id": "GoogleIdentityAccesscontextmanagerV1IngressTo", + "properties": { + "operations": { + "description": "A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" + }, + "type": "array" + }, + "resources": { + "description": "A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1MethodSelector": { + "description": "An allowed method or permission of a service specified in ApiOperation.", + "id": "GoogleIdentityAccesscontextmanagerV1MethodSelector", + "properties": { + "method": { + "description": "Value for `method` should be a valid method name for the corresponding `service_name` in ApiOperation. If `*` used as value for `method`, then ALL methods and permissions are allowed.", + "type": "string" + }, + "permission": { + "description": "Value for `permission` should be a valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1OsConstraint": { + "description": "A restriction on the OS type and version of devices making requests.", + "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint", + "properties": { + "minimumVersion": { + "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.", + "type": "string" + }, + "osType": { + "description": "Required. The allowed OS type.", + "enum": [ + "OS_UNSPECIFIED", + "DESKTOP_MAC", + "DESKTOP_WINDOWS", + "DESKTOP_LINUX", + "DESKTOP_CHROME_OS", + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "The operating system of the device is not specified or not known.", + "A desktop Mac operating system.", + "A desktop Windows operating system.", + "A desktop Linux operating system.", + "A desktop ChromeOS operating system.", + "An Android operating system.", + "An iOS operating system." + ], + "type": "string" + }, + "requireVerifiedChromeOs": { + "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": { + "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.", + "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", + "properties": { + "description": { + "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", + "type": "string" + }, + "name": { + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", + "type": "string" + }, + "perimeterType": { + "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.", + "enum": [ + "PERIMETER_TYPE_REGULAR", + "PERIMETER_TYPE_BRIDGE" + ], + "enumDescriptions": [ + "Regular Perimeter.", + "Perimeter Bridge." + ], + "type": "string" + }, + "spec": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set." + }, + "status": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries." + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + }, + "useExplicitDryRunSpec": { + "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": { + "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.", + "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "properties": { + "accessLevels": { + "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "egressPolicies": { + "description": "List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1EgressPolicy" + }, + "type": "array" + }, + "ingressPolicies": { + "description": "List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1IngressPolicy" + }, + "type": "array" + }, + "resources": { + "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "restrictedServices": { + "description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcAccessibleServices": { + "$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", + "description": "Configuration for APIs allowed within Perimeter." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": { + "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", + "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", + "properties": { + "allowedServices": { + "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableRestriction": { + "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.", + "type": "boolean" + } + }, + "type": "object" + }, + "IamPolicyAnalysis": { + "description": "An analysis message to group the query and results.", + "id": "IamPolicyAnalysis", + "properties": { + "analysisQuery": { + "$ref": "IamPolicyAnalysisQuery", + "description": "The analysis query." + }, + "analysisResults": { + "description": "A list of IamPolicyAnalysisResult that matches the analysis query, or empty if no result is found.", + "items": { + "$ref": "IamPolicyAnalysisResult" + }, + "type": "array" + }, + "fullyExplored": { + "description": "Represents whether all entries in the analysis_results have been fully explored to answer the query.", + "type": "boolean" + } + }, + "type": "object" + }, + "IamPolicyAnalysisOutputConfig": { + "description": "Output configuration for export IAM policy analysis destination.", + "id": "IamPolicyAnalysisOutputConfig", + "properties": { + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Destination on Cloud Storage." + } + }, + "type": "object" + }, + "IamPolicyAnalysisQuery": { + "description": "IAM policy analysis query message.", + "id": "IamPolicyAnalysisQuery", + "properties": { + "accessSelector": { + "$ref": "AccessSelector", + "description": "Optional. Specifies roles or permissions for analysis. This is optional." + }, + "identitySelector": { + "$ref": "IdentitySelector", + "description": "Optional. Specifies an identity for analysis." + }, + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "type": "string" + }, + "resourceSelector": { + "$ref": "ResourceSelector", + "description": "Optional. Specifies a resource for analysis." + } + }, + "type": "object" + }, + "IamPolicyAnalysisResult": { + "description": "IAM Policy analysis result, consisting of one IAM policy binding and derived access control lists.", + "id": "IamPolicyAnalysisResult", + "properties": { + "accessControlLists": { + "description": "The access control lists derived from the iam_binding that match or potentially match resource and access selectors specified in the request.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1AccessControlList" + }, + "type": "array" + }, + "attachedResourceFullName": { + "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource to which the iam_binding policy attaches.", + "type": "string" + }, + "fullyExplored": { + "description": "Represents whether all analyses on the iam_binding have successfully finished.", + "type": "boolean" + }, + "iamBinding": { + "$ref": "Binding", + "description": "The Cloud IAM policy binding under analysis." + }, + "identityList": { + "$ref": "GoogleCloudAssetV1p4beta1IdentityList", + "description": "The identity list derived from members of the iam_binding that match or potentially match identity selector specified in the request." + } + }, + "type": "object" + }, + "IdentitySelector": { + "description": "Specifies an identity for which to determine resource access, based on roles assigned either directly to them or to the groups they belong to, directly or indirectly.", + "id": "IdentitySelector", + "properties": { + "identity": { + "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "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": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "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" + }, + "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" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. 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" + } + }, + "type": "object" + }, + "Options": { + "description": "Contains request options.", + "id": "Options", + "properties": { + "analyzeServiceAccountImpersonation": { + "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.", + "type": "boolean" + }, + "expandGroups": { + "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If identity_selector is specified, the identity in the result will be determined by the selector, and this flag will have no effect. Default is false.", + "type": "boolean" + }, + "expandResources": { + "description": "Optional. If true, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If resource_selector is specified, the resource section of the result will be determined by the selector, and this flag will have no effect. Default is false.", + "type": "boolean" + }, + "expandRoles": { + "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If access_selector is specified, the access section of the result will be determined by the selector, and this flag will have no effect. Default is false.", + "type": "boolean" + }, + "outputGroupEdges": { + "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.", + "type": "boolean" + }, + "outputResourceEdges": { + "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "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 < 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 < 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", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "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`.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "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.", + "format": "byte", + "type": "string" + }, + "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).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResourceSelector": { + "description": "Specifies the resource to analyze for access policies, which may be set directly on the resource, or on ancestors such as organizations, folders or projects.", + "id": "ResourceSelector", + "properties": { + "fullResourceName": { + "description": "Required. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).", + "type": "string" + } + }, + "type": "object" + }, + "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).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "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" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Asset API", + "version": "v1p4beta1", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..58959ceae92aa1bc9c72deb41d77c5fb17d00eb9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1.json @@ -0,0 +1,1337 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-billing": { +"description": "View and manage your Google Cloud Platform billing accounts" +}, +"https://www.googleapis.com/auth/cloud-billing.readonly": { +"description": "View your Google Cloud Platform billing accounts" +}, +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudbilling.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloudbilling", +"description": "Allows developers to manage billing for their Google Cloud Platform projects programmatically.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/billing/docs/apis", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudbilling:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudbilling.mtls.googleapis.com/", +"name": "cloudbilling", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"billingAccounts": { +"methods": { +"create": { +"description": "This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.", +"flatPath": "v1/billingAccounts", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.create", +"parameterOrder": [], +"parameters": { +"parent": { +"description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "query", +"type": "string" +} +}, +"path": "v1/billingAccounts", +"request": { +"$ref": "BillingAccount" +}, +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a billing account. The current authenticated user must be a [viewer of the billing account](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts/{billingAccountsId}", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the billing account to retrieve. For example, `billingAccounts/012345-567890-ABCDEF`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a billing account. The caller must have the `billing.accounts.getIamPolicy` permission on the account, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts/{billingAccountsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The maximum page size is 100; this is also the default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "query", +"type": "string" +} +}, +"path": "v1/billingAccounts", +"response": { +"$ref": "ListBillingAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"move": { +"description": "Changes which parent organization a billing account belongs to.", +"flatPath": "v1/billingAccounts/{billingAccountsId}:move", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.move", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:move", +"request": { +"$ref": "MoveBillingAccountRequest" +}, +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a billing account's fields. Currently the only field that can be edited is `display_name`. The current authenticated user must have the `billing.accounts.update` IAM permission, which is typically given to the [administrator](https://cloud.google.com/billing/docs/how-to/billing-access) of the billing account.", +"flatPath": "v1/billingAccounts/{billingAccountsId}", +"httpMethod": "PATCH", +"id": "cloudbilling.billingAccounts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the billing account resource to be updated.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applied to the resource. Only \"display_name\" is currently supported.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "BillingAccount" +}, +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy for a billing account. Replaces any existing policy. The caller must have the `billing.accounts.setIamPolicy` permission on the account, which is often given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts/{billingAccountsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource.", +"flatPath": "v1/billingAccounts/{billingAccountsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.testIamPermissions", +"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.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"projects": { +"methods": { +"list": { +"description": "Lists the projects associated with a billing account. The current authenticated user must have the `billing.resourceAssociations.list` IAM permission, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts/{billingAccountsId}/projects", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.projects.list", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the billing account associated with the projects that you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The maximum page size is 100; this is also the default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous `ListProjectBillingInfo` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/projects", +"response": { +"$ref": "ListProjectBillingInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"subAccounts": { +"methods": { +"create": { +"description": "This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.", +"flatPath": "v1/billingAccounts/{billingAccountsId}/subAccounts", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.subAccounts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/subAccounts", +"request": { +"$ref": "BillingAccount" +}, +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/billingAccounts/{billingAccountsId}/subAccounts", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.subAccounts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The maximum page size is 100; this is also the default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/subAccounts", +"response": { +"$ref": "ListBillingAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"organizations": { +"resources": { +"billingAccounts": { +"methods": { +"create": { +"description": "This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.", +"flatPath": "v1/organizations/{organizationsId}/billingAccounts", +"httpMethod": "POST", +"id": "cloudbilling.organizations.billingAccounts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/billingAccounts", +"request": { +"$ref": "BillingAccount" +}, +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access).", +"flatPath": "v1/organizations/{organizationsId}/billingAccounts", +"httpMethod": "GET", +"id": "cloudbilling.organizations.billingAccounts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The maximum page size is 100; this is also the default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/billingAccounts", +"response": { +"$ref": "ListBillingAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"move": { +"description": "Changes which parent organization a billing account belongs to.", +"flatPath": "v1/organizations/{organizationsId}/billingAccounts/{billingAccountsId}:move", +"httpMethod": "GET", +"id": "cloudbilling.organizations.billingAccounts.move", +"parameterOrder": [ +"destinationParent", +"name" +], +"parameters": { +"destinationParent": { +"description": "Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id}`.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"name": { +"description": "Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+destinationParent}/{+name}:move", +"response": { +"$ref": "BillingAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"projects": { +"methods": { +"getBillingInfo": { +"description": "Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role.", +"flatPath": "v1/projects/{projectsId}/billingInfo", +"httpMethod": "GET", +"id": "cloudbilling.projects.getBillingInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/billingInfo", +"response": { +"$ref": "ProjectBillingInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateBillingInfo": { +"description": "Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account.", +"flatPath": "v1/projects/{projectsId}/billingInfo", +"httpMethod": "PUT", +"id": "cloudbilling.projects.updateBillingInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/billingInfo", +"request": { +"$ref": "ProjectBillingInfo" +}, +"response": { +"$ref": "ProjectBillingInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"services": { +"methods": { +"list": { +"description": "Lists all public cloud services.", +"flatPath": "v1/services", +"httpMethod": "GET", +"id": "cloudbilling.services.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Requested page size. Defaults to 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"skus": { +"methods": { +"list": { +"description": "Lists all publicly available SKUs for a given cloud service.", +"flatPath": "v1/services/{servicesId}/skus", +"httpMethod": "GET", +"id": "cloudbilling.services.skus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"currencyCode": { +"description": "The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used.", +"location": "query", +"type": "string" +}, +"endTime": { +"description": "Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most).", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Defaults to 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the service. Example: \"services/6F81-5844-456A\"", +"location": "path", +"pattern": "^services/[^/]+$", +"required": true, +"type": "string" +}, +"startTime": { +"description": "Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most).", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/skus", +"response": { +"$ref": "ListSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20241011", +"rootUrl": "https://cloudbilling.googleapis.com/", +"schemas": { +"AggregationInfo": { +"description": "Represents the aggregation level and interval for pricing of a single SKU.", +"id": "AggregationInfo", +"properties": { +"aggregationCount": { +"description": "The number of intervals to aggregate over. Example: If aggregation_level is \"DAILY\" and aggregation_count is 14, aggregation will be over 14 days.", +"format": "int32", +"type": "integer" +}, +"aggregationInterval": { +"enum": [ +"AGGREGATION_INTERVAL_UNSPECIFIED", +"DAILY", +"MONTHLY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"aggregationLevel": { +"enum": [ +"AGGREGATION_LEVEL_UNSPECIFIED", +"ACCOUNT", +"PROJECT" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"BillingAccount": { +"description": "A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.", +"id": "BillingAccount", +"properties": { +"currencyCode": { +"description": "Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code such as `USD`. Billing account currency is determined at the time of billing account creation and cannot be updated subsequently, so this field should not be set on update requests. In addition, a subaccount always matches the currency of its parent billing account, so this field should not be set on subaccount creation requests. Clients can read this field to determine the currency of an existing billing account.", +"type": "string" +}, +"displayName": { +"description": "The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console.", +"type": "string" +}, +"masterBillingAccount": { +"description": "If this account is a [subaccount](https://cloud.google.com/billing/docs/concepts), then this will be the resource name of the parent billing account that it is being resold through. Otherwise this will be empty.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`.", +"readOnly": true, +"type": "string" +}, +"open": { +"description": "Output only. True if the billing account is open, and will therefore be charged for any usage on associated projects. False if the billing account is closed, and therefore projects associated with it are unable to use paid services.", +"readOnly": true, +"type": "boolean" +}, +"parent": { +"description": "Output only. The billing account's parent resource identifier. Use the `MoveBillingAccount` method to update the account's parent resource if it is a organization. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Category": { +"description": "Represents the category hierarchy of a SKU.", +"id": "Category", +"properties": { +"resourceFamily": { +"description": "The type of product the SKU refers to. Example: \"Compute\", \"Storage\", \"Network\", \"ApplicationServices\" etc.", +"type": "string" +}, +"resourceGroup": { +"description": "A group classification for related SKUs. Example: \"RAM\", \"GPU\", \"Prediction\", \"Ops\", \"GoogleEgress\" etc.", +"type": "string" +}, +"serviceDisplayName": { +"description": "The display name of the service this SKU belongs to.", +"type": "string" +}, +"usageType": { +"description": "Represents how the SKU is consumed. Example: \"OnDemand\", \"Preemptible\", \"Commit1Mo\", \"Commit1Yr\" etc.", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GeoTaxonomy": { +"description": "Encapsulates the geographic taxonomy data for a sku.", +"id": "GeoTaxonomy", +"properties": { +"regions": { +"description": "The list of regions associated with a sku. Empty for Global skus, which are associated with all Google Cloud regions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.", +"enum": [ +"TYPE_UNSPECIFIED", +"GLOBAL", +"REGIONAL", +"MULTI_REGIONAL" +], +"enumDescriptions": [ +"The type is not specified.", +"The sku is global in nature, e.g. a license sku. Global skus are available in all regions, and so have an empty region list.", +"The sku is available in a specific region, e.g. \"us-west2\".", +"The sku is associated with multiple regions, e.g. \"us-west2\" and \"us-east1\"." +], +"type": "string" +} +}, +"type": "object" +}, +"ListBillingAccountsResponse": { +"description": "Response message for `ListBillingAccounts`.", +"id": "ListBillingAccountsResponse", +"properties": { +"billingAccounts": { +"description": "A list of billing accounts.", +"items": { +"$ref": "BillingAccount" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. To retrieve the next page, call `ListBillingAccounts` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve.", +"type": "string" +} +}, +"type": "object" +}, +"ListProjectBillingInfoResponse": { +"description": "Request message for `ListProjectBillingInfoResponse`.", +"id": "ListProjectBillingInfoResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. To retrieve the next page, call `ListProjectBillingInfo` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve.", +"type": "string" +}, +"projectBillingInfo": { +"description": "A list of `ProjectBillingInfo` resources representing the projects associated with the billing account.", +"items": { +"$ref": "ProjectBillingInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Response message for `ListServices`.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. To retrieve the next page, call `ListServices` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve.", +"type": "string" +}, +"services": { +"description": "A list of services.", +"items": { +"$ref": "Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSkusResponse": { +"description": "Response message for `ListSkus`.", +"id": "ListSkusResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. To retrieve the next page, call `ListSkus` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve.", +"type": "string" +}, +"skus": { +"description": "The list of public SKUs of the given service.", +"items": { +"$ref": "Sku" +}, +"type": "array" +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MoveBillingAccountRequest": { +"description": "Request message for `MoveBillingAccount` RPC.", +"id": "MoveBillingAccountRequest", +"properties": { +"destinationParent": { +"description": "Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PricingExpression": { +"description": "Expresses a mathematical pricing formula. For Example:- `usage_unit: GBy` `tiered_rates:` `[start_usage_amount: 20, unit_price: $10]` `[start_usage_amount: 100, unit_price: $5]` The above expresses a pricing formula where the first 20GB is free, the next 80GB is priced at $10 per GB followed by $5 per GB for additional usage.", +"id": "PricingExpression", +"properties": { +"baseUnit": { +"description": "The base unit for the SKU which is the unit used in usage exports. Example: \"By\"", +"type": "string" +}, +"baseUnitConversionFactor": { +"description": "Conversion factor for converting from price per usage_unit to price per base_unit, and start_usage_amount to start_usage_amount in base_unit. unit_price / base_unit_conversion_factor = price per base_unit. start_usage_amount * base_unit_conversion_factor = start_usage_amount in base_unit.", +"format": "double", +"type": "number" +}, +"baseUnitDescription": { +"description": "The base unit in human readable form. Example: \"byte\".", +"type": "string" +}, +"displayQuantity": { +"description": "The recommended quantity of units for displaying pricing info. When displaying pricing info it is recommended to display: (unit_price * display_quantity) per display_quantity usage_unit. This field does not affect the pricing formula and is for display purposes only. Example: If the unit_price is \"0.0001 USD\", the usage_unit is \"GB\" and the display_quantity is \"1000\" then the recommended way of displaying the pricing info is \"0.10 USD per 1000 GB\"", +"format": "double", +"type": "number" +}, +"tieredRates": { +"description": "The list of tiered rates for this pricing. The total cost is computed by applying each of the tiered rates on usage. This repeated list is sorted by ascending order of start_usage_amount.", +"items": { +"$ref": "TierRate" +}, +"type": "array" +}, +"usageUnit": { +"description": "The short hand for unit of usage this pricing is specified in. Example: usage_unit of \"GiBy\" means that usage is specified in \"Gibi Byte\".", +"type": "string" +}, +"usageUnitDescription": { +"description": "The unit of usage in human readable form. Example: \"gibi byte\".", +"type": "string" +} +}, +"type": "object" +}, +"PricingInfo": { +"description": "Represents the pricing information for a SKU at a single point of time.", +"id": "PricingInfo", +"properties": { +"aggregationInfo": { +"$ref": "AggregationInfo", +"description": "Aggregation Info. This can be left unspecified if the pricing expression doesn't require aggregation." +}, +"currencyConversionRate": { +"description": "Conversion rate used for currency conversion, from USD to the currency specified in the request. This includes any surcharge collected for billing in non USD currency. If a currency is not specified in the request this defaults to 1.0. Example: USD * currency_conversion_rate = JPY", +"format": "double", +"type": "number" +}, +"effectiveTime": { +"description": "The timestamp from which this pricing was effective within the requested time range. This is guaranteed to be greater than or equal to the start_time field in the request and less than the end_time field in the request. If a time range was not specified in the request this field will be equivalent to a time within the last 12 hours, indicating the latest pricing info.", +"format": "google-datetime", +"type": "string" +}, +"pricingExpression": { +"$ref": "PricingExpression", +"description": "Expresses the pricing formula. See `PricingExpression` for an example." +}, +"summary": { +"description": "An optional human readable summary of the pricing information, has a maximum length of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"ProjectBillingInfo": { +"description": "Encapsulation of billing information for a Google Cloud Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).", +"id": "ProjectBillingInfo", +"properties": { +"billingAccountName": { +"description": "The resource name of the billing account associated with the project, if any. For example, `billingAccounts/012345-567890-ABCDEF`.", +"type": "string" +}, +"billingEnabled": { +"description": "Output only. True if the project is associated with an open billing account, to which usage on the project is charged. False if the project is associated with a closed billing account, or no billing account at all, and therefore cannot use paid services.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`.", +"readOnly": true, +"type": "string" +}, +"projectId": { +"description": "Output only. The ID of the project that this `ProjectBillingInfo` represents, such as `tokyo-rain-123`. This is a convenience field so that you don't need to parse the `name` field to obtain a project ID.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "Encapsulates a single service in Google Cloud Platform.", +"id": "Service", +"properties": { +"businessEntityName": { +"description": "The business under which the service is offered. Ex. \"businessEntities/GCP\", \"businessEntities/Maps\"", +"type": "string" +}, +"displayName": { +"description": "A human readable display name for this service.", +"type": "string" +}, +"name": { +"description": "The resource name for the service. Example: \"services/6F81-5844-456A\"", +"type": "string" +}, +"serviceId": { +"description": "The identifier for the service. Example: \"6F81-5844-456A\"", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"Sku": { +"description": "Encapsulates a single SKU in Google Cloud", +"id": "Sku", +"properties": { +"category": { +"$ref": "Category", +"description": "The category hierarchy of this SKU, purely for organizational purpose." +}, +"description": { +"description": "A human readable description of the SKU, has a maximum length of 256 characters.", +"type": "string" +}, +"geoTaxonomy": { +"$ref": "GeoTaxonomy", +"description": "The geographic taxonomy for this sku." +}, +"name": { +"description": "The resource name for the SKU. Example: \"services/6F81-5844-456A/skus/D041-B8A1-6E0B\"", +"type": "string" +}, +"pricingInfo": { +"description": "A timeline of pricing info for this SKU in chronological order.", +"items": { +"$ref": "PricingInfo" +}, +"type": "array" +}, +"serviceProviderName": { +"description": "Identifies the service provider. This is 'Google' for first party services in Google Cloud Platform.", +"type": "string" +}, +"serviceRegions": { +"description": "List of service regions this SKU is offered at. Example: \"asia-east1\" Service regions can be found at https://cloud.google.com/about/locations/", +"items": { +"type": "string" +}, +"type": "array" +}, +"skuId": { +"description": "The identifier for the SKU. Example: \"D041-B8A1-6E0B\"", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TierRate": { +"description": "The price rate indicating starting usage and its corresponding price.", +"id": "TierRate", +"properties": { +"startUsageAmount": { +"description": "Usage is priced at this rate only after this amount. Example: start_usage_amount of 10 indicates that the usage will be priced at the unit_price after the first 10 usage_units.", +"format": "double", +"type": "number" +}, +"unitPrice": { +"$ref": "Money", +"description": "The price per unit of usage. Example: unit_price of amount $10 indicates that each unit will cost $10." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Billing API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..7f3598d0b84948fed45533aff69fdef8cdcd1b92 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json @@ -0,0 +1,2432 @@ +{ + "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." + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudbuild.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Build", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudbuild:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudbuild.mtls.googleapis.com/", + "name": "cloudbuild", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "operations": { + "methods": { + "cancel": { + "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`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "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.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "workerPools": { + "methods": { + "create": { + "description": "Creates a `WorkerPool` to run the builds, and returns the new worker pool. NOTE: As of now, this method returns an `Operation` that is always complete.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.workerPools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this worker pool will be created. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "workerPoolId": { + "description": "Required. Immutable. The ID to use for the `WorkerPool`, which will become the final component of the resource name. This value should be 1-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/workerPools", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `WorkerPool`. NOTE: As of now, this method returns an `Operation` that is always complete.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.locations.workerPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. If this is provided, it must match the server's etag on the workerpool for the request to be processed.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the `WorkerPool` to delete. Format: `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details of a `WorkerPool`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.workerPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `WorkerPool` to retrieve. Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WorkerPool`s in the given project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.workerPools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the collection of `WorkerPools`. Format: `projects/{project}/locations/location`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/workerPools", + "response": { + "$ref": "ListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a `WorkerPool`. NOTE: As of now, this method returns an `Operation` that is always complete.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.locations.workerPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A mask specifying which fields in `WorkerPool` to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20230102", + "rootUrl": "https://cloudbuild.googleapis.com/", + "schemas": { + "ApprovalConfig": { + "description": "ApprovalConfig describes configuration for manual approval of a build.", + "id": "ApprovalConfig", + "properties": { + "approvalRequired": { + "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.", + "type": "boolean" + } + }, + "type": "object" + }, + "ApprovalResult": { + "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", + "id": "ApprovalResult", + "properties": { + "approvalTime": { + "description": "Output only. The time when the approval decision was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "approverAccount": { + "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called.", + "readOnly": true, + "type": "string" + }, + "comment": { + "description": "Optional. An optional comment for this manual approval result.", + "type": "string" + }, + "decision": { + "description": "Required. The decision of this manual approval.", + "enum": [ + "DECISION_UNSPECIFIED", + "APPROVED", + "REJECTED" + ], + "enumDescriptions": [ + "Default enum type. This should not be used.", + "Build is approved.", + "Build is rejected." + ], + "type": "string" + }, + "url": { + "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.", + "type": "string" + } + }, + "type": "object" + }, + "ArtifactObjects": { + "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", + "id": "ArtifactObjects", + "properties": { + "location": { + "description": "Cloud Storage bucket and optional object path, in the form \"gs://bucket/path/to/somewhere/\". (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.", + "type": "string" + }, + "paths": { + "description": "Path globs used to match files in the build's workspace.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timing": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing all artifact objects.", + "readOnly": true + } + }, + "type": "object" + }, + "ArtifactResult": { + "description": "An artifact that was uploaded during a build. This is a single record in the artifact manifest JSON file.", + "id": "ArtifactResult", + "properties": { + "fileHash": { + "description": "The file hash of the artifact.", + "items": { + "$ref": "FileHashes" + }, + "type": "array" + }, + "location": { + "description": "The path of an artifact in a Google Cloud Storage bucket, with the generation number. For example, `gs://mybucket/path/to/output.jar#generation`.", + "type": "string" + } + }, + "type": "object" + }, + "Artifacts": { + "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", + "id": "Artifacts", + "properties": { + "images": { + "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mavenArtifacts": { + "description": "A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "MavenArtifact" + }, + "type": "array" + }, + "objects": { + "$ref": "ArtifactObjects", + "description": "A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the specified Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE." + }, + "pythonPackages": { + "description": "A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "PythonPackage" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateBitbucketServerConnectedRepositoriesResponse": { + "description": "Response of BatchCreateBitbucketServerConnectedRepositories RPC method including all successfully connected Bitbucket Server repositories.", + "id": "BatchCreateBitbucketServerConnectedRepositoriesResponse", + "properties": { + "bitbucketServerConnectedRepositories": { + "description": "The connected Bitbucket Server repositories.", + "items": { + "$ref": "BitbucketServerConnectedRepository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata": { + "description": "Metadata for `BatchCreateBitbucketServerConnectedRepositories` operation.", + "id": "BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "config": { + "description": "The name of the `BitbucketServerConfig` that added connected repositories. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BatchCreateGitLabConnectedRepositoriesResponse": { + "description": "Response of BatchCreateGitLabConnectedRepositories RPC method.", + "id": "BatchCreateGitLabConnectedRepositoriesResponse", + "properties": { + "gitlabConnectedRepositories": { + "description": "The GitLab connected repository requests' responses.", + "items": { + "$ref": "GitLabConnectedRepository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateGitLabConnectedRepositoriesResponseMetadata": { + "description": "Metadata for `BatchCreateGitLabConnectedRepositories` operation.", + "id": "BatchCreateGitLabConnectedRepositoriesResponseMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "config": { + "description": "The name of the `GitLabConfig` that added connected repositories. Format: `projects/{project}/locations/{location}/gitLabConfigs/{config}`", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BatchCreateRepositoriesResponse": { + "description": "Message for response of creating repositories in batch.", + "id": "BatchCreateRepositoriesResponse", + "properties": { + "repositories": { + "description": "Repository resources created.", + "items": { + "$ref": "Repository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BitbucketServerConnectedRepository": { + "description": "/ BitbucketServerConnectedRepository represents a connected Bitbucket Server / repository.", + "id": "BitbucketServerConnectedRepository", + "properties": { + "parent": { + "description": "The name of the `BitbucketServerConfig` that added connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "type": "string" + }, + "repo": { + "$ref": "BitbucketServerRepositoryId", + "description": "The Bitbucket Server repositories to connect." + }, + "status": { + "$ref": "Status", + "description": "Output only. The status of the repo connection request.", + "readOnly": true + } + }, + "type": "object" + }, + "BitbucketServerRepositoryId": { + "description": "BitbucketServerRepositoryId identifies a specific repository hosted on a Bitbucket Server.", + "id": "BitbucketServerRepositoryId", + "properties": { + "projectKey": { + "description": "Required. Identifier for the project storing the repository.", + "type": "string" + }, + "repoSlug": { + "description": "Required. Identifier for the repository.", + "type": "string" + }, + "webhookId": { + "description": "Output only. The ID of the webhook that was created for receiving events from this repo. We only create and manage a single webhook for each repo.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "Build": { + "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.", + "id": "Build", + "properties": { + "approval": { + "$ref": "BuildApproval", + "description": "Output only. Describes this build's approval configuration, status, and result.", + "readOnly": true + }, + "artifacts": { + "$ref": "Artifacts", + "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." + }, + "availableSecrets": { + "$ref": "Secrets", + "description": "Secrets and secret environment variables." + }, + "buildTriggerId": { + "description": "Output only. The ID of the `BuildTrigger` that triggered this build, if it was triggered automatically.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Time at which the request to create the build was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "failureInfo": { + "$ref": "FailureInfo", + "description": "Output only. Contains information about the build when status=FAILURE.", + "readOnly": true + }, + "finishTime": { + "description": "Output only. Time at which execution of the build was finished. The difference between finish_time and start_time is the duration of the build's execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Unique identifier of the build.", + "readOnly": true, + "type": "string" + }, + "images": { + "description": "A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the `Build` resource's results field. If any of the images fail to be pushed, the build status is marked `FAILURE`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logUrl": { + "description": "Output only. URL to logs for this build in Google Cloud Console.", + "readOnly": true, + "type": "string" + }, + "logsBucket": { + "description": "Google Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.", + "type": "string" + }, + "name": { + "description": "Output only. The 'Build' name with format: `projects/{project}/locations/{location}/builds/{build}`, where {build} is a unique identifier generated by the service.", + "readOnly": true, + "type": "string" + }, + "options": { + "$ref": "BuildOptions", + "description": "Special options for this build." + }, + "projectId": { + "description": "Output only. ID of the project.", + "readOnly": true, + "type": "string" + }, + "queueTtl": { + "description": "TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be `EXPIRED`. The TTL starts ticking from create_time.", + "format": "google-duration", + "type": "string" + }, + "results": { + "$ref": "Results", + "description": "Output only. Results of the build.", + "readOnly": true + }, + "secrets": { + "description": "Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets", + "items": { + "$ref": "Secret" + }, + "type": "array" + }, + "serviceAccount": { + "description": "IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. ", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The location of the source files to build." + }, + "sourceProvenance": { + "$ref": "SourceProvenance", + "description": "Output only. A permanent fixed identifier for source.", + "readOnly": true + }, + "startTime": { + "description": "Output only. Time at which execution of the build was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Status of the build.", + "enum": [ + "STATUS_UNKNOWN", + "PENDING", + "QUEUED", + "WORKING", + "SUCCESS", + "FAILURE", + "INTERNAL_ERROR", + "TIMEOUT", + "CANCELLED", + "EXPIRED" + ], + "enumDescriptions": [ + "Status of the build is unknown.", + "Build has been created and is pending execution and queuing. It has not been queued.", + "Build or step is queued; work has not yet begun.", + "Build or step is being executed.", + "Build or step finished successfully.", + "Build or step failed to complete successfully.", + "Build or step failed due to an internal cause.", + "Build or step took longer than was allowed.", + "Build or step was canceled by a user.", + "Build was enqueued for longer than the value of `queue_ttl`." + ], + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Customer-readable message about the current status.", + "readOnly": true, + "type": "string" + }, + "steps": { + "description": "Required. The operations to be performed on the workspace.", + "items": { + "$ref": "BuildStep" + }, + "type": "array" + }, + "substitutions": { + "additionalProperties": { + "type": "string" + }, + "description": "Substitutions data for `Build` resource.", + "type": "object" + }, + "tags": { + "description": "Tags for annotation of a `Build`. These are not docker tags.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeout": { + "description": "Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is ten minutes.", + "format": "google-duration", + "type": "string" + }, + "timing": { + "additionalProperties": { + "$ref": "TimeSpan" + }, + "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included.", + "readOnly": true, + "type": "object" + }, + "warnings": { + "description": "Output only. Non-fatal problems encountered during the execution of the build.", + "items": { + "$ref": "Warning" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BuildApproval": { + "description": "BuildApproval describes a build's approval configuration, state, and result.", + "id": "BuildApproval", + "properties": { + "config": { + "$ref": "ApprovalConfig", + "description": "Output only. Configuration for manual approval of this build.", + "readOnly": true + }, + "result": { + "$ref": "ApprovalResult", + "description": "Output only. Result of manual approval for this Build.", + "readOnly": true + }, + "state": { + "description": "Output only. The state of this build's approval.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "APPROVED", + "REJECTED", + "CANCELLED" + ], + "enumDescriptions": [ + "Default enum type. This should not be used.", + "Build approval is pending.", + "Build approval has been approved.", + "Build approval has been rejected.", + "Build was cancelled while it was still pending approval." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BuildOperationMetadata": { + "description": "Metadata for build operations.", + "id": "BuildOperationMetadata", + "properties": { + "build": { + "$ref": "Build", + "description": "The build that the operation is tracking." + } + }, + "type": "object" + }, + "BuildOptions": { + "description": "Optional arguments to enable specific features of builds.", + "id": "BuildOptions", + "properties": { + "diskSizeGb": { + "description": "Requested disk size for the VM that runs the build. Note that this is *NOT* \"disk free\"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 2000GB; builds that request more than the maximum are rejected with an error.", + "format": "int64", + "type": "string" + }, + "dynamicSubstitutions": { + "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", + "type": "boolean" + }, + "env": { + "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "logStreamingOption": { + "description": "Option to define build log streaming behavior to Google Cloud Storage.", + "enum": [ + "STREAM_DEFAULT", + "STREAM_ON", + "STREAM_OFF" + ], + "enumDescriptions": [ + "Service may automatically determine build log streaming behavior.", + "Build logs should be streamed to Google Cloud Storage.", + "Build logs should not be streamed to Google Cloud Storage; they will be written when the build is completed." + ], + "type": "string" + }, + "logging": { + "description": "Option to specify the logging mode, which determines if and where build logs are stored.", + "enum": [ + "LOGGING_UNSPECIFIED", + "LEGACY", + "GCS_ONLY", + "STACKDRIVER_ONLY", + "CLOUD_LOGGING_ONLY", + "NONE" + ], + "enumDescriptions": [ + "The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", + "Build logs are stored in Cloud Logging and Cloud Storage.", + "Build logs are stored in Cloud Storage.", + "This option is the same as CLOUD_LOGGING_ONLY.", + "Build logs are stored in Cloud Logging. Selecting this option will not allow [logs streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).", + "Turn off all logging. No build logs will be captured." + ], + "type": "string" + }, + "machineType": { + "description": "Compute Engine machine type on which to run the build.", + "enum": [ + "UNSPECIFIED", + "N1_HIGHCPU_8", + "N1_HIGHCPU_32", + "E2_HIGHCPU_8", + "E2_HIGHCPU_32" + ], + "enumDescriptions": [ + "Standard machine type.", + "Highcpu machine with 8 CPUs.", + "Highcpu machine with 32 CPUs.", + "Highcpu e2 machine with 8 CPUs.", + "Highcpu e2 machine with 32 CPUs." + ], + "type": "string" + }, + "pool": { + "$ref": "PoolOption", + "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." + }, + "requestedVerifyOption": { + "description": "Requested verifiability options.", + "enum": [ + "NOT_VERIFIED", + "VERIFIED" + ], + "enumDescriptions": [ + "Not a verifiable build (the default).", + "Build must be verified." + ], + "type": "string" + }, + "secretEnv": { + "description": "A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. These variables will be available to all build steps in this build.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceProvenanceHash": { + "description": "Requested hash for SourceProvenance.", + "items": { + "enum": [ + "NONE", + "SHA256", + "MD5" + ], + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash.", + "Use a md5 hash." + ], + "type": "string" + }, + "type": "array" + }, + "substitutionOption": { + "description": "Option to specify behavior when there is an error in the substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file.", + "enum": [ + "MUST_MATCH", + "ALLOW_LOOSE" + ], + "enumDescriptions": [ + "Fails the build if error in substitutions checks, like missing a substitution in the template or in the map.", + "Do not fail the build if error in substitutions checks." + ], + "type": "string" + }, + "volumes": { + "description": "Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "workerPool": { + "description": "This field deprecated; please use `pool.name` instead.", + "type": "string" + } + }, + "type": "object" + }, + "BuildStep": { + "description": "A step in the build pipeline.", + "id": "BuildStep", + "properties": { + "allowExitCodes": { + "description": "Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allow_failure is also specified, this field will take precedence.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "allowFailure": { + "description": "Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failure_detail field.", + "type": "boolean" + }, + "args": { + "description": "A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the `args` are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dir": { + "description": "Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a `volume` for that path is specified. If the build specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution.", + "type": "string" + }, + "entrypoint": { + "description": "Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.", + "type": "string" + }, + "env": { + "description": "A list of environment variable definitions to be used when running a step. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "exitCode": { + "description": "Output only. Return code from running the step.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "id": { + "description": "Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency.", + "type": "string" + }, + "name": { + "description": "Required. The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also have cached many of the layers for some popular images, like \"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.", + "type": "string" + }, + "pullTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pulling this build step's builder image only.", + "readOnly": true + }, + "script": { + "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", + "type": "string" + }, + "secretEnv": { + "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.", + "enum": [ + "STATUS_UNKNOWN", + "PENDING", + "QUEUED", + "WORKING", + "SUCCESS", + "FAILURE", + "INTERNAL_ERROR", + "TIMEOUT", + "CANCELLED", + "EXPIRED" + ], + "enumDescriptions": [ + "Status of the build is unknown.", + "Build has been created and is pending execution and queuing. It has not been queued.", + "Build or step is queued; work has not yet begun.", + "Build or step is being executed.", + "Build or step finished successfully.", + "Build or step failed to complete successfully.", + "Build or step failed due to an internal cause.", + "Build or step took longer than was allowed.", + "Build or step was canceled by a user.", + "Build was enqueued for longer than the value of `queue_ttl`." + ], + "readOnly": true, + "type": "string" + }, + "timeout": { + "description": "Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.", + "format": "google-duration", + "type": "string" + }, + "timing": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for executing this build step.", + "readOnly": true + }, + "volumes": { + "description": "List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "waitFor": { + "description": "The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuiltImage": { + "description": "An image built by the pipeline.", + "id": "BuiltImage", + "properties": { + "digest": { + "description": "Docker Registry 2.0 digest.", + "type": "string" + }, + "name": { + "description": "Name used to push the container image to Google Container Registry, as presented to `docker push`.", + "type": "string" + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified image.", + "readOnly": true + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CreateBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `CreateBitbucketServerConfig` operation.", + "id": "CreateBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be created. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "CreateGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `CreateGithubEnterpriseConfig` operation.", + "id": "CreateGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be created. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CreateGitLabConfigOperationMetadata": { + "description": "Metadata for `CreateGitLabConfig` operation.", + "id": "CreateGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CreateWorkerPoolOperationMetadata": { + "description": "Metadata for the `CreateWorkerPool` operation.", + "id": "CreateWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` to create. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `DeleteBitbucketServerConfig` operation.", + "id": "DeleteBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be deleted. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "DeleteGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `DeleteGitHubEnterpriseConfig` operation.", + "id": "DeleteGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be deleted. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteGitLabConfigOperationMetadata": { + "description": "Metadata for `DeleteGitLabConfig` operation.", + "id": "DeleteGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteWorkerPoolOperationMetadata": { + "description": "Metadata for the `DeleteWorkerPool` operation.", + "id": "DeleteWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` being deleted. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "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); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FailureInfo": { + "description": "A fatal problem encountered during the execution of the build.", + "id": "FailureInfo", + "properties": { + "detail": { + "description": "Explains the failure issue in more detail using hard-coded text.", + "type": "string" + }, + "type": { + "description": "The name of the failure.", + "enum": [ + "FAILURE_TYPE_UNSPECIFIED", + "PUSH_FAILED", + "PUSH_IMAGE_NOT_FOUND", + "PUSH_NOT_AUTHORIZED", + "LOGGING_FAILURE", + "USER_BUILD_STEP", + "FETCH_SOURCE_FAILED" + ], + "enumDescriptions": [ + "Type unspecified", + "Unable to push the image to the repository.", + "Final image not found.", + "Unauthorized push of the final image.", + "Backend logging failures. Should retry.", + "A build step has failed.", + "The source fetching has failed." + ], + "type": "string" + } + }, + "type": "object" + }, + "FileHashes": { + "description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", + "id": "FileHashes", + "properties": { + "fileHash": { + "description": "Collection of file hashes.", + "items": { + "$ref": "Hash" + }, + "type": "array" + } + }, + "type": "object" + }, + "GitLabConnectedRepository": { + "description": "GitLabConnectedRepository represents a GitLab connected repository request response.", + "id": "GitLabConnectedRepository", + "properties": { + "parent": { + "description": "The name of the `GitLabConfig` that added connected repository. Format: `projects/{project}/locations/{location}/gitLabConfigs/{config}`", + "type": "string" + }, + "repo": { + "$ref": "GitLabRepositoryId", + "description": "The GitLab repositories to connect." + }, + "status": { + "$ref": "Status", + "description": "Output only. The status of the repo connection request.", + "readOnly": true + } + }, + "type": "object" + }, + "GitLabRepositoryId": { + "description": "GitLabRepositoryId identifies a specific repository hosted on GitLab.com or GitLabEnterprise", + "id": "GitLabRepositoryId", + "properties": { + "id": { + "description": "Required. Identifier for the repository. example: \"namespace/project-slug\", namespace is usually the username or group ID", + "type": "string" + }, + "webhookId": { + "description": "Output only. The ID of the webhook that was created for receiving events from this repo. We only create and manage a single webhook for each repo.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV2OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleDevtoolsCloudbuildV2OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "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" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "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" + } + }, + "type": "object" + }, + "HTTPDelivery": { + "description": "HTTPDelivery is the delivery configuration for an HTTP notification.", + "id": "HTTPDelivery", + "properties": { + "uri": { + "description": "The URI to which JSON-containing HTTP POST requests should be sent.", + "type": "string" + } + }, + "type": "object" + }, + "Hash": { + "description": "Container message for hash values.", + "id": "Hash", + "properties": { + "type": { + "description": "The type of hash that was performed.", + "enum": [ + "NONE", + "SHA256", + "MD5" + ], + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash.", + "Use a md5 hash." + ], + "type": "string" + }, + "value": { + "description": "The hash value.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "InlineSecret": { + "description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", + "id": "InlineSecret", + "properties": { + "envMap": { + "additionalProperties": { + "format": "byte", + "type": "string" + }, + "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", + "type": "object" + }, + "kmsKeyName": { + "description": "Resource name of Cloud KMS crypto key to decrypt the encrypted value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*", + "type": "string" + } + }, + "type": "object" + }, + "ListWorkerPoolsResponse": { + "description": "Response containing existing `WorkerPools`.", + "id": "ListWorkerPoolsResponse", + "properties": { + "workerPools": { + "description": "`WorkerPools` for the specified project.", + "items": { + "$ref": "WorkerPool" + }, + "type": "array" + } + }, + "type": "object" + }, + "MavenArtifact": { + "description": "A Maven artifact to upload to Artifact Registry upon successful completion of all build steps.", + "id": "MavenArtifact", + "properties": { + "artifactId": { + "description": "Maven `artifactId` value used when uploading the artifact to Artifact Registry.", + "type": "string" + }, + "groupId": { + "description": "Maven `groupId` value used when uploading the artifact to Artifact Registry.", + "type": "string" + }, + "path": { + "description": "Path to an artifact in the build's workspace to be uploaded to Artifact Registry. This can be either an absolute path, e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.", + "type": "string" + }, + "repository": { + "description": "Artifact Registry repository, in the form \"https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY\" Artifact in the workspace specified by path will be uploaded to Artifact Registry with this location as a prefix.", + "type": "string" + }, + "version": { + "description": "Maven `version` value used when uploading the artifact to Artifact Registry.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfig": { + "description": "Network describes the network configuration for a `WorkerPool`.", + "id": "NetworkConfig", + "properties": { + "peeredNetwork": { + "description": "Required. Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network. Must be in the format `projects/{project}/global/networks/{network}`, where `{project}` is a project number, such as `12345`, and `{network}` is the name of a VPC network in the project. See [Understanding network configuration options](https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options)", + "type": "string" + } + }, + "type": "object" + }, + "Notification": { + "description": "Notification is the container which holds the data that is relevant to this particular notification.", + "id": "Notification", + "properties": { + "filter": { + "description": "The filter string to use for notification filtering. Currently, this is assumed to be a CEL program. See https://opensource.google/projects/cel for more.", + "type": "string" + }, + "httpDelivery": { + "$ref": "HTTPDelivery", + "description": "Configuration for HTTP delivery." + }, + "slackDelivery": { + "$ref": "SlackDelivery", + "description": "Configuration for Slack delivery." + }, + "smtpDelivery": { + "$ref": "SMTPDelivery", + "description": "Configuration for SMTP (email) delivery." + }, + "structDelivery": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Escape hatch for users to supply custom delivery configs.", + "type": "object" + } + }, + "type": "object" + }, + "NotifierConfig": { + "description": "NotifierConfig is the top-level configuration message.", + "id": "NotifierConfig", + "properties": { + "apiVersion": { + "description": "The API version of this configuration format.", + "type": "string" + }, + "kind": { + "description": "The type of notifier to use (e.g. SMTPNotifier).", + "type": "string" + }, + "metadata": { + "$ref": "NotifierMetadata", + "description": "Metadata for referring to/handling/deploying this notifier." + }, + "spec": { + "$ref": "NotifierSpec", + "description": "The actual configuration for this notifier." + } + }, + "type": "object" + }, + "NotifierMetadata": { + "description": "NotifierMetadata contains the data which can be used to reference or describe this notifier.", + "id": "NotifierMetadata", + "properties": { + "name": { + "description": "The human-readable and user-given name for the notifier. For example: \"repo-merge-email-notifier\".", + "type": "string" + }, + "notifier": { + "description": "The string representing the name and version of notifier to deploy. Expected to be of the form of \"/:\". For example: \"gcr.io/my-project/notifiers/smtp:1.2.34\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecret": { + "description": "NotifierSecret is the container that maps a secret name (reference) to its Google Cloud Secret Manager resource path.", + "id": "NotifierSecret", + "properties": { + "name": { + "description": "Name is the local name of the secret, such as the verbatim string \"my-smtp-password\".", + "type": "string" + }, + "value": { + "description": "Value is interpreted to be a resource path for fetching the actual (versioned) secret data for this secret. For example, this would be a Google Cloud Secret Manager secret version resource path like: \"projects/my-project/secrets/my-secret/versions/latest\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecretRef": { + "description": "NotifierSecretRef contains the reference to a secret stored in the corresponding NotifierSpec.", + "id": "NotifierSecretRef", + "properties": { + "secretRef": { + "description": "The value of `secret_ref` should be a `name` that is registered in a `Secret` in the `secrets` list of the `Spec`.", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSpec": { + "description": "NotifierSpec is the configuration container for notifications.", + "id": "NotifierSpec", + "properties": { + "notification": { + "$ref": "Notification", + "description": "The configuration of this particular notifier." + }, + "secrets": { + "description": "Configurations for secret resources used by this particular notifier.", + "items": { + "$ref": "NotifierSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "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": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "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" + }, + "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" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. 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" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "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" + } + }, + "type": "object" + }, + "PoolOption": { + "description": "Details about how a build should be executed on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information.", + "id": "PoolOption", + "properties": { + "name": { + "description": "The `WorkerPool` resource to execute the build on. You must have `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format projects/{project}/locations/{location}/workerPools/{workerPoolId}", + "type": "string" + } + }, + "type": "object" + }, + "ProcessAppManifestCallbackOperationMetadata": { + "description": "Metadata for `ProcessAppManifestCallback` operation.", + "id": "ProcessAppManifestCallbackOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be created. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "PythonPackage": { + "description": "Python package to upload to Artifact Registry upon successful completion of all build steps. A package can encapsulate multiple objects to be uploaded to a single repository.", + "id": "PythonPackage", + "properties": { + "paths": { + "description": "Path globs used to match files in the build's workspace. For Python/ Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.", + "items": { + "type": "string" + }, + "type": "array" + }, + "repository": { + "description": "Artifact Registry repository, in the form \"https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY\" Files in the workspace matching any path pattern will be uploaded to Artifact Registry with this location as a prefix.", + "type": "string" + } + }, + "type": "object" + }, + "RepoSource": { + "description": "Location of the source in a Google Cloud Source Repository.", + "id": "RepoSource", + "properties": { + "branchName": { + "description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", + "type": "string" + }, + "commitSha": { + "description": "Explicit commit SHA to build.", + "type": "string" + }, + "dir": { + "description": "Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", + "type": "string" + }, + "invertRegex": { + "description": "Only trigger a build if the revision regex does NOT match the revision regex.", + "type": "boolean" + }, + "projectId": { + "description": "ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", + "type": "string" + }, + "repoName": { + "description": "Name of the Cloud Source Repository.", + "type": "string" + }, + "substitutions": { + "additionalProperties": { + "type": "string" + }, + "description": "Substitutions to use in a triggered build. Should only be used with RunBuildTrigger", + "type": "object" + }, + "tagName": { + "description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", + "type": "string" + } + }, + "type": "object" + }, + "Repository": { + "description": "A repository associated to a parent connection.", + "id": "Repository", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Allows clients to store small amounts of arbitrary data.", + "type": "object" + }, + "createTime": { + "description": "Output only. Server assigned timestamp for when the connection was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "Immutable. Resource name of the repository, in the format `projects/*/locations/*/connections/*/repositories/*`.", + "type": "string" + }, + "remoteUri": { + "description": "Required. Git Clone HTTPS URI.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Server assigned timestamp for when the connection was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Results": { + "description": "Artifacts created by the build pipeline.", + "id": "Results", + "properties": { + "artifactManifest": { + "description": "Path to the artifact manifest for non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", + "type": "string" + }, + "artifactTiming": { + "$ref": "TimeSpan", + "description": "Time to push all non-container artifacts to Cloud Storage." + }, + "buildStepImages": { + "description": "List of build step digests, in the order corresponding to build step indices.", + "items": { + "type": "string" + }, + "type": "array" + }, + "buildStepOutputs": { + "description": "List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 4KB of data is stored.", + "items": { + "format": "byte", + "type": "string" + }, + "type": "array" + }, + "images": { + "description": "Container images that were built as a part of the build.", + "items": { + "$ref": "BuiltImage" + }, + "type": "array" + }, + "mavenArtifacts": { + "description": "Maven artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "UploadedMavenArtifact" + }, + "type": "array" + }, + "numArtifacts": { + "description": "Number of non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", + "format": "int64", + "type": "string" + }, + "pythonPackages": { + "description": "Python artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "UploadedPythonPackage" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunWorkflowCustomOperationMetadata": { + "description": "Represents the custom metadata of the RunWorkflow long-running operation.", + "id": "RunWorkflowCustomOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "pipelineRunId": { + "description": "Output only. ID of the pipeline run created by RunWorkflow.", + "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" + }, + "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" + } + }, + "type": "object" + }, + "SMTPDelivery": { + "description": "SMTPDelivery is the delivery configuration for an SMTP (email) notification.", + "id": "SMTPDelivery", + "properties": { + "fromAddress": { + "description": "This is the SMTP account/email that appears in the `From:` of the email. If empty, it is assumed to be sender.", + "type": "string" + }, + "password": { + "$ref": "NotifierSecretRef", + "description": "The SMTP sender's password." + }, + "port": { + "description": "The SMTP port of the server.", + "type": "string" + }, + "recipientAddresses": { + "description": "This is the list of addresses to which we send the email (i.e. in the `To:` of the email).", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderAddress": { + "description": "This is the SMTP account/email that is used to send the message.", + "type": "string" + }, + "server": { + "description": "The address of the SMTP server.", + "type": "string" + } + }, + "type": "object" + }, + "Secret": { + "description": "Pairs a set of secret environment variables containing encrypted values with the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with `secret`. For instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.", + "id": "Secret", + "properties": { + "kmsKeyName": { + "description": "Cloud KMS key name to use to decrypt these envs.", + "type": "string" + }, + "secretEnv": { + "additionalProperties": { + "format": "byte", + "type": "string" + }, + "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", + "type": "object" + } + }, + "type": "object" + }, + "SecretManagerSecret": { + "description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", + "id": "SecretManagerSecret", + "properties": { + "env": { + "description": "Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.", + "type": "string" + }, + "versionName": { + "description": "Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*", + "type": "string" + } + }, + "type": "object" + }, + "Secrets": { + "description": "Secrets and secret environment variables.", + "id": "Secrets", + "properties": { + "inline": { + "description": "Secrets encrypted with KMS key and the associated secret environment variable.", + "items": { + "$ref": "InlineSecret" + }, + "type": "array" + }, + "secretManager": { + "description": "Secrets in Secret Manager and associated secret environment variable.", + "items": { + "$ref": "SecretManagerSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "SlackDelivery": { + "description": "SlackDelivery is the delivery configuration for delivering Slack messages via webhooks. See Slack webhook documentation at: https://api.slack.com/messaging/webhooks.", + "id": "SlackDelivery", + "properties": { + "webhookUri": { + "$ref": "NotifierSecretRef", + "description": "The secret reference for the Slack webhook URI for sending messages to a channel." + } + }, + "type": "object" + }, + "Source": { + "description": "Location of the source in a supported storage service.", + "id": "Source", + "properties": { + "repoSource": { + "$ref": "RepoSource", + "description": "If provided, get the source from this location in a Cloud Source Repository." + }, + "storageSource": { + "$ref": "StorageSource", + "description": "If provided, get the source from this location in Google Cloud Storage." + }, + "storageSourceManifest": { + "$ref": "StorageSourceManifest", + "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher)." + } + }, + "type": "object" + }, + "SourceProvenance": { + "description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", + "id": "SourceProvenance", + "properties": { + "fileHashes": { + "additionalProperties": { + "$ref": "FileHashes" + }, + "description": "Output only. Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file.", + "readOnly": true, + "type": "object" + }, + "resolvedRepoSource": { + "$ref": "RepoSource", + "description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." + }, + "resolvedStorageSource": { + "$ref": "StorageSource", + "description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." + }, + "resolvedStorageSourceManifest": { + "$ref": "StorageSourceManifest", + "description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." + } + }, + "type": "object" + }, + "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).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "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" + } + }, + "type": "object" + }, + "StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "StorageSource", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" + }, + "generation": { + "description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Google Cloud Storage object containing the source. This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.", + "type": "string" + } + }, + "type": "object" + }, + "StorageSourceManifest": { + "description": "Location of the source manifest in Google Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).", + "id": "StorageSourceManifest", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing the source manifest (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" + }, + "generation": { + "description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Google Cloud Storage object containing the source manifest. This object must be a JSON file.", + "type": "string" + } + }, + "type": "object" + }, + "TimeSpan": { + "description": "Start and end times for a build execution phase.", + "id": "TimeSpan", + "properties": { + "endTime": { + "description": "End of time span.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Start of time span.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "UpdateBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `UpdateBitbucketServerConfig` operation.", + "id": "UpdateBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be updated. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "UpdateGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `UpdateGitHubEnterpriseConfig` operation.", + "id": "UpdateGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be updated. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateGitLabConfigOperationMetadata": { + "description": "Metadata for `UpdateGitLabConfig` operation.", + "id": "UpdateGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateWorkerPoolOperationMetadata": { + "description": "Metadata for the `UpdateWorkerPool` operation.", + "id": "UpdateWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` being updated. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "UploadedMavenArtifact": { + "description": "A Maven artifact uploaded using the MavenArtifact directive.", + "id": "UploadedMavenArtifact", + "properties": { + "fileHashes": { + "$ref": "FileHashes", + "description": "Hash types and values of the Maven Artifact." + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, + "UploadedPythonPackage": { + "description": "Artifact uploaded using the PythonPackage directive.", + "id": "UploadedPythonPackage", + "properties": { + "fileHashes": { + "$ref": "FileHashes", + "description": "Hash types and values of the Python Artifact." + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", + "id": "Volume", + "properties": { + "name": { + "description": "Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.", + "type": "string" + }, + "path": { + "description": "Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.", + "type": "string" + } + }, + "type": "object" + }, + "Warning": { + "description": "A non-fatal problem encountered during the execution of the build.", + "id": "Warning", + "properties": { + "priority": { + "description": "The priority for this warning.", + "enum": [ + "PRIORITY_UNSPECIFIED", + "INFO", + "WARNING", + "ALERT" + ], + "enumDescriptions": [ + "Should not be used.", + "e.g. deprecation warnings and alternative feature highlights.", + "e.g. automated detection of possible issues with the build.", + "e.g. alerts that a feature used in the build is pending removal" + ], + "type": "string" + }, + "text": { + "description": "Explanation of the warning generated.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerConfig": { + "description": "Defines the configuration to be used for creating workers in the pool.", + "id": "WorkerConfig", + "properties": { + "diskSizeGb": { + "description": "Size of the disk attached to the worker, in GB. See [Worker pool config file](https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file). Specify a value of up to 1000. If `0` is specified, Cloud Build will use a standard disk size.", + "format": "int64", + "type": "string" + }, + "machineType": { + "description": "Machine type of a worker, such as `n1-standard-1`. See [Worker pool config file](https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file). If left blank, Cloud Build will use `n1-standard-1`.", + "type": "string" + }, + "noExternalIp": { + "description": "If true, workers are created without any public address, which prevents network egress to public IPs.", + "type": "boolean" + } + }, + "type": "object" + }, + "WorkerPool": { + "description": "Configuration for a `WorkerPool` to run the builds. Workers provide a build environment where Cloud Build runs your builds. Cloud Build owns and maintains a pool of workers for general use. By default, when you submit a build, Cloud Build uses one of the workers from this pool. Builds that run in the default worker pool have access to the public internet. If your build needs access to resources on a private network, create and use a `WorkerPool` to run your builds. Custom `WorkerPool`s give your builds access to any single VPC network that you administer, including any on-prem resources connected to that VPC network. For an overview of custom worker pools, see [Custom workers overview](https://cloud.google.com/cloud-build/docs/custom-workers/custom-workers-overview).", + "id": "WorkerPool", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "createTime": { + "description": "Output only. Time at which the request to create the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. Time at which the request to delete the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters.", + "type": "string" + }, + "etag": { + "description": "Output only. Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.", + "readOnly": true, + "type": "string" + }, + "networkConfig": { + "$ref": "NetworkConfig", + "description": "Network configuration for the `WorkerPool`." + }, + "state": { + "description": "Output only. `WorkerPool` state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "RUNNING", + "DELETING", + "DELETED" + ], + "enumDescriptions": [ + "State of the `WorkerPool` is unknown.", + "`WorkerPool` is being created.", + "`WorkerPool` is running.", + "`WorkerPool` is being deleted: cancelling builds and draining workers.", + "`WorkerPool` is deleted." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. A unique identifier for the `WorkerPool`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Time at which the request to update the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "workerConfig": { + "$ref": "WorkerConfig", + "description": "Worker configuration for the `WorkerPool`." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Build API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddeploy.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddeploy.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..3df3718e20f624f453c04a2b54704ad8bde798d2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddeploy.v1.json @@ -0,0 +1,7322 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://clouddeploy.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Deploy", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/deploy/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "clouddeploy:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://clouddeploy.mtls.googleapis.com/", +"name": "clouddeploy", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getConfig": { +"description": "Gets the configuration for a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of requested configuration.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Config" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"customTargetTypes": { +"methods": { +"create": { +"description": "Creates a new CustomTargetType in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.customTargetTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customTargetTypeId": { +"description": "Required. ID of the `CustomTargetType`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `CustomTargetType` must be created. The format is `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/customTargetTypes", +"request": { +"$ref": "CustomTargetType" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single CustomTargetType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes/{customTargetTypesId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.customTargetTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, then deleting an already deleted or non-existing `CustomTargetType` will succeed.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the `CustomTargetType` to delete. Format must be `projects/{project_id}/locations/{location_name}/customTargetTypes/{custom_target_type}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single CustomTargetType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes/{customTargetTypesId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.customTargetTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `CustomTargetType`. Format must be `projects/{project_id}/locations/{location_name}/customTargetTypes/{custom_target_type}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CustomTargetType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/customTargetTypes/{customTargetTypesId}:getIamPolicy", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.customTargetTypes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CustomTargetTypes in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.customTargetTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter custom target types to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `CustomTargetType` objects to return. The service may return fewer than this value. If unspecified, at most 50 `CustomTargetType` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListCustomTargetTypes` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns this collection of custom target types. Format must be `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customTargetTypes", +"response": { +"$ref": "ListCustomTargetTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a single CustomTargetType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes/{customTargetTypesId}", +"httpMethod": "PATCH", +"id": "clouddeploy.projects.locations.customTargetTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, updating a `CustomTargetType` that does not exist will result in the creation of a new `CustomTargetType`.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `CustomTargetType` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CustomTargetType" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customTargetTypes/{customTargetTypesId}:setIamPolicy", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.customTargetTypes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"deliveryPipelines": { +"methods": { +"create": { +"description": "Creates a new DeliveryPipeline in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"deliveryPipelineId": { +"description": "Required. ID of the `DeliveryPipeline`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `DeliveryPipeline` must be created. The format is `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/deliveryPipelines", +"request": { +"$ref": "DeliveryPipeline" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single DeliveryPipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.deliveryPipelines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, then deleting an already deleted or non-existing `DeliveryPipeline` will succeed.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, all child resources under this pipeline will also be deleted. Otherwise, the request will only work if the pipeline has no child resources.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the `DeliveryPipeline` to delete. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single DeliveryPipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `DeliveryPipeline`. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DeliveryPipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}:getIamPolicy", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DeliveryPipelines in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter pipelines to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of pipelines to return. The service may return fewer than this value. If unspecified, at most 50 pipelines will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDeliveryPipelines` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of pipelines. Format must be `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deliveryPipelines", +"response": { +"$ref": "ListDeliveryPipelinesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single DeliveryPipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", +"httpMethod": "PATCH", +"id": "clouddeploy.projects.locations.deliveryPipelines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, updating a `DeliveryPipeline` that does not exist will result in the creation of a new `DeliveryPipeline`.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `DeliveryPipeline` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "DeliveryPipeline" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollbackTarget": { +"description": "Creates a `Rollout` to roll back the specified target.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}:rollbackTarget", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.rollbackTarget", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The `DeliveryPipeline` for which the rollback `Rollout` must be created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rollbackTarget", +"request": { +"$ref": "RollbackTargetRequest" +}, +"response": { +"$ref": "RollbackTargetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}:setIamPolicy", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}:testIamPermissions", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"automationRuns": { +"methods": { +"cancel": { +"description": "Cancels an AutomationRun. The `state` of the `AutomationRun` after cancelling is `CANCELLED`. `CancelAutomationRun` can be called on AutomationRun in the state `IN_PROGRESS` and `PENDING`; AutomationRun in a different state returns an `FAILED_PRECONDITION` error.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automationRuns/{automationRunsId}:cancel", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.automationRuns.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `AutomationRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/automationRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelAutomationRunRequest" +}, +"response": { +"$ref": "CancelAutomationRunResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single AutomationRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automationRuns/{automationRunsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.automationRuns.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `AutomationRun`. Format must be `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/automationRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AutomationRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists AutomationRuns in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automationRuns", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.automationRuns.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter automationRuns to be returned. All fields can be used in the filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of automationRuns to return. The service may return fewer than this value. If unspecified, at most 50 automationRuns will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAutomationRuns` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent `Delivery Pipeline`, which owns this collection of automationRuns. Format must be `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/automationRuns", +"response": { +"$ref": "ListAutomationRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"automations": { +"methods": { +"create": { +"description": "Creates a new Automation in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automations", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.automations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"automationId": { +"description": "Required. ID of the `Automation`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `Automation` must be created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/automations", +"request": { +"$ref": "Automation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Automation resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automations/{automationsId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.deliveryPipelines.automations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, then deleting an already deleted or non-existing `Automation` will succeed.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. The weak etag of the request. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the `Automation` to delete. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/automations/{automation_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/automations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and verify whether the resource exists, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Automation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automations/{automationsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.automations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `Automation`. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/automations/{automation_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/automations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Automation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Automations in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automations", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.automations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter automations to be returned. All fields can be used in the filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of automations to return. The service may return fewer than this value. If unspecified, at most 50 automations will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAutomations` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent `Delivery Pipeline`, which owns this collection of automations. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/automations", +"response": { +"$ref": "ListAutomationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Automation resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/automations/{automationsId}", +"httpMethod": "PATCH", +"id": "clouddeploy.projects.locations.deliveryPipelines.automations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, updating a `Automation` that does not exist will result in the creation of a new `Automation`.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Name of the `Automation`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/automations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `Automation` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Automation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"releases": { +"methods": { +"abandon": { +"description": "Abandons a Release in the Delivery Pipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}:abandon", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.abandon", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Release. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:abandon", +"request": { +"$ref": "AbandonReleaseRequest" +}, +"response": { +"$ref": "AbandonReleaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Release in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `Release` is created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"releaseId": { +"description": "Required. ID of the `Release`.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/releases", +"request": { +"$ref": "Release" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Release.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `Release`. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Release" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Releases in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter releases to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `Release` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Release` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The `DeliveryPipeline` which owns this collection of `Release` objects.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/releases", +"response": { +"$ref": "ListReleasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"rollouts": { +"methods": { +"advance": { +"description": "Advances a Rollout in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:advance", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.advance", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Rollout. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:advance", +"request": { +"$ref": "AdvanceRolloutRequest" +}, +"response": { +"$ref": "AdvanceRolloutResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"approve": { +"description": "Approves a Rollout.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:approve", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.approve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Rollout. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:approve", +"request": { +"$ref": "ApproveRolloutRequest" +}, +"response": { +"$ref": "ApproveRolloutResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"cancel": { +"description": "Cancels a Rollout in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:cancel", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Rollout. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelRolloutRequest" +}, +"response": { +"$ref": "CancelRolloutResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Rollout in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `Rollout` must be created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rolloutId": { +"description": "Required. ID of the `Rollout`.", +"location": "query", +"type": "string" +}, +"startingPhaseId": { +"description": "Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` will start at the first phase.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/rollouts", +"request": { +"$ref": "Rollout" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Rollout.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `Rollout`. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Rollout" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ignoreJob": { +"description": "Ignores the specified Job in a Rollout.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:ignoreJob", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.ignoreJob", +"parameterOrder": [ +"rollout" +], +"parameters": { +"rollout": { +"description": "Required. Name of the Rollout. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+rollout}:ignoreJob", +"request": { +"$ref": "IgnoreJobRequest" +}, +"response": { +"$ref": "IgnoreJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Rollouts in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter rollouts to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `Rollout` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Rollout` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRollouts` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The `Release` which owns this collection of `Rollout` objects.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/rollouts", +"response": { +"$ref": "ListRolloutsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retryJob": { +"description": "Retries the specified Job in a Rollout.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:retryJob", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.retryJob", +"parameterOrder": [ +"rollout" +], +"parameters": { +"rollout": { +"description": "Required. Name of the Rollout. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+rollout}:retryJob", +"request": { +"$ref": "RetryJobRequest" +}, +"response": { +"$ref": "RetryJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"jobRuns": { +"methods": { +"get": { +"description": "Gets details of a single JobRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}/jobRuns/{jobRunsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `JobRun`. Format must be `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}/jobRuns/{job_run_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+/jobRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "JobRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists JobRuns in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}/jobRuns", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter results to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `JobRun` objects to return. The service may return fewer than this value. If unspecified, at most 50 `JobRun` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListJobRuns` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The `Rollout` which owns this collection of `JobRun` objects.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/jobRuns", +"response": { +"$ref": "ListJobRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"terminate": { +"description": "Terminates a Job Run in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}/jobRuns/{jobRunsId}:terminate", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.terminate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `JobRun`. Format must be `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+/jobRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:terminate", +"request": { +"$ref": "TerminateJobRunRequest" +}, +"response": { +"$ref": "TerminateJobRunResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"deployPolicies": { +"methods": { +"create": { +"description": "Creates a new DeployPolicy in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deployPolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"deployPolicyId": { +"description": "Required. ID of the `DeployPolicy`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent collection in which the `DeployPolicy` must be created. The format is `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/deployPolicies", +"request": { +"$ref": "DeployPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single DeployPolicy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.deployPolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, then deleting an already deleted or non-existing `DeployPolicy` will succeed.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the `DeployPolicy` to delete. The format is `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single DeployPolicy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deployPolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `DeployPolicy`. Format must be `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DeployPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/deployPolicies/{deployPoliciesId}:getIamPolicy", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deployPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DeployPolicies in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.deployPolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter deploy policies to be returned. See https://google.aip.dev/160 for more details. All fields can be used in the filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of deploy policies to return. The service may return fewer than this value. If unspecified, at most 50 deploy policies will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDeployPolicies` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of deploy policies. Format must be `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deployPolicies", +"response": { +"$ref": "ListDeployPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single DeployPolicy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", +"httpMethod": "PATCH", +"id": "clouddeploy.projects.locations.deployPolicies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, updating a `DeployPolicy` that does not exist will result in the creation of a new `DeployPolicy`.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Name of the `DeployPolicy`. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `DeployPolicy` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "DeployPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}:setIamPolicy", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.deployPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targets": { +"methods": { +"create": { +"description": "Creates a new Target in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.targets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent collection in which the `Target` must be created. The format is `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetId": { +"description": "Required. ID of the `Target`.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/targets", +"request": { +"$ref": "Target" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Target.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", +"httpMethod": "DELETE", +"id": "clouddeploy.projects.locations.targets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, then deleting an already deleted or non-existing `Target` will succeed.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the `Target` to delete. The format is `projects/{project_id}/locations/{location_name}/targets/{target_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Target.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.targets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `Target`. Format must be `projects/{project_id}/locations/{location_name}/targets/{target_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Target" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/targets/{targetsId}:getIamPolicy", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.targets.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Targets in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets", +"httpMethod": "GET", +"id": "clouddeploy.projects.locations.targets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter targets to be returned. See https://google.aip.dev/160 for more details.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `Target` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Target` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListTargets` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of targets. Format must be `projects/{project_id}/locations/{location_name}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targets", +"response": { +"$ref": "ListTargetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Target.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", +"httpMethod": "PATCH", +"id": "clouddeploy.projects.locations.targets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, updating a `Target` that does not exist will result in the creation of a new `Target`.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `Target` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Target" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}:setIamPolicy", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.targets.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}:testIamPermissions", +"httpMethod": "POST", +"id": "clouddeploy.projects.locations.targets.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://clouddeploy.googleapis.com/", +"schemas": { +"AbandonReleaseRequest": { +"description": "The request object used by `AbandonRelease`.", +"id": "AbandonReleaseRequest", +"properties": {}, +"type": "object" +}, +"AbandonReleaseResponse": { +"description": "The response object for `AbandonRelease`.", +"id": "AbandonReleaseResponse", +"properties": {}, +"type": "object" +}, +"AdvanceChildRolloutJob": { +"description": "An advanceChildRollout Job.", +"id": "AdvanceChildRolloutJob", +"properties": {}, +"type": "object" +}, +"AdvanceChildRolloutJobRun": { +"description": "AdvanceChildRolloutJobRun contains information specific to a advanceChildRollout `JobRun`.", +"id": "AdvanceChildRolloutJobRun", +"properties": { +"rollout": { +"description": "Output only. Name of the `ChildRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"readOnly": true, +"type": "string" +}, +"rolloutPhaseId": { +"description": "Output only. the ID of the ChildRollout's Phase.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AdvanceRolloutOperation": { +"description": "Contains the information of an automated advance-rollout operation.", +"id": "AdvanceRolloutOperation", +"properties": { +"destinationPhase": { +"description": "Output only. The phase the rollout will be advanced to.", +"readOnly": true, +"type": "string" +}, +"rollout": { +"description": "Output only. The name of the rollout that initiates the `AutomationRun`.", +"readOnly": true, +"type": "string" +}, +"sourcePhase": { +"description": "Output only. The phase of a deployment that initiated the operation.", +"readOnly": true, +"type": "string" +}, +"wait": { +"description": "Output only. How long the operation will be paused.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AdvanceRolloutRequest": { +"description": "The request object used by `AdvanceRollout`.", +"id": "AdvanceRolloutRequest", +"properties": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phaseId": { +"description": "Required. The phase ID to advance the `Rollout` to.", +"type": "string" +} +}, +"type": "object" +}, +"AdvanceRolloutResponse": { +"description": "The response object from `AdvanceRollout`.", +"id": "AdvanceRolloutResponse", +"properties": {}, +"type": "object" +}, +"AdvanceRolloutRule": { +"description": "The `AdvanceRollout` automation rule will automatically advance a successful Rollout to the next phase.", +"id": "AdvanceRolloutRule", +"properties": { +"condition": { +"$ref": "AutomationRuleCondition", +"description": "Output only. Information around the state of the Automation rule.", +"readOnly": true +}, +"id": { +"description": "Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"sourcePhases": { +"description": "Optional. Proceeds only after phase name matched any one in the list. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"wait": { +"description": "Optional. How long to wait after a rollout is finished.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AnthosCluster": { +"description": "Information specifying an Anthos Cluster.", +"id": "AnthosCluster", +"properties": { +"membership": { +"description": "Optional. Membership of the GKE Hub-registered cluster to which to apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`.", +"type": "string" +} +}, +"type": "object" +}, +"ApproveRolloutRequest": { +"description": "The request object used by `ApproveRollout`.", +"id": "ApproveRolloutRequest", +"properties": { +"approved": { +"description": "Required. True = approve; false = reject", +"type": "boolean" +}, +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApproveRolloutResponse": { +"description": "The response object from `ApproveRollout`.", +"id": "ApproveRolloutResponse", +"properties": {}, +"type": "object" +}, +"AssociatedEntities": { +"description": "Information about entities associated with a `Target`.", +"id": "AssociatedEntities", +"properties": { +"anthosClusters": { +"description": "Optional. Information specifying Anthos clusters as associated entities.", +"items": { +"$ref": "AnthosCluster" +}, +"type": "array" +}, +"gkeClusters": { +"description": "Optional. Information specifying GKE clusters as associated entities.", +"items": { +"$ref": "GkeCluster" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Automation": { +"description": "An `Automation` resource in the Cloud Deploy API. An `Automation` enables the automation of manually driven actions for a Delivery Pipeline, which includes Release promotion among Targets, Rollout repair and Rollout deployment strategy advancement. The intention of Automation is to reduce manual intervention in the continuous delivery process.", +"id": "Automation", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.", +"type": "object" +}, +"createTime": { +"description": "Output only. Time at which the automation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the `Automation`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. The weak etag of the `Automation` resource. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 63 characters.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the `Automation`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`.", +"readOnly": true, +"type": "string" +}, +"rules": { +"description": "Required. List of Automation rules associated with the Automation resource. Must have at least one rule and limited to 250 rules per Delivery Pipeline. Note: the order of the rules here is not the same as the order of execution.", +"items": { +"$ref": "AutomationRule" +}, +"type": "array" +}, +"selector": { +"$ref": "AutomationResourceSelector", +"description": "Required. Selected resources to which the automation will be applied." +}, +"serviceAccount": { +"description": "Required. Email address of the user-managed IAM service account that creates Cloud Deploy release and rollout resources.", +"type": "string" +}, +"suspended": { +"description": "Optional. When Suspended, automation is deactivated from execution.", +"type": "boolean" +}, +"uid": { +"description": "Output only. Unique identifier of the `Automation`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time at which the automation was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutomationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/automation\" Platform Log event that describes the Automation related events.", +"id": "AutomationEvent", +"properties": { +"automation": { +"description": "The name of the `AutomationRun`.", +"type": "string" +}, +"message": { +"description": "Debug message for when there is an update on the AutomationRun. Provides further details about the resource creation or state change.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"AutomationResourceSelector": { +"description": "AutomationResourceSelector contains the information to select the resources to which an Automation is going to be applied.", +"id": "AutomationResourceSelector", +"properties": { +"targets": { +"description": "Optional. Contains attributes about a target.", +"items": { +"$ref": "TargetAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"AutomationRolloutMetadata": { +"description": "AutomationRolloutMetadata contains Automation-related actions that were performed on a rollout.", +"id": "AutomationRolloutMetadata", +"properties": { +"advanceAutomationRuns": { +"description": "Output only. The names of the AutomationRuns initiated by an advance rollout rule.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"promoteAutomationRun": { +"description": "Output only. The name of the AutomationRun initiated by a promote release rule.", +"readOnly": true, +"type": "string" +}, +"repairAutomationRuns": { +"description": "Output only. The names of the AutomationRuns initiated by a repair rollout rule.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"AutomationRule": { +"description": "`AutomationRule` defines the automation activities.", +"id": "AutomationRule", +"properties": { +"advanceRolloutRule": { +"$ref": "AdvanceRolloutRule", +"description": "Optional. The `AdvanceRolloutRule` will automatically advance a successful Rollout." +}, +"promoteReleaseRule": { +"$ref": "PromoteReleaseRule", +"description": "Optional. `PromoteReleaseRule` will automatically promote a release from the current target to a specified target." +}, +"repairRolloutRule": { +"$ref": "RepairRolloutRule", +"description": "Optional. The `RepairRolloutRule` will automatically repair a failed rollout." +}, +"timedPromoteReleaseRule": { +"$ref": "TimedPromoteReleaseRule", +"description": "Optional. The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule." +} +}, +"type": "object" +}, +"AutomationRuleCondition": { +"description": "`AutomationRuleCondition` contains conditions relevant to an `Automation` rule.", +"id": "AutomationRuleCondition", +"properties": { +"targetsPresentCondition": { +"$ref": "TargetsPresentCondition", +"description": "Optional. Details around targets enumerated in the rule." +}, +"timedPromoteReleaseCondition": { +"$ref": "TimedPromoteReleaseCondition", +"description": "Optional. TimedPromoteReleaseCondition contains rule conditions specific to a an Automation with a timed promote release rule defined." +} +}, +"type": "object" +}, +"AutomationRun": { +"description": "An `AutomationRun` resource in the Cloud Deploy API. An `AutomationRun` represents an execution instance of an automation rule.", +"id": "AutomationRun", +"properties": { +"advanceRolloutOperation": { +"$ref": "AdvanceRolloutOperation", +"description": "Output only. Advances a rollout to the next phase.", +"readOnly": true +}, +"automationId": { +"description": "Output only. The ID of the automation that initiated the operation.", +"readOnly": true, +"type": "string" +}, +"automationSnapshot": { +"$ref": "Automation", +"description": "Output only. Snapshot of the Automation taken at AutomationRun creation time.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time at which the `AutomationRun` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. The weak etag of the `AutomationRun` resource. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. Time the `AutomationRun` expires. An `AutomationRun` expires after 14 days from its creation date.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the `AutomationRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.", +"readOnly": true, +"type": "string" +}, +"policyViolation": { +"$ref": "PolicyViolation", +"description": "Output only. Contains information about what policies prevented the `AutomationRun` from proceeding.", +"readOnly": true +}, +"promoteReleaseOperation": { +"$ref": "PromoteReleaseOperation", +"description": "Output only. Promotes a release to a specified 'Target'.", +"readOnly": true +}, +"repairRolloutOperation": { +"$ref": "RepairRolloutOperation", +"description": "Output only. Repairs a failed 'Rollout'.", +"readOnly": true +}, +"ruleId": { +"description": "Output only. The ID of the automation rule that initiated the operation.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Output only. Email address of the user-managed IAM service account that performs the operations against Cloud Deploy resources.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the `AutomationRun`.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"CANCELLED", +"FAILED", +"IN_PROGRESS", +"PENDING", +"ABORTED" +], +"enumDescriptions": [ +"The `AutomationRun` has an unspecified state.", +"The `AutomationRun` has succeeded.", +"The `AutomationRun` was cancelled.", +"The `AutomationRun` has failed.", +"The `AutomationRun` is in progress.", +"The `AutomationRun` is pending.", +"The `AutomationRun` was aborted." +], +"readOnly": true, +"type": "string" +}, +"stateDescription": { +"description": "Output only. Explains the current state of the `AutomationRun`. Present only when an explanation is needed.", +"readOnly": true, +"type": "string" +}, +"targetId": { +"description": "Output only. The ID of the source target that initiates the `AutomationRun`. The value of this field is the last segment of a target name.", +"readOnly": true, +"type": "string" +}, +"timedPromoteReleaseOperation": { +"$ref": "TimedPromoteReleaseOperation", +"description": "Output only. Promotes a release to a specified 'Target' as defined in a Timed Promote Release rule.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Time at which the automationRun was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"waitUntilTime": { +"description": "Output only. Earliest time the `AutomationRun` will attempt to resume. Wait-time is configured by `wait` in automation rule.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutomationRunEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/automation_run\" Platform Log event that describes the AutomationRun related events.", +"id": "AutomationRunEvent", +"properties": { +"automationId": { +"description": "Identifier of the `Automation`.", +"type": "string" +}, +"automationRun": { +"description": "The name of the `AutomationRun`.", +"type": "string" +}, +"destinationTargetId": { +"description": "ID of the `Target` to which the `AutomationRun` is created.", +"type": "string" +}, +"message": { +"description": "Debug message for when there is an update on the AutomationRun. Provides further details about the resource creation or state change.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"ruleId": { +"description": "Identifier of the `Automation` rule.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BuildArtifact": { +"description": "Description of an a image to use during Skaffold rendering.", +"id": "BuildArtifact", +"properties": { +"image": { +"description": "Optional. Image name in Skaffold configuration.", +"type": "string" +}, +"tag": { +"description": "Optional. Image tag to use. This will generally be the full path to an image, such as \"gcr.io/my-project/busybox:1.2.3\" or \"gcr.io/my-project/busybox@sha256:abc123\".", +"type": "string" +} +}, +"type": "object" +}, +"Canary": { +"description": "Canary represents the canary deployment strategy.", +"id": "Canary", +"properties": { +"canaryDeployment": { +"$ref": "CanaryDeployment", +"description": "Optional. Configures the progressive based deployment for a Target." +}, +"customCanaryDeployment": { +"$ref": "CustomCanaryDeployment", +"description": "Optional. Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments." +}, +"runtimeConfig": { +"$ref": "RuntimeConfig", +"description": "Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment." +} +}, +"type": "object" +}, +"CanaryDeployment": { +"description": "CanaryDeployment represents the canary deployment configuration", +"id": "CanaryDeployment", +"properties": { +"percentages": { +"description": "Required. The percentage based deployments that will occur as a part of a `Rollout`. List is expected in ascending order and each integer n is 0 <= n < 100. If the GatewayServiceMesh is configured for Kubernetes, then the range for n is 0 <= n <= 100.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"postdeploy": { +"$ref": "Postdeploy", +"description": "Optional. Configuration for the postdeploy job of the last phase. If this is not configured, there will be no postdeploy job for this phase." +}, +"predeploy": { +"$ref": "Predeploy", +"description": "Optional. Configuration for the predeploy job of the first phase. If this is not configured, there will be no predeploy job for this phase." +}, +"verify": { +"description": "Optional. Whether to run verify tests after each percentage deployment.", +"type": "boolean" +} +}, +"type": "object" +}, +"CancelAutomationRunRequest": { +"description": "The request object used by `CancelAutomationRun`.", +"id": "CancelAutomationRunRequest", +"properties": {}, +"type": "object" +}, +"CancelAutomationRunResponse": { +"description": "The response object from `CancelAutomationRun`.", +"id": "CancelAutomationRunResponse", +"properties": {}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CancelRolloutRequest": { +"description": "The request object used by `CancelRollout`.", +"id": "CancelRolloutRequest", +"properties": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CancelRolloutResponse": { +"description": "The response object from `CancelRollout`.", +"id": "CancelRolloutResponse", +"properties": {}, +"type": "object" +}, +"ChildRolloutJobs": { +"description": "ChildRollouts job composition", +"id": "ChildRolloutJobs", +"properties": { +"advanceRolloutJobs": { +"description": "Output only. List of AdvanceChildRolloutJobs", +"items": { +"$ref": "Job" +}, +"readOnly": true, +"type": "array" +}, +"createRolloutJobs": { +"description": "Output only. List of CreateChildRolloutJobs", +"items": { +"$ref": "Job" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"CloudRunConfig": { +"description": "CloudRunConfig contains the Cloud Run runtime configuration.", +"id": "CloudRunConfig", +"properties": { +"automaticTrafficControl": { +"description": "Optional. Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.", +"type": "boolean" +}, +"canaryRevisionTags": { +"description": "Optional. A list of tags that are added to the canary revision while the canary phase is in progress.", +"items": { +"type": "string" +}, +"type": "array" +}, +"priorRevisionTags": { +"description": "Optional. A list of tags that are added to the prior revision while the canary phase is in progress.", +"items": { +"type": "string" +}, +"type": "array" +}, +"stableRevisionTags": { +"description": "Optional. A list of tags that are added to the final stable revision when the stable phase is applied.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudRunLocation": { +"description": "Information specifying where to deploy a Cloud Run Service.", +"id": "CloudRunLocation", +"properties": { +"location": { +"description": "Required. The location for the Cloud Run Service. Format must be `projects/{project}/locations/{location}`.", +"type": "string" +} +}, +"type": "object" +}, +"CloudRunMetadata": { +"description": "CloudRunMetadata contains information from a Cloud Run deployment.", +"id": "CloudRunMetadata", +"properties": { +"job": { +"description": "Output only. The name of the Cloud Run job that is associated with a `Rollout`. Format is `projects/{project}/locations/{location}/jobs/{job_name}`.", +"readOnly": true, +"type": "string" +}, +"revision": { +"description": "Output only. The Cloud Run Revision id associated with a `Rollout`.", +"readOnly": true, +"type": "string" +}, +"service": { +"description": "Output only. The name of the Cloud Run Service that is associated with a `Rollout`. Format is `projects/{project}/locations/{location}/services/{service}`.", +"readOnly": true, +"type": "string" +}, +"serviceUrls": { +"description": "Output only. The Cloud Run Service urls that are associated with a `Rollout`.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"CloudRunRenderMetadata": { +"description": "CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render.", +"id": "CloudRunRenderMetadata", +"properties": { +"service": { +"description": "Output only. The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Config": { +"description": "Service-wide configuration.", +"id": "Config", +"properties": { +"defaultSkaffoldVersion": { +"description": "Default Skaffold version that is assigned when a Release is created without specifying a Skaffold version.", +"type": "string" +}, +"name": { +"description": "Name of the configuration.", +"type": "string" +}, +"supportedVersions": { +"description": "All supported versions of Skaffold.", +"items": { +"$ref": "SkaffoldVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateChildRolloutJob": { +"description": "A createChildRollout Job.", +"id": "CreateChildRolloutJob", +"properties": {}, +"type": "object" +}, +"CreateChildRolloutJobRun": { +"description": "CreateChildRolloutJobRun contains information specific to a createChildRollout `JobRun`.", +"id": "CreateChildRolloutJobRun", +"properties": { +"rollout": { +"description": "Output only. Name of the `ChildRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"readOnly": true, +"type": "string" +}, +"rolloutPhaseId": { +"description": "Output only. The ID of the childRollout Phase initiated by this JobRun.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CustomCanaryDeployment": { +"description": "CustomCanaryDeployment represents the custom canary deployment configuration.", +"id": "CustomCanaryDeployment", +"properties": { +"phaseConfigs": { +"description": "Required. Configuration for each phase in the canary deployment in the order executed.", +"items": { +"$ref": "PhaseConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomMetadata": { +"description": "CustomMetadata contains information from a user-defined operation.", +"id": "CustomMetadata", +"properties": { +"values": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Key-value pairs provided by the user-defined operation.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"CustomTarget": { +"description": "Information specifying a Custom Target.", +"id": "CustomTarget", +"properties": { +"customTargetType": { +"description": "Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`.", +"type": "string" +} +}, +"type": "object" +}, +"CustomTargetDeployMetadata": { +"description": "CustomTargetDeployMetadata contains information from a Custom Target deploy operation.", +"id": "CustomTargetDeployMetadata", +"properties": { +"skipMessage": { +"description": "Output only. Skip message provided in the results of a custom deploy operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CustomTargetSkaffoldActions": { +"description": "CustomTargetSkaffoldActions represents the `CustomTargetType` configuration using Skaffold custom actions.", +"id": "CustomTargetSkaffoldActions", +"properties": { +"deployAction": { +"description": "Required. The Skaffold custom action responsible for deploy operations.", +"type": "string" +}, +"includeSkaffoldModules": { +"description": "Optional. List of Skaffold modules Cloud Deploy will include in the Skaffold Config as required before performing diagnose.", +"items": { +"$ref": "SkaffoldModules" +}, +"type": "array" +}, +"renderAction": { +"description": "Optional. The Skaffold custom action responsible for render operations. If not provided then Cloud Deploy will perform the render operations via `skaffold render`.", +"type": "string" +} +}, +"type": "object" +}, +"CustomTargetType": { +"description": "A `CustomTargetType` resource in the Cloud Deploy API. A `CustomTargetType` defines a type of custom target that can be referenced in a `Target` in order to facilitate deploying to other systems besides the supported runtimes.", +"id": "CustomTargetType", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", +"type": "object" +}, +"createTime": { +"description": "Output only. Time at which the `CustomTargetType` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customActions": { +"$ref": "CustomTargetSkaffoldActions", +"description": "Optional. Configures render and deploy for the `CustomTargetType` using Skaffold custom actions." +}, +"customTargetTypeId": { +"description": "Output only. Resource id of the `CustomTargetType`.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the `CustomTargetType`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"type": "string" +}, +"uid": { +"description": "Output only. Unique identifier of the `CustomTargetType`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Most recent time at which the `CustomTargetType` was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CustomTargetTypeNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/customtargettype_notification\" Platform Log event that describes the failure to send a custom target type status change Pub/Sub notification.", +"id": "CustomTargetTypeNotificationEvent", +"properties": { +"customTargetType": { +"description": "The name of the `CustomTargetType`.", +"type": "string" +}, +"customTargetTypeUid": { +"description": "Unique identifier of the `CustomTargetType`.", +"type": "string" +}, +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DefaultPool": { +"description": "Execution using the default Cloud Build pool.", +"id": "DefaultPool", +"properties": { +"artifactStorage": { +"description": "Optional. Cloud Storage location where execution outputs should be stored. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) will be used.", +"type": "string" +} +}, +"type": "object" +}, +"DeliveryPipeline": { +"description": "A `DeliveryPipeline` resource in the Cloud Deploy API. A `DeliveryPipeline` defines a pipeline through which a Skaffold configuration can progress.", +"id": "DeliveryPipeline", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy.", +"type": "object" +}, +"condition": { +"$ref": "PipelineCondition", +"description": "Output only. Information around the state of the Delivery Pipeline.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time at which the pipeline was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the `DeliveryPipeline`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"type": "string" +}, +"serialPipeline": { +"$ref": "SerialPipeline", +"description": "Optional. SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`." +}, +"suspended": { +"description": "Optional. When suspended, no new releases or rollouts can be created, but in-progress ones will complete.", +"type": "boolean" +}, +"uid": { +"description": "Output only. Unique identifier of the `DeliveryPipeline`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Most recent time at which the pipeline was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DeliveryPipelineAttribute": { +"description": "Contains criteria for selecting DeliveryPipelines.", +"id": "DeliveryPipelineAttribute", +"properties": { +"id": { +"description": "Optional. ID of the `DeliveryPipeline`. The value of this field could be one of the following: * The last segment of a pipeline name * \"*\", all delivery pipelines in a location", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "DeliveryPipeline labels.", +"type": "object" +} +}, +"type": "object" +}, +"DeliveryPipelineNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/deliverypipeline_notification\" Platform Log event that describes the failure to send delivery pipeline status change Pub/Sub notification.", +"id": "DeliveryPipelineNotificationEvent", +"properties": { +"deliveryPipeline": { +"description": "The name of the `Delivery Pipeline`.", +"type": "string" +}, +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"DeployArtifact": { +"description": "The artifacts produced by a deploy operation.", +"id": "DeployArtifact", +"properties": { +"artifactUri": { +"description": "Output only. URI of a directory containing the artifacts. All paths are relative to this location.", +"readOnly": true, +"type": "string" +}, +"manifestPaths": { +"description": "Output only. File paths of the manifests applied during the deploy operation relative to the URI.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"DeployJob": { +"description": "A deploy Job.", +"id": "DeployJob", +"properties": {}, +"type": "object" +}, +"DeployJobRun": { +"description": "DeployJobRun contains information specific to a deploy `JobRun`.", +"id": "DeployJobRun", +"properties": { +"artifact": { +"$ref": "DeployArtifact", +"description": "Output only. The artifact of a deploy job run, if available.", +"readOnly": true +}, +"build": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to deploy. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"failureCause": { +"description": "Output only. The reason the deploy failed. This will always be unspecified while the deploy is in progress or if it succeeded.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"DEADLINE_EXCEEDED", +"MISSING_RESOURCES_FOR_CANARY", +"CLOUD_BUILD_REQUEST_FAILED", +"DEPLOY_FEATURE_NOT_SUPPORTED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [Required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The deploy operation did not complete successfully; check Cloud Build logs.", +"The deploy job run did not complete within the alloted time.", +"There were missing resources in the runtime environment required for a canary deployment. Check the Cloud Build logs for more information.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details.", +"The deploy operation had a feature configured that is not supported." +], +"readOnly": true, +"type": "string" +}, +"failureMessage": { +"description": "Output only. Additional information about the deploy failure, if available.", +"readOnly": true, +"type": "string" +}, +"metadata": { +"$ref": "DeployJobRunMetadata", +"description": "Output only. Metadata containing information about the deploy job run.", +"readOnly": true +} +}, +"type": "object" +}, +"DeployJobRunMetadata": { +"description": "DeployJobRunMetadata surfaces information associated with a `DeployJobRun` to the user.", +"id": "DeployJobRunMetadata", +"properties": { +"cloudRun": { +"$ref": "CloudRunMetadata", +"description": "Output only. The name of the Cloud Run Service that is associated with a `DeployJobRun`.", +"readOnly": true +}, +"custom": { +"$ref": "CustomMetadata", +"description": "Output only. Custom metadata provided by user-defined deploy operation.", +"readOnly": true +}, +"customTarget": { +"$ref": "CustomTargetDeployMetadata", +"description": "Output only. Custom Target metadata associated with a `DeployJobRun`.", +"readOnly": true +} +}, +"type": "object" +}, +"DeployParameters": { +"description": "DeployParameters contains deploy parameters information.", +"id": "DeployParameters", +"properties": { +"matchTargetLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).", +"type": "object" +}, +"values": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Values are deploy parameters in key-value pairs.", +"type": "object" +} +}, +"type": "object" +}, +"DeployPolicy": { +"description": "A `DeployPolicy` resource in the Cloud Deploy API. A `DeployPolicy` inhibits manual or automation-driven actions within a Delivery Pipeline or Target.", +"id": "DeployPolicy", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.", +"type": "object" +}, +"createTime": { +"description": "Output only. Time at which the deploy policy was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the `DeployPolicy`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "The weak etag of the `Automation` resource. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the `DeployPolicy`. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"readOnly": true, +"type": "string" +}, +"rules": { +"description": "Required. Rules to apply. At least one rule must be present.", +"items": { +"$ref": "PolicyRule" +}, +"type": "array" +}, +"selectors": { +"description": "Required. Selected resources to which the policy will be applied. At least one selector is required. If one selector matches the resource the policy applies. For example, if there are two selectors and the action being attempted matches one of them, the policy will apply to that action.", +"items": { +"$ref": "DeployPolicyResourceSelector" +}, +"type": "array" +}, +"suspended": { +"description": "Optional. When suspended, the policy will not prevent actions from occurring, even if the action violates the policy.", +"type": "boolean" +}, +"uid": { +"description": "Output only. Unique identifier of the `DeployPolicy`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Most recent time at which the deploy policy was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DeployPolicyEvaluationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/deploypolicy_evaluation\" Platform Log event that describes the deploy policy evaluation event.", +"id": "DeployPolicyEvaluationEvent", +"properties": { +"allowed": { +"description": "Whether the request is allowed. Allowed is set as true if: (1) the request complies with the policy; or (2) the request doesn't comply with the policy but the policy was overridden; or (3) the request doesn't comply with the policy but the policy was suspended", +"type": "boolean" +}, +"deliveryPipeline": { +"description": "The name of the `Delivery Pipeline`.", +"type": "string" +}, +"deployPolicy": { +"description": "The name of the `DeployPolicy`.", +"type": "string" +}, +"deployPolicyUid": { +"description": "Unique identifier of the `DeployPolicy`.", +"type": "string" +}, +"invoker": { +"description": "What invoked the action (e.g. a user or automation).", +"enum": [ +"INVOKER_UNSPECIFIED", +"USER", +"DEPLOY_AUTOMATION" +], +"enumDescriptions": [ +"Unspecified.", +"The action is user-driven. For example, creating a rollout manually via a gcloud create command.", +"Automated action by Cloud Deploy." +], +"type": "string" +}, +"message": { +"description": "Debug message for when a deploy policy event occurs.", +"type": "string" +}, +"overrides": { +"description": "Things that could have overridden the policy verdict. Overrides together with verdict decide whether the request is allowed.", +"items": { +"enum": [ +"POLICY_VERDICT_OVERRIDE_UNSPECIFIED", +"POLICY_OVERRIDDEN", +"POLICY_SUSPENDED" +], +"enumDescriptions": [ +"This should never happen.", +"The policy was overridden.", +"The policy was suspended." +], +"type": "string" +}, +"type": "array" +}, +"pipelineUid": { +"description": "Unique identifier of the `Delivery Pipeline`.", +"type": "string" +}, +"rule": { +"description": "Rule id.", +"type": "string" +}, +"ruleType": { +"description": "Rule type (e.g. Restrict Rollouts).", +"type": "string" +}, +"target": { +"description": "The name of the `Target`. This is an optional field, as a `Target` may not always be applicable to a policy.", +"type": "string" +}, +"targetUid": { +"description": "Unique identifier of the `Target`. This is an optional field, as a `Target` may not always be applicable to a policy.", +"type": "string" +}, +"verdict": { +"description": "The policy verdict of the request.", +"enum": [ +"POLICY_VERDICT_UNSPECIFIED", +"ALLOWED_BY_POLICY", +"DENIED_BY_POLICY" +], +"enumDescriptions": [ +"This should never happen.", +"Allowed by policy. This enum value is not currently used but may be used in the future. Currently logs are only generated when a request is denied by policy.", +"Denied by policy." +], +"type": "string" +} +}, +"type": "object" +}, +"DeployPolicyNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/deploypolicy_notification\". Platform Log event that describes the failure to send a pub/sub notification when there is a DeployPolicy status change.", +"id": "DeployPolicyNotificationEvent", +"properties": { +"deployPolicy": { +"description": "The name of the `DeployPolicy`.", +"type": "string" +}, +"deployPolicyUid": { +"description": "Unique identifier of the deploy policy.", +"type": "string" +}, +"message": { +"description": "Debug message for when a deploy policy fails to send a pub/sub notification.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"DeployPolicyResourceSelector": { +"description": "Contains information on the resources to select for a deploy policy. Attributes provided must all match the resource in order for policy restrictions to apply. For example, if delivery pipelines attributes given are an id \"prod\" and labels \"foo: bar\", a delivery pipeline resource must match both that id and have that label in order to be subject to the policy.", +"id": "DeployPolicyResourceSelector", +"properties": { +"deliveryPipeline": { +"$ref": "DeliveryPipelineAttribute", +"description": "Optional. Contains attributes about a delivery pipeline." +}, +"target": { +"$ref": "TargetAttribute", +"description": "Optional. Contains attributes about a target." +} +}, +"type": "object" +}, +"DeploymentJobs": { +"description": "Deployment job composition.", +"id": "DeploymentJobs", +"properties": { +"deployJob": { +"$ref": "Job", +"description": "Output only. The deploy Job. This is the deploy job in the phase.", +"readOnly": true +}, +"postdeployJob": { +"$ref": "Job", +"description": "Output only. The postdeploy Job, which is the last job on the phase.", +"readOnly": true +}, +"predeployJob": { +"$ref": "Job", +"description": "Output only. The predeploy Job, which is the first job on the phase.", +"readOnly": true +}, +"verifyJob": { +"$ref": "Job", +"description": "Output only. The verify Job. Runs after a deploy if the deploy succeeds.", +"readOnly": true +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ExecutionConfig": { +"description": "Configuration of the environment to use when calling Skaffold.", +"id": "ExecutionConfig", +"properties": { +"artifactStorage": { +"description": "Optional. Cloud Storage location in which to store execution outputs. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", +"type": "string" +}, +"defaultPool": { +"$ref": "DefaultPool", +"description": "Optional. Use default Cloud Build pool." +}, +"executionTimeout": { +"description": "Optional. Execution timeout for a Cloud Build Execution. This must be between 10m and 24h in seconds format. If unspecified, a default timeout of 1h is used.", +"format": "google-duration", +"type": "string" +}, +"privatePool": { +"$ref": "PrivatePool", +"description": "Optional. Use private Cloud Build pool." +}, +"serviceAccount": { +"description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) is used.", +"type": "string" +}, +"usages": { +"description": "Required. Usages when this configuration should be applied.", +"items": { +"enum": [ +"EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED", +"RENDER", +"DEPLOY", +"VERIFY", +"PREDEPLOY", +"POSTDEPLOY" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Use for rendering.", +"Use for deploying and deployment hooks.", +"Use for deployment verification.", +"Use for predeploy job execution.", +"Use for postdeploy job execution." +], +"type": "string" +}, +"type": "array" +}, +"verbose": { +"description": "Optional. If true, additional logging will be enabled when running builds in this execution environment.", +"type": "boolean" +}, +"workerPool": { +"description": "Optional. The resource name of the `WorkerPool`, with the format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. If this optional field is unspecified, the default Cloud Build pool will be used.", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GatewayServiceMesh": { +"description": "Information about the Kubernetes Gateway API service mesh configuration.", +"id": "GatewayServiceMesh", +"properties": { +"deployment": { +"description": "Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.", +"type": "string" +}, +"httpRoute": { +"description": "Required. Name of the Gateway API HTTPRoute.", +"type": "string" +}, +"podSelectorLabel": { +"description": "Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.", +"type": "string" +}, +"routeDestinations": { +"$ref": "RouteDestinations", +"description": "Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster." +}, +"routeUpdateWaitTime": { +"description": "Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.", +"format": "google-duration", +"type": "string" +}, +"service": { +"description": "Required. Name of the Kubernetes Service.", +"type": "string" +}, +"stableCutbackDuration": { +"description": "Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GkeCluster": { +"description": "Information specifying a GKE Cluster.", +"id": "GkeCluster", +"properties": { +"cluster": { +"description": "Optional. Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`.", +"type": "string" +}, +"dnsEndpoint": { +"description": "Optional. If set, the cluster will be accessed using the DNS endpoint. Note that both `dns_endpoint` and `internal_ip` cannot be set to true.", +"type": "boolean" +}, +"internalIp": { +"description": "Optional. If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept). Note that `internal_ip` and `dns_endpoint` cannot both be set to true.", +"type": "boolean" +}, +"proxyUrl": { +"description": "Optional. If set, used to configure a [proxy](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#proxy) to the Kubernetes server.", +"type": "string" +} +}, +"type": "object" +}, +"IgnoreJobRequest": { +"description": "The request object used by `IgnoreJob`.", +"id": "IgnoreJobRequest", +"properties": { +"jobId": { +"description": "Required. The job ID for the Job to ignore.", +"type": "string" +}, +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phaseId": { +"description": "Required. The phase ID the Job to ignore belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"IgnoreJobResponse": { +"description": "The response object from `IgnoreJob`.", +"id": "IgnoreJobResponse", +"properties": {}, +"type": "object" +}, +"Job": { +"description": "Job represents an operation for a `Rollout`.", +"id": "Job", +"properties": { +"advanceChildRolloutJob": { +"$ref": "AdvanceChildRolloutJob", +"description": "Output only. An advanceChildRollout Job.", +"readOnly": true +}, +"createChildRolloutJob": { +"$ref": "CreateChildRolloutJob", +"description": "Output only. A createChildRollout Job.", +"readOnly": true +}, +"deployJob": { +"$ref": "DeployJob", +"description": "Output only. A deploy Job.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the Job.", +"readOnly": true, +"type": "string" +}, +"jobRun": { +"description": "Output only. The name of the `JobRun` responsible for the most recent invocation of this Job.", +"readOnly": true, +"type": "string" +}, +"postdeployJob": { +"$ref": "PostdeployJob", +"description": "Output only. A postdeploy Job.", +"readOnly": true +}, +"predeployJob": { +"$ref": "PredeployJob", +"description": "Output only. A predeploy Job.", +"readOnly": true +}, +"skipMessage": { +"description": "Output only. Additional information on why the Job was skipped, if available.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the Job.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"DISABLED", +"IN_PROGRESS", +"SUCCEEDED", +"FAILED", +"ABORTED", +"SKIPPED", +"IGNORED" +], +"enumDescriptions": [ +"The Job has an unspecified state.", +"The Job is waiting for an earlier Phase(s) or Job(s) to complete.", +"The Job is disabled.", +"The Job is in progress.", +"The Job succeeded.", +"The Job failed.", +"The Job was aborted.", +"The Job was skipped.", +"The Job was ignored." +], +"readOnly": true, +"type": "string" +}, +"verifyJob": { +"$ref": "VerifyJob", +"description": "Output only. A verify Job.", +"readOnly": true +} +}, +"type": "object" +}, +"JobRun": { +"description": "A `JobRun` resource in the Cloud Deploy API. A `JobRun` contains information of a single `Rollout` job evaluation.", +"id": "JobRun", +"properties": { +"advanceChildRolloutJobRun": { +"$ref": "AdvanceChildRolloutJobRun", +"description": "Output only. Information specific to an advanceChildRollout `JobRun`", +"readOnly": true +}, +"createChildRolloutJobRun": { +"$ref": "CreateChildRolloutJobRun", +"description": "Output only. Information specific to a createChildRollout `JobRun`.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time at which the `JobRun` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployJobRun": { +"$ref": "DeployJobRun", +"description": "Output only. Information specific to a deploy `JobRun`.", +"readOnly": true +}, +"endTime": { +"description": "Output only. Time at which the `JobRun` ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"readOnly": true, +"type": "string" +}, +"jobId": { +"description": "Output only. ID of the `Rollout` job this `JobRun` corresponds to.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Name of the `JobRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`.", +"type": "string" +}, +"phaseId": { +"description": "Output only. ID of the `Rollout` phase this `JobRun` belongs in.", +"readOnly": true, +"type": "string" +}, +"postdeployJobRun": { +"$ref": "PostdeployJobRun", +"description": "Output only. Information specific to a postdeploy `JobRun`.", +"readOnly": true +}, +"predeployJobRun": { +"$ref": "PredeployJobRun", +"description": "Output only. Information specific to a predeploy `JobRun`.", +"readOnly": true +}, +"startTime": { +"description": "Output only. Time at which the `JobRun` was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the `JobRun`.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"SUCCEEDED", +"FAILED", +"TERMINATING", +"TERMINATED" +], +"enumDescriptions": [ +"The `JobRun` has an unspecified state.", +"The `JobRun` is in progress.", +"The `JobRun` has succeeded.", +"The `JobRun` has failed.", +"The `JobRun` is terminating.", +"The `JobRun` was terminated." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. Unique identifier of the `JobRun`.", +"readOnly": true, +"type": "string" +}, +"verifyJobRun": { +"$ref": "VerifyJobRun", +"description": "Output only. Information specific to a verify `JobRun`.", +"readOnly": true +} +}, +"type": "object" +}, +"JobRunNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/jobrun_notification\" Platform Log event that describes the failure to send JobRun resource update Pub/Sub notification.", +"id": "JobRunNotificationEvent", +"properties": { +"jobRun": { +"description": "The name of the `JobRun`.", +"type": "string" +}, +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"release": { +"description": "The name of the `Release`.", +"type": "string" +}, +"releaseUid": { +"description": "Unique identifier of the `Release`.", +"type": "string" +}, +"rollout": { +"description": "The name of the `Rollout`.", +"type": "string" +}, +"rolloutUid": { +"description": "Unique identifier of the `Rollout`.", +"type": "string" +}, +"targetId": { +"description": "ID of the `Target`.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"KubernetesConfig": { +"description": "KubernetesConfig contains the Kubernetes runtime configuration.", +"id": "KubernetesConfig", +"properties": { +"gatewayServiceMesh": { +"$ref": "GatewayServiceMesh", +"description": "Optional. Kubernetes Gateway API service mesh configuration." +}, +"serviceNetworking": { +"$ref": "ServiceNetworking", +"description": "Optional. Kubernetes Service networking configuration." +} +}, +"type": "object" +}, +"ListAutomationRunsResponse": { +"description": "The response object from `ListAutomationRuns`.", +"id": "ListAutomationRunsResponse", +"properties": { +"automationRuns": { +"description": "The `AutomationRuns` objects.", +"items": { +"$ref": "AutomationRun" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAutomationsResponse": { +"description": "The response object from `ListAutomations`.", +"id": "ListAutomationsResponse", +"properties": { +"automations": { +"description": "The `Automation` objects.", +"items": { +"$ref": "Automation" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCustomTargetTypesResponse": { +"description": "The response object from `ListCustomTargetTypes.`", +"id": "ListCustomTargetTypesResponse", +"properties": { +"customTargetTypes": { +"description": "The `CustomTargetType` objects.", +"items": { +"$ref": "CustomTargetType" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListDeliveryPipelinesResponse": { +"description": "The response object from `ListDeliveryPipelines`.", +"id": "ListDeliveryPipelinesResponse", +"properties": { +"deliveryPipelines": { +"description": "The `DeliveryPipeline` objects.", +"items": { +"$ref": "DeliveryPipeline" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListDeployPoliciesResponse": { +"description": "The response object from `ListDeployPolicies`.", +"id": "ListDeployPoliciesResponse", +"properties": { +"deployPolicies": { +"description": "The `DeployPolicy` objects.", +"items": { +"$ref": "DeployPolicy" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListJobRunsResponse": { +"description": "ListJobRunsResponse is the response object returned by `ListJobRuns`.", +"id": "ListJobRunsResponse", +"properties": { +"jobRuns": { +"description": "The `JobRun` objects.", +"items": { +"$ref": "JobRun" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListReleasesResponse": { +"description": "The response object from `ListReleases`.", +"id": "ListReleasesResponse", +"properties": { +"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" +}, +"releases": { +"description": "The `Release` objects.", +"items": { +"$ref": "Release" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRolloutsResponse": { +"description": "ListRolloutsResponse is the response object reutrned by `ListRollouts`.", +"id": "ListRolloutsResponse", +"properties": { +"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" +}, +"rollouts": { +"description": "The `Rollout` objects.", +"items": { +"$ref": "Rollout" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTargetsResponse": { +"description": "The response object from `ListTargets`.", +"id": "ListTargetsResponse", +"properties": { +"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" +}, +"targets": { +"description": "The `Target` objects.", +"items": { +"$ref": "Target" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "Metadata includes information associated with a `Rollout`.", +"id": "Metadata", +"properties": { +"automation": { +"$ref": "AutomationRolloutMetadata", +"description": "Output only. AutomationRolloutMetadata contains the information about the interactions between Automation service and this rollout.", +"readOnly": true +}, +"cloudRun": { +"$ref": "CloudRunMetadata", +"description": "Output only. The name of the Cloud Run Service that is associated with a `Rollout`.", +"readOnly": true +}, +"custom": { +"$ref": "CustomMetadata", +"description": "Output only. Custom metadata provided by user-defined `Rollout` operations.", +"readOnly": true +} +}, +"type": "object" +}, +"MultiTarget": { +"description": "Information specifying a multiTarget.", +"id": "MultiTarget", +"properties": { +"targetIds": { +"description": "Required. The target_ids of this multiTarget.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OneTimeWindow": { +"description": "One-time window within which actions are restricted. For example, blocking actions over New Year's Eve from December 31st at 5pm to January 1st at 9am.", +"id": "OneTimeWindow", +"properties": { +"endDate": { +"$ref": "Date", +"description": "Required. End date." +}, +"endTime": { +"$ref": "TimeOfDay", +"description": "Required. End time (exclusive). You may use 24:00 for the end of the day." +}, +"startDate": { +"$ref": "Date", +"description": "Required. Start date." +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "Required. Start time (inclusive). Use 00:00 for the beginning of the day." +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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 google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"Phase": { +"description": "Phase represents a collection of jobs that are logically grouped together for a `Rollout`.", +"id": "Phase", +"properties": { +"childRolloutJobs": { +"$ref": "ChildRolloutJobs", +"description": "Output only. ChildRollout job composition.", +"readOnly": true +}, +"deploymentJobs": { +"$ref": "DeploymentJobs", +"description": "Output only. Deployment job composition.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the Phase.", +"readOnly": true, +"type": "string" +}, +"skipMessage": { +"description": "Output only. Additional information on why the Phase was skipped, if available.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the Phase.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"IN_PROGRESS", +"SUCCEEDED", +"FAILED", +"ABORTED", +"SKIPPED" +], +"enumDescriptions": [ +"The Phase has an unspecified state.", +"The Phase is waiting for an earlier Phase(s) to complete.", +"The Phase is in progress.", +"The Phase has succeeded.", +"The Phase has failed.", +"The Phase was aborted.", +"The Phase was skipped." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PhaseArtifact": { +"description": "Contains the paths to the artifacts, relative to the URI, for a phase.", +"id": "PhaseArtifact", +"properties": { +"jobManifestsPath": { +"description": "Output only. File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable.", +"readOnly": true, +"type": "string" +}, +"manifestPath": { +"description": "Output only. File path of the rendered manifest relative to the URI.", +"readOnly": true, +"type": "string" +}, +"skaffoldConfigPath": { +"description": "Output only. File path of the resolved Skaffold configuration relative to the URI.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PhaseConfig": { +"description": "PhaseConfig represents the configuration for a phase in the custom canary deployment.", +"id": "PhaseConfig", +"properties": { +"percentage": { +"description": "Required. Percentage deployment for the phase.", +"format": "int32", +"type": "integer" +}, +"phaseId": { +"description": "Required. The ID to assign to the `Rollout` phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"type": "string" +}, +"postdeploy": { +"$ref": "Postdeploy", +"description": "Optional. Configuration for the postdeploy job of this phase. If this is not configured, there will be no postdeploy job for this phase." +}, +"predeploy": { +"$ref": "Predeploy", +"description": "Optional. Configuration for the predeploy job of this phase. If this is not configured, there will be no predeploy job for this phase." +}, +"profiles": { +"description": "Optional. Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage.", +"items": { +"type": "string" +}, +"type": "array" +}, +"verify": { +"description": "Optional. Whether to run verify tests after the deployment.", +"type": "boolean" +} +}, +"type": "object" +}, +"PipelineCondition": { +"description": "PipelineCondition contains all conditions relevant to a Delivery Pipeline.", +"id": "PipelineCondition", +"properties": { +"pipelineReadyCondition": { +"$ref": "PipelineReadyCondition", +"description": "Details around the Pipeline's overall status." +}, +"targetsPresentCondition": { +"$ref": "TargetsPresentCondition", +"description": "Details around targets enumerated in the pipeline." +}, +"targetsTypeCondition": { +"$ref": "TargetsTypeCondition", +"description": "Details on the whether the targets enumerated in the pipeline are of the same type." +} +}, +"type": "object" +}, +"PipelineReadyCondition": { +"description": "PipelineReadyCondition contains information around the status of the Pipeline.", +"id": "PipelineReadyCondition", +"properties": { +"status": { +"description": "True if the Pipeline is in a valid state. Otherwise at least one condition in `PipelineCondition` is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.", +"type": "boolean" +}, +"updateTime": { +"description": "Last time the condition was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PolicyRule": { +"description": "Deploy Policy rule.", +"id": "PolicyRule", +"properties": { +"rolloutRestriction": { +"$ref": "RolloutRestriction", +"description": "Optional. Rollout restrictions." +} +}, +"type": "object" +}, +"PolicyViolation": { +"description": "Returned from an action if one or more policies were violated, and therefore the action was prevented. Contains information about what policies were violated and why.", +"id": "PolicyViolation", +"properties": { +"policyViolationDetails": { +"description": "Policy violation details.", +"items": { +"$ref": "PolicyViolationDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyViolationDetails": { +"description": "Policy violation details.", +"id": "PolicyViolationDetails", +"properties": { +"failureMessage": { +"description": "User readable message about why the request violated a policy. This is not intended for machine parsing.", +"type": "string" +}, +"policy": { +"description": "Name of the policy that was violated. Policy resource will be in the format of `projects/{project}/locations/{location}/policies/{policy}`.", +"type": "string" +}, +"ruleId": { +"description": "Id of the rule that triggered the policy violation.", +"type": "string" +} +}, +"type": "object" +}, +"Postdeploy": { +"description": "Postdeploy contains the postdeploy job configuration information.", +"id": "Postdeploy", +"properties": { +"actions": { +"description": "Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PostdeployJob": { +"description": "A postdeploy Job.", +"id": "PostdeployJob", +"properties": { +"actions": { +"description": "Output only. The custom actions that the postdeploy Job executes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"PostdeployJobRun": { +"description": "PostdeployJobRun contains information specific to a postdeploy `JobRun`.", +"id": "PostdeployJobRun", +"properties": { +"build": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to execute the custom actions associated with the postdeploy Job. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"failureCause": { +"description": "Output only. The reason the postdeploy failed. This will always be unspecified while the postdeploy is in progress or if it succeeded.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"DEADLINE_EXCEEDED", +"CLOUD_BUILD_REQUEST_FAILED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The postdeploy operation did not complete successfully; check Cloud Build logs.", +"The postdeploy job run did not complete within the alloted time.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." +], +"readOnly": true, +"type": "string" +}, +"failureMessage": { +"description": "Output only. Additional information about the postdeploy failure, if available.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Predeploy": { +"description": "Predeploy contains the predeploy job configuration information.", +"id": "Predeploy", +"properties": { +"actions": { +"description": "Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PredeployJob": { +"description": "A predeploy Job.", +"id": "PredeployJob", +"properties": { +"actions": { +"description": "Output only. The custom actions that the predeploy Job executes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"PredeployJobRun": { +"description": "PredeployJobRun contains information specific to a predeploy `JobRun`.", +"id": "PredeployJobRun", +"properties": { +"build": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to execute the custom actions associated with the predeploy Job. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"failureCause": { +"description": "Output only. The reason the predeploy failed. This will always be unspecified while the predeploy is in progress or if it succeeded.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"DEADLINE_EXCEEDED", +"CLOUD_BUILD_REQUEST_FAILED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The predeploy operation did not complete successfully; check Cloud Build logs.", +"The predeploy job run did not complete within the alloted time.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." +], +"readOnly": true, +"type": "string" +}, +"failureMessage": { +"description": "Output only. Additional information about the predeploy failure, if available.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PrivatePool": { +"description": "Execution using a private Cloud Build pool.", +"id": "PrivatePool", +"properties": { +"artifactStorage": { +"description": "Optional. Cloud Storage location where execution outputs should be stored. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) will be used.", +"type": "string" +}, +"workerPool": { +"description": "Required. Resource name of the Cloud Build worker pool to use. The format is `projects/{project}/locations/{location}/workerPools/{pool}`.", +"type": "string" +} +}, +"type": "object" +}, +"PromoteReleaseOperation": { +"description": "Contains the information of an automated promote-release operation.", +"id": "PromoteReleaseOperation", +"properties": { +"phase": { +"description": "Output only. The starting phase of the rollout created by this operation.", +"readOnly": true, +"type": "string" +}, +"rollout": { +"description": "Output only. The name of the rollout that initiates the `AutomationRun`.", +"readOnly": true, +"type": "string" +}, +"targetId": { +"description": "Output only. The ID of the target that represents the promotion stage to which the release will be promoted. The value of this field is the last segment of a target name.", +"readOnly": true, +"type": "string" +}, +"wait": { +"description": "Output only. How long the operation will be paused.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PromoteReleaseRule": { +"description": "The `PromoteRelease` rule will automatically promote a release from the current target to a specified target.", +"id": "PromoteReleaseRule", +"properties": { +"condition": { +"$ref": "AutomationRuleCondition", +"description": "Output only. Information around the state of the Automation rule.", +"readOnly": true +}, +"destinationPhase": { +"description": "Optional. The starting phase of the rollout created by this operation. Default to the first phase.", +"type": "string" +}, +"destinationTargetId": { +"description": "Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name * \"@next\", the next target in the promotion sequence", +"type": "string" +}, +"id": { +"description": "Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"wait": { +"description": "Optional. How long the release need to be paused until being promoted to the next target.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Release": { +"description": "A `Release` resource in the Cloud Deploy API. A `Release` defines a specific Skaffold configuration instance that can be deployed.", +"id": "Release", +"properties": { +"abandoned": { +"description": "Output only. Indicates whether this is an abandoned release.", +"readOnly": true, +"type": "boolean" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", +"type": "object" +}, +"buildArtifacts": { +"description": "Optional. List of artifacts to pass through to Skaffold command.", +"items": { +"$ref": "BuildArtifact" +}, +"type": "array" +}, +"condition": { +"$ref": "ReleaseCondition", +"description": "Output only. Information around the state of the Release.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time at which the `Release` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customTargetTypeSnapshots": { +"description": "Output only. Snapshot of the custom target types referenced by the targets taken at release creation time.", +"items": { +"$ref": "CustomTargetType" +}, +"readOnly": true, +"type": "array" +}, +"deliveryPipelineSnapshot": { +"$ref": "DeliveryPipeline", +"description": "Output only. Snapshot of the parent pipeline taken at release creation time.", +"readOnly": true +}, +"deployParameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The deploy parameters to use for all targets in this release.", +"type": "object" +}, +"description": { +"description": "Optional. Description of the `Release`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"type": "string" +}, +"renderEndTime": { +"description": "Output only. Time at which the render completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"renderStartTime": { +"description": "Output only. Time at which the render began.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"renderState": { +"description": "Output only. Current state of the render operation.", +"enum": [ +"RENDER_STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"The render state is unspecified.", +"All rendering operations have completed successfully.", +"All rendering operations have completed, and one or more have failed.", +"Rendering has started and is not complete." +], +"readOnly": true, +"type": "string" +}, +"skaffoldConfigPath": { +"description": "Optional. Filepath of the Skaffold config inside of the config URI.", +"type": "string" +}, +"skaffoldConfigUri": { +"description": "Optional. Cloud Storage URI of tar.gz archive containing Skaffold configuration.", +"type": "string" +}, +"skaffoldVersion": { +"description": "Optional. The Skaffold version to use when operating on this release, such as \"1.20.0\". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used.", +"type": "string" +}, +"targetArtifacts": { +"additionalProperties": { +"$ref": "TargetArtifact" +}, +"description": "Output only. Map from target ID to the target artifacts created during the render operation.", +"readOnly": true, +"type": "object" +}, +"targetRenders": { +"additionalProperties": { +"$ref": "TargetRender" +}, +"description": "Output only. Map from target ID to details of the render operation for that target.", +"readOnly": true, +"type": "object" +}, +"targetSnapshots": { +"description": "Output only. Snapshot of the targets taken at release creation time.", +"items": { +"$ref": "Target" +}, +"readOnly": true, +"type": "array" +}, +"uid": { +"description": "Output only. Unique identifier of the `Release`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ReleaseCondition": { +"description": "ReleaseCondition contains all conditions relevant to a Release.", +"id": "ReleaseCondition", +"properties": { +"releaseReadyCondition": { +"$ref": "ReleaseReadyCondition", +"description": "Details around the Releases's overall status." +}, +"skaffoldSupportedCondition": { +"$ref": "SkaffoldSupportedCondition", +"description": "Details around the support state of the release's Skaffold version." +} +}, +"type": "object" +}, +"ReleaseNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/release_notification\" Platform Log event that describes the failure to send release status change Pub/Sub notification.", +"id": "ReleaseNotificationEvent", +"properties": { +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"release": { +"description": "The name of the `Release`.", +"type": "string" +}, +"releaseUid": { +"description": "Unique identifier of the `Release`.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"ReleaseReadyCondition": { +"description": "ReleaseReadyCondition contains information around the status of the Release. If a release is not ready, you cannot create a rollout with the release.", +"id": "ReleaseReadyCondition", +"properties": { +"status": { +"description": "True if the Release is in a valid state. Otherwise at least one condition in `ReleaseCondition` is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Release.", +"type": "boolean" +} +}, +"type": "object" +}, +"ReleaseRenderEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/release_render\" Platform Log event that describes the render status change.", +"id": "ReleaseRenderEvent", +"properties": { +"message": { +"description": "Debug message for when a render transition occurs. Provides further details as rendering progresses through render states.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"release": { +"description": "The name of the release. release_uid is not in this log message because we write some of these log messages at release creation time, before we've generated the uid.", +"type": "string" +}, +"releaseRenderState": { +"description": "The state of the release render.", +"enum": [ +"RENDER_STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"The render state is unspecified.", +"All rendering operations have completed successfully.", +"All rendering operations have completed, and one or more have failed.", +"Rendering has started and is not complete." +], +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a release render state change event.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"RenderMetadata": { +"description": "RenderMetadata includes information associated with a `Release` render.", +"id": "RenderMetadata", +"properties": { +"cloudRun": { +"$ref": "CloudRunRenderMetadata", +"description": "Output only. Metadata associated with rendering for Cloud Run.", +"readOnly": true +}, +"custom": { +"$ref": "CustomMetadata", +"description": "Output only. Custom metadata provided by user-defined render operation.", +"readOnly": true +} +}, +"type": "object" +}, +"RepairPhase": { +"description": "RepairPhase tracks the repair attempts that have been made for each `RepairPhaseConfig` specified in the `Automation` resource.", +"id": "RepairPhase", +"properties": { +"retry": { +"$ref": "RetryPhase", +"description": "Output only. Records of the retry attempts for retry repair mode.", +"readOnly": true +}, +"rollback": { +"$ref": "RollbackAttempt", +"description": "Output only. Rollback attempt for rollback repair mode .", +"readOnly": true +} +}, +"type": "object" +}, +"RepairPhaseConfig": { +"description": "Configuration of the repair phase.", +"id": "RepairPhaseConfig", +"properties": { +"retry": { +"$ref": "Retry", +"description": "Optional. Retries a failed job." +}, +"rollback": { +"$ref": "Rollback", +"description": "Optional. Rolls back a `Rollout`." +} +}, +"type": "object" +}, +"RepairRolloutOperation": { +"description": "Contains the information for an automated `repair rollout` operation.", +"id": "RepairRolloutOperation", +"properties": { +"currentRepairPhaseIndex": { +"description": "Output only. The index of the current repair action in the repair sequence.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"jobId": { +"description": "Output only. The job ID for the Job to repair.", +"readOnly": true, +"type": "string" +}, +"phaseId": { +"description": "Output only. The phase ID of the phase that includes the job being repaired.", +"readOnly": true, +"type": "string" +}, +"repairPhases": { +"description": "Output only. Records of the repair attempts. Each repair phase may have multiple retry attempts or single rollback attempt.", +"items": { +"$ref": "RepairPhase" +}, +"readOnly": true, +"type": "array" +}, +"rollout": { +"description": "Output only. The name of the rollout that initiates the `AutomationRun`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RepairRolloutRule": { +"description": "The `RepairRolloutRule` automation rule will automatically repair a failed `Rollout`.", +"id": "RepairRolloutRule", +"properties": { +"condition": { +"$ref": "AutomationRuleCondition", +"description": "Output only. Information around the state of the 'Automation' rule.", +"readOnly": true +}, +"id": { +"description": "Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"jobs": { +"description": "Optional. Jobs to repair. Proceeds only after job name matched any one in the list, or for all jobs if unspecified or empty. The phase that includes the job must match the phase ID specified in `source_phase`. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phases": { +"description": "Optional. Phases within which jobs are subject to automatic repair actions on failure. Proceeds only after phase name matched any one in the list, or for all phases if unspecified. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"repairPhases": { +"description": "Required. Defines the types of automatic repair phases for failed jobs.", +"items": { +"$ref": "RepairPhaseConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"Retry": { +"description": "Retries the failed job.", +"id": "Retry", +"properties": { +"attempts": { +"description": "Required. Total number of retries. Retry is skipped if set to 0; The minimum value is 1, and the maximum value is 10.", +"format": "int64", +"type": "string" +}, +"backoffMode": { +"description": "Optional. The pattern of how wait time will be increased. Default is linear. Backoff mode will be ignored if `wait` is 0.", +"enum": [ +"BACKOFF_MODE_UNSPECIFIED", +"BACKOFF_MODE_LINEAR", +"BACKOFF_MODE_EXPONENTIAL" +], +"enumDescriptions": [ +"No WaitMode is specified.", +"Increases the wait time linearly.", +"Increases the wait time exponentially." +], +"type": "string" +}, +"wait": { +"description": "Optional. How long to wait for the first retry. Default is 0, and the maximum value is 14d.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"RetryAttempt": { +"description": "RetryAttempt represents an action of retrying the failed Cloud Deploy job.", +"id": "RetryAttempt", +"properties": { +"attempt": { +"description": "Output only. The index of this retry attempt.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Valid state of this retry action.", +"enum": [ +"REPAIR_STATE_UNSPECIFIED", +"REPAIR_STATE_SUCCEEDED", +"REPAIR_STATE_CANCELLED", +"REPAIR_STATE_FAILED", +"REPAIR_STATE_IN_PROGRESS", +"REPAIR_STATE_PENDING", +"REPAIR_STATE_ABORTED" +], +"enumDescriptions": [ +"The `repair` has an unspecified state.", +"The `repair` action has succeeded.", +"The `repair` action was cancelled.", +"The `repair` action has failed.", +"The `repair` action is in progress.", +"The `repair` action is pending.", +"The `repair` action was aborted." +], +"readOnly": true, +"type": "string" +}, +"stateDesc": { +"description": "Output only. Description of the state of the Retry.", +"readOnly": true, +"type": "string" +}, +"wait": { +"description": "Output only. How long the operation will be paused.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RetryJobRequest": { +"description": "RetryJobRequest is the request object used by `RetryJob`.", +"id": "RetryJobRequest", +"properties": { +"jobId": { +"description": "Required. The job ID for the Job to retry.", +"type": "string" +}, +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phaseId": { +"description": "Required. The phase ID the Job to retry belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"RetryJobResponse": { +"description": "The response object from 'RetryJob'.", +"id": "RetryJobResponse", +"properties": {}, +"type": "object" +}, +"RetryPhase": { +"description": "RetryPhase contains the retry attempts and the metadata for initiating a new attempt.", +"id": "RetryPhase", +"properties": { +"attempts": { +"description": "Output only. Detail of a retry action.", +"items": { +"$ref": "RetryAttempt" +}, +"readOnly": true, +"type": "array" +}, +"backoffMode": { +"description": "Output only. The pattern of how the wait time of the retry attempt is calculated.", +"enum": [ +"BACKOFF_MODE_UNSPECIFIED", +"BACKOFF_MODE_LINEAR", +"BACKOFF_MODE_EXPONENTIAL" +], +"enumDescriptions": [ +"No WaitMode is specified.", +"Increases the wait time linearly.", +"Increases the wait time exponentially." +], +"readOnly": true, +"type": "string" +}, +"totalAttempts": { +"description": "Output only. The number of attempts that have been made.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Rollback": { +"description": "Rolls back a `Rollout`.", +"id": "Rollback", +"properties": { +"destinationPhase": { +"description": "Optional. The starting phase ID for the `Rollout`. If unspecified, the `Rollout` will start in the stable phase.", +"type": "string" +}, +"disableRollbackIfRolloutPending": { +"description": "Optional. If pending rollout exists on the target, the rollback operation will be aborted.", +"type": "boolean" +} +}, +"type": "object" +}, +"RollbackAttempt": { +"description": "RollbackAttempt represents an action of rolling back a Cloud Deploy 'Target'.", +"id": "RollbackAttempt", +"properties": { +"destinationPhase": { +"description": "Output only. The phase to which the rollout will be rolled back to.", +"readOnly": true, +"type": "string" +}, +"disableRollbackIfRolloutPending": { +"description": "Output only. If active rollout exists on the target, abort this rollback.", +"readOnly": true, +"type": "boolean" +}, +"rolloutId": { +"description": "Output only. ID of the rollback `Rollout` to create.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Valid state of this rollback action.", +"enum": [ +"REPAIR_STATE_UNSPECIFIED", +"REPAIR_STATE_SUCCEEDED", +"REPAIR_STATE_CANCELLED", +"REPAIR_STATE_FAILED", +"REPAIR_STATE_IN_PROGRESS", +"REPAIR_STATE_PENDING", +"REPAIR_STATE_ABORTED" +], +"enumDescriptions": [ +"The `repair` has an unspecified state.", +"The `repair` action has succeeded.", +"The `repair` action was cancelled.", +"The `repair` action has failed.", +"The `repair` action is in progress.", +"The `repair` action is pending.", +"The `repair` action was aborted." +], +"readOnly": true, +"type": "string" +}, +"stateDesc": { +"description": "Output only. Description of the state of the Rollback.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RollbackTargetConfig": { +"description": "Configs for the Rollback rollout.", +"id": "RollbackTargetConfig", +"properties": { +"rollout": { +"$ref": "Rollout", +"description": "Optional. The rollback `Rollout` to create." +}, +"startingPhaseId": { +"description": "Optional. The starting phase ID for the `Rollout`. If unspecified, the `Rollout` will start in the stable phase.", +"type": "string" +} +}, +"type": "object" +}, +"RollbackTargetRequest": { +"description": "The request object for `RollbackTarget`.", +"id": "RollbackTargetRequest", +"properties": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"releaseId": { +"description": "Optional. ID of the `Release` to roll back to. If this isn't specified, the previous successful `Rollout` to the specified target will be used to determine the `Release`.", +"type": "string" +}, +"rollbackConfig": { +"$ref": "RollbackTargetConfig", +"description": "Optional. Configs for the rollback `Rollout`." +}, +"rolloutId": { +"description": "Required. ID of the rollback `Rollout` to create.", +"type": "string" +}, +"rolloutToRollBack": { +"description": "Optional. If provided, this must be the latest `Rollout` that is on the `Target`.", +"type": "string" +}, +"targetId": { +"description": "Required. ID of the `Target` that is being rolled back.", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set to true, the request is validated and the user is provided with a `RollbackTargetResponse`.", +"type": "boolean" +} +}, +"type": "object" +}, +"RollbackTargetResponse": { +"description": "The response object from `RollbackTarget`.", +"id": "RollbackTargetResponse", +"properties": { +"rollbackConfig": { +"$ref": "RollbackTargetConfig", +"description": "The config of the rollback `Rollout` created or will be created." +} +}, +"type": "object" +}, +"Rollout": { +"description": "A `Rollout` resource in the Cloud Deploy API. A `Rollout` contains information around a specific deployment to a `Target`.", +"id": "Rollout", +"properties": { +"activeRepairAutomationRun": { +"description": "Output only. The AutomationRun actively repairing the rollout.", +"readOnly": true, +"type": "string" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", +"type": "object" +}, +"approvalState": { +"description": "Output only. Approval state of the `Rollout`.", +"enum": [ +"APPROVAL_STATE_UNSPECIFIED", +"NEEDS_APPROVAL", +"DOES_NOT_NEED_APPROVAL", +"APPROVED", +"REJECTED" +], +"enumDescriptions": [ +"The `Rollout` has an unspecified approval state.", +"The `Rollout` requires approval.", +"The `Rollout` does not require approval.", +"The `Rollout` has been approved.", +"The `Rollout` has been rejected." +], +"readOnly": true, +"type": "string" +}, +"approveTime": { +"description": "Output only. Time at which the `Rollout` was approved.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"controllerRollout": { +"description": "Output only. Name of the `ControllerRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time at which the `Rollout` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployEndTime": { +"description": "Output only. Time at which the `Rollout` finished deploying.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployFailureCause": { +"description": "Output only. The reason this rollout failed. This will always be unspecified while the rollout is in progress.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"DEADLINE_EXCEEDED", +"RELEASE_FAILED", +"RELEASE_ABANDONED", +"VERIFICATION_CONFIG_NOT_FOUND", +"CLOUD_BUILD_REQUEST_FAILED", +"OPERATION_FEATURE_NOT_SUPPORTED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The deploy operation did not complete successfully; check Cloud Build logs.", +"Deployment did not complete within the alloted time.", +"Release is in a failed state.", +"Release is abandoned.", +"No Skaffold verify configuration was found.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details.", +"A Rollout operation had a feature configured that is not supported." +], +"readOnly": true, +"type": "string" +}, +"deployStartTime": { +"description": "Output only. Time at which the `Rollout` started deploying.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployingBuild": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the `Rollout` for user purposes. Max length is 255 characters.", +"type": "string" +}, +"enqueueTime": { +"description": "Output only. Time at which the `Rollout` was enqueued.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"failureReason": { +"description": "Output only. Additional information about the rollout failure, if available.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"metadata": { +"$ref": "Metadata", +"description": "Output only. Metadata contains information about the rollout.", +"readOnly": true +}, +"name": { +"description": "Identifier. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"type": "string" +}, +"phases": { +"description": "Output only. The phases that represent the workflows of this `Rollout`.", +"items": { +"$ref": "Phase" +}, +"readOnly": true, +"type": "array" +}, +"rollbackOfRollout": { +"description": "Output only. Name of the `Rollout` that is rolled back by this `Rollout`. Empty if this `Rollout` wasn't created as a rollback.", +"readOnly": true, +"type": "string" +}, +"rolledBackByRollouts": { +"description": "Output only. Names of `Rollouts` that rolled back this `Rollout`.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "Output only. Current state of the `Rollout`.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED", +"IN_PROGRESS", +"PENDING_APPROVAL", +"APPROVAL_REJECTED", +"PENDING", +"PENDING_RELEASE", +"CANCELLING", +"CANCELLED", +"HALTED" +], +"enumDescriptions": [ +"The `Rollout` has an unspecified state.", +"The `Rollout` has completed successfully.", +"The `Rollout` has failed.", +"The `Rollout` is being deployed.", +"The `Rollout` needs approval.", +"An approver rejected the `Rollout`.", +"The `Rollout` is waiting for an earlier Rollout(s) to complete on this `Target`.", +"The `Rollout` is waiting for the `Release` to be fully rendered.", +"The `Rollout` is in the process of being cancelled.", +"The `Rollout` has been cancelled.", +"The `Rollout` is halted." +], +"readOnly": true, +"type": "string" +}, +"targetId": { +"description": "Required. The ID of Target to which this `Rollout` is deploying.", +"type": "string" +}, +"uid": { +"description": "Output only. Unique identifier of the `Rollout`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RolloutNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/rollout_notification\" Platform Log event that describes the failure to send rollout status change Pub/Sub notification.", +"id": "RolloutNotificationEvent", +"properties": { +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the `DeliveryPipeline`.", +"type": "string" +}, +"release": { +"description": "The name of the `Release`.", +"type": "string" +}, +"releaseUid": { +"description": "Unique identifier of the `Release`.", +"type": "string" +}, +"rollout": { +"description": "The name of the `Rollout`.", +"type": "string" +}, +"rolloutUid": { +"description": "Unique identifier of the `Rollout`.", +"type": "string" +}, +"targetId": { +"description": "ID of the `Target` that the rollout is deployed to.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"RolloutRestriction": { +"description": "Rollout restrictions.", +"id": "RolloutRestriction", +"properties": { +"actions": { +"description": "Optional. Rollout actions to be restricted as part of the policy. If left empty, all actions will be restricted.", +"items": { +"enum": [ +"ROLLOUT_ACTIONS_UNSPECIFIED", +"ADVANCE", +"APPROVE", +"CANCEL", +"CREATE", +"IGNORE_JOB", +"RETRY_JOB", +"ROLLBACK", +"TERMINATE_JOBRUN" +], +"enumDescriptions": [ +"Unspecified.", +"Advance the rollout to the next phase.", +"Approve the rollout.", +"Cancel the rollout.", +"Create a rollout.", +"Ignore a job result on the rollout.", +"Retry a job for a rollout.", +"Rollback a rollout.", +"Terminate a jobrun." +], +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Required. Restriction rule ID. Required and must be unique within a DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"invokers": { +"description": "Optional. What invoked the action. If left empty, all invoker types will be restricted.", +"items": { +"enum": [ +"INVOKER_UNSPECIFIED", +"USER", +"DEPLOY_AUTOMATION" +], +"enumDescriptions": [ +"Unspecified.", +"The action is user-driven. For example, creating a rollout manually via a gcloud create command.", +"Automated action by Cloud Deploy." +], +"type": "string" +}, +"type": "array" +}, +"timeWindows": { +"$ref": "TimeWindows", +"description": "Required. Time window within which actions are restricted." +} +}, +"type": "object" +}, +"RolloutUpdateEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/rollout_update\" Platform Log event that describes the rollout update event.", +"id": "RolloutUpdateEvent", +"properties": { +"message": { +"description": "Debug message for when a rollout update event occurs.", +"type": "string" +}, +"pipelineUid": { +"description": "Unique identifier of the pipeline.", +"type": "string" +}, +"release": { +"description": "The name of the `Release`.", +"type": "string" +}, +"releaseUid": { +"description": "Unique identifier of the release.", +"type": "string" +}, +"rollout": { +"description": "The name of the rollout. rollout_uid is not in this log message because we write some of these log messages at rollout creation time, before we've generated the uid.", +"type": "string" +}, +"rolloutUpdateType": { +"description": "The type of the rollout update.", +"enum": [ +"ROLLOUT_UPDATE_TYPE_UNSPECIFIED", +"PENDING", +"PENDING_RELEASE", +"IN_PROGRESS", +"CANCELLING", +"CANCELLED", +"HALTED", +"SUCCEEDED", +"FAILED", +"APPROVAL_REQUIRED", +"APPROVED", +"REJECTED", +"ADVANCE_REQUIRED", +"ADVANCED" +], +"enumDescriptions": [ +"Rollout update type unspecified.", +"rollout state updated to pending.", +"Rollout state updated to pending release.", +"Rollout state updated to in progress.", +"Rollout state updated to cancelling.", +"Rollout state updated to cancelled.", +"Rollout state updated to halted.", +"Rollout state updated to succeeded.", +"Rollout state updated to failed.", +"Rollout requires approval.", +"Rollout has been approved.", +"Rollout has been rejected.", +"Rollout requires advance to the next phase.", +"Rollout has been advanced." +], +"type": "string" +}, +"targetId": { +"description": "ID of the target.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a rollout update event.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"RouteDestinations": { +"description": "Information about route destinations for the Gateway API service mesh.", +"id": "RouteDestinations", +"properties": { +"destinationIds": { +"description": "Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and \"@self\" to include the Target cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"propagateService": { +"description": "Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.", +"type": "boolean" +} +}, +"type": "object" +}, +"RuntimeConfig": { +"description": "RuntimeConfig contains the runtime specific configurations for a deployment strategy.", +"id": "RuntimeConfig", +"properties": { +"cloudRun": { +"$ref": "CloudRunConfig", +"description": "Optional. Cloud Run runtime configuration." +}, +"kubernetes": { +"$ref": "KubernetesConfig", +"description": "Optional. Kubernetes runtime configuration." +} +}, +"type": "object" +}, +"SerialPipeline": { +"description": "SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.", +"id": "SerialPipeline", +"properties": { +"stages": { +"description": "Optional. Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow.", +"items": { +"$ref": "Stage" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceNetworking": { +"description": "Information about the Kubernetes Service networking configuration.", +"id": "ServiceNetworking", +"properties": { +"deployment": { +"description": "Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.", +"type": "string" +}, +"disablePodOverprovisioning": { +"description": "Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.", +"type": "boolean" +}, +"podSelectorLabel": { +"description": "Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.", +"type": "string" +}, +"service": { +"description": "Required. Name of the Kubernetes Service.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"SkaffoldGCBRepoSource": { +"description": "Cloud Build V2 Repository containing Skaffold Configs.", +"id": "SkaffoldGCBRepoSource", +"properties": { +"path": { +"description": "Optional. Relative path from the repository root to the Skaffold Config file.", +"type": "string" +}, +"ref": { +"description": "Optional. Branch or tag to use when cloning the repository.", +"type": "string" +}, +"repository": { +"description": "Required. Name of the Cloud Build V2 Repository. Format is projects/{project}/locations/{location}/connections/{connection}/repositories/{repository}.", +"type": "string" +} +}, +"type": "object" +}, +"SkaffoldGCSSource": { +"description": "Cloud Storage bucket containing Skaffold Config modules.", +"id": "SkaffoldGCSSource", +"properties": { +"path": { +"description": "Optional. Relative path from the source to the Skaffold file.", +"type": "string" +}, +"source": { +"description": "Required. Cloud Storage source paths to copy recursively. For example, providing \"gs://my-bucket/dir/configs/*\" will result in Skaffold copying all files within the \"dir/configs\" directory in the bucket \"my-bucket\".", +"type": "string" +} +}, +"type": "object" +}, +"SkaffoldGitSource": { +"description": "Git repository containing Skaffold Config modules.", +"id": "SkaffoldGitSource", +"properties": { +"path": { +"description": "Optional. Relative path from the repository root to the Skaffold file.", +"type": "string" +}, +"ref": { +"description": "Optional. Git branch or tag to use when cloning the repository.", +"type": "string" +}, +"repo": { +"description": "Required. Git repository the package should be cloned from.", +"type": "string" +} +}, +"type": "object" +}, +"SkaffoldModules": { +"description": "Skaffold Config modules and their remote source.", +"id": "SkaffoldModules", +"properties": { +"configs": { +"description": "Optional. The Skaffold Config modules to use from the specified source.", +"items": { +"type": "string" +}, +"type": "array" +}, +"git": { +"$ref": "SkaffoldGitSource", +"description": "Optional. Remote git repository containing the Skaffold Config modules." +}, +"googleCloudBuildRepo": { +"$ref": "SkaffoldGCBRepoSource", +"description": "Optional. Cloud Build V2 repository containing the Skaffold Config modules." +}, +"googleCloudStorage": { +"$ref": "SkaffoldGCSSource", +"description": "Optional. Cloud Storage bucket containing the Skaffold Config modules." +} +}, +"type": "object" +}, +"SkaffoldSupportedCondition": { +"description": "SkaffoldSupportedCondition contains information about when support for the release's version of Skaffold ends.", +"id": "SkaffoldSupportedCondition", +"properties": { +"maintenanceModeTime": { +"description": "The time at which this release's version of Skaffold will enter maintenance mode.", +"format": "google-datetime", +"type": "string" +}, +"skaffoldSupportState": { +"description": "The Skaffold support state for this release's version of Skaffold.", +"enum": [ +"SKAFFOLD_SUPPORT_STATE_UNSPECIFIED", +"SKAFFOLD_SUPPORT_STATE_SUPPORTED", +"SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE", +"SKAFFOLD_SUPPORT_STATE_UNSUPPORTED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"This Skaffold version is currently supported.", +"This Skaffold version is in maintenance mode.", +"This Skaffold version is no longer supported." +], +"type": "string" +}, +"status": { +"description": "True if the version of Skaffold used by this release is supported.", +"type": "boolean" +}, +"supportExpirationTime": { +"description": "The time at which this release's version of Skaffold will no longer be supported.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SkaffoldVersion": { +"description": "Details of a supported Skaffold version.", +"id": "SkaffoldVersion", +"properties": { +"maintenanceModeTime": { +"description": "The time at which this version of Skaffold will enter maintenance mode.", +"format": "google-datetime", +"type": "string" +}, +"supportEndDate": { +"$ref": "Date", +"description": "Date when this version is expected to no longer be supported." +}, +"supportExpirationTime": { +"description": "The time at which this version of Skaffold will no longer be supported.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "Release version number. For example, \"1.20.3\".", +"type": "string" +} +}, +"type": "object" +}, +"Stage": { +"description": "Stage specifies a location to which to deploy.", +"id": "Stage", +"properties": { +"deployParameters": { +"description": "Optional. The deploy parameters to use for the target in this stage.", +"items": { +"$ref": "DeployParameters" +}, +"type": "array" +}, +"profiles": { +"description": "Optional. Skaffold profiles to use when rendering the manifest for this stage's `Target`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"strategy": { +"$ref": "Strategy", +"description": "Optional. The strategy to use for a `Rollout` to this stage." +}, +"targetId": { +"description": "Optional. The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.", +"type": "string" +} +}, +"type": "object" +}, +"Standard": { +"description": "Standard represents the standard deployment strategy.", +"id": "Standard", +"properties": { +"postdeploy": { +"$ref": "Postdeploy", +"description": "Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present." +}, +"predeploy": { +"$ref": "Predeploy", +"description": "Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present." +}, +"verify": { +"description": "Optional. Whether to verify a deployment.", +"type": "boolean" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Strategy": { +"description": "Strategy contains deployment strategy information.", +"id": "Strategy", +"properties": { +"canary": { +"$ref": "Canary", +"description": "Optional. Canary deployment strategy provides progressive percentage based deployments to a Target." +}, +"standard": { +"$ref": "Standard", +"description": "Optional. Standard deployment strategy executes a single deploy and allows verifying the deployment." +} +}, +"type": "object" +}, +"Target": { +"description": "A `Target` resource in the Cloud Deploy API. A `Target` defines a location to which a Skaffold configuration can be deployed.", +"id": "Target", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", +"type": "object" +}, +"anthosCluster": { +"$ref": "AnthosCluster", +"description": "Optional. Information specifying an Anthos Cluster." +}, +"associatedEntities": { +"additionalProperties": { +"$ref": "AssociatedEntities" +}, +"description": "Optional. Map of entity IDs to their associated entities. Associated entities allows specifying places other than the deployment target for specific features. For example, the Gateway API canary can be configured to deploy the HTTPRoute to a different cluster(s) than the deployment cluster using associated entities. An entity ID must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"type": "object" +}, +"createTime": { +"description": "Output only. Time at which the `Target` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customTarget": { +"$ref": "CustomTarget", +"description": "Optional. Information specifying a Custom Target." +}, +"deployParameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The deploy parameters to use for this target.", +"type": "object" +}, +"description": { +"description": "Optional. Description of the `Target`. Max length is 255 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"executionConfigs": { +"description": "Optional. Configurations for all execution that relates to this `Target`. Each `ExecutionEnvironmentUsage` value may only be used in a single configuration; using the same value multiple times is an error. When one or more configurations are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are specified, execution will use the default specified in `DefaultPool`.", +"items": { +"$ref": "ExecutionConfig" +}, +"type": "array" +}, +"gke": { +"$ref": "GkeCluster", +"description": "Optional. Information specifying a GKE Cluster." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"multiTarget": { +"$ref": "MultiTarget", +"description": "Optional. Information specifying a multiTarget." +}, +"name": { +"description": "Identifier. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", +"type": "string" +}, +"requireApproval": { +"description": "Optional. Whether or not the `Target` requires approval.", +"type": "boolean" +}, +"run": { +"$ref": "CloudRunLocation", +"description": "Optional. Information specifying a Cloud Run deployment target." +}, +"targetId": { +"description": "Output only. Resource id of the `Target`.", +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. Unique identifier of the `Target`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Most recent time at which the `Target` was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TargetArtifact": { +"description": "The artifacts produced by a target render operation.", +"id": "TargetArtifact", +"properties": { +"artifactUri": { +"description": "Output only. URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location.", +"readOnly": true, +"type": "string" +}, +"manifestPath": { +"description": "Output only. File path of the rendered manifest relative to the URI.", +"readOnly": true, +"type": "string" +}, +"phaseArtifacts": { +"additionalProperties": { +"$ref": "PhaseArtifact" +}, +"description": "Output only. Map from the phase ID to the phase artifacts for the `Target`.", +"readOnly": true, +"type": "object" +}, +"skaffoldConfigPath": { +"description": "Output only. File path of the resolved Skaffold configuration relative to the URI.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TargetAttribute": { +"description": "Contains criteria for selecting Targets. This could be used to select targets for a Deploy Policy or for an Automation.", +"id": "TargetAttribute", +"properties": { +"id": { +"description": "Optional. ID of the `Target`. The value of this field could be one of the following: * The last segment of a target name * \"*\", all targets in a location", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Target labels.", +"type": "object" +} +}, +"type": "object" +}, +"TargetNotificationEvent": { +"description": "Payload proto for \"clouddeploy.googleapis.com/target_notification\" Platform Log event that describes the failure to send target status change Pub/Sub notification.", +"id": "TargetNotificationEvent", +"properties": { +"message": { +"description": "Debug message for when a notification fails to send.", +"type": "string" +}, +"target": { +"description": "The name of the `Target`.", +"type": "string" +}, +"type": { +"description": "Type of this notification, e.g. for a Pub/Sub failure.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PUBSUB_NOTIFICATION_FAILURE", +"TYPE_RESOURCE_STATE_CHANGE", +"TYPE_PROCESS_ABORTED", +"TYPE_RESTRICTION_VIOLATED", +"TYPE_RESOURCE_DELETED", +"TYPE_ROLLOUT_UPDATE", +"TYPE_DEPLOY_POLICY_EVALUATION", +"TYPE_RENDER_STATUES_CHANGE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Type is unspecified.", +"A Pub/Sub notification failed to be sent.", +"Resource state changed.", +"A process aborted.", +"Restriction check failed.", +"Resource deleted.", +"Rollout updated.", +"Deploy Policy evaluation.", +"Deprecated: This field is never used. Use release_render log type instead." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetRender": { +"description": "Details of rendering for a single target.", +"id": "TargetRender", +"properties": { +"failureCause": { +"description": "Output only. Reason this render failed. This will always be unspecified while the render in progress.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"CLOUD_BUILD_REQUEST_FAILED", +"VERIFICATION_CONFIG_NOT_FOUND", +"CUSTOM_ACTION_NOT_FOUND", +"DEPLOYMENT_STRATEGY_NOT_SUPPORTED", +"RENDER_FEATURE_NOT_SUPPORTED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The render operation did not complete successfully; check Cloud Build logs.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details.", +"The render operation did not complete successfully because the verification stanza required for verify was not found on the Skaffold configuration.", +"The render operation did not complete successfully because the custom action required for predeploy or postdeploy was not found in the Skaffold configuration. See failure_message for additional details.", +"Release failed during rendering because the release configuration is not supported with the specified deployment strategy.", +"The render operation had a feature configured that is not supported." +], +"readOnly": true, +"type": "string" +}, +"failureMessage": { +"description": "Output only. Additional information about the render failure, if available.", +"readOnly": true, +"type": "string" +}, +"metadata": { +"$ref": "RenderMetadata", +"description": "Output only. Metadata related to the `Release` render for this Target.", +"readOnly": true +}, +"renderingBuild": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"renderingState": { +"description": "Output only. Current state of the render operation for this Target.", +"enum": [ +"TARGET_RENDER_STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"The render operation state is unspecified.", +"The render operation has completed successfully.", +"The render operation has failed.", +"The render operation is in progress." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Targets": { +"description": "The targets involved in a single timed promotion.", +"id": "Targets", +"properties": { +"destinationTargetId": { +"description": "Optional. The destination target ID.", +"type": "string" +}, +"sourceTargetId": { +"description": "Optional. The source target ID.", +"type": "string" +} +}, +"type": "object" +}, +"TargetsPresentCondition": { +"description": "`TargetsPresentCondition` contains information on any Targets referenced in the Delivery Pipeline that do not actually exist.", +"id": "TargetsPresentCondition", +"properties": { +"missingTargets": { +"description": "The list of Target names that do not exist. For example, `projects/{project_id}/locations/{location_name}/targets/{target_name}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "True if there aren't any missing Targets.", +"type": "boolean" +}, +"updateTime": { +"description": "Last time the condition was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TargetsTypeCondition": { +"description": "TargetsTypeCondition contains information on whether the Targets defined in the Delivery Pipeline are of the same type.", +"id": "TargetsTypeCondition", +"properties": { +"errorDetails": { +"description": "Human readable error message.", +"type": "string" +}, +"status": { +"description": "True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.", +"type": "boolean" +} +}, +"type": "object" +}, +"TerminateJobRunRequest": { +"description": "The request object used by `TerminateJobRun`.", +"id": "TerminateJobRunRequest", +"properties": { +"overrideDeployPolicy": { +"description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TerminateJobRunResponse": { +"description": "The response object from `TerminateJobRun`.", +"id": "TerminateJobRunResponse", +"properties": {}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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`.", +"id": "TimeOfDay", +"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.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TimeWindows": { +"description": "Time windows within which actions are restricted. See the [documentation](https://cloud.google.com/deploy/docs/deploy-policy#dates_times) for more information on how to configure dates/times.", +"id": "TimeWindows", +"properties": { +"oneTimeWindows": { +"description": "Optional. One-time windows within which actions are restricted.", +"items": { +"$ref": "OneTimeWindow" +}, +"type": "array" +}, +"timeZone": { +"description": "Required. The time zone in IANA format [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g. America/New_York).", +"type": "string" +}, +"weeklyWindows": { +"description": "Optional. Recurring weekly windows within which actions are restricted.", +"items": { +"$ref": "WeeklyWindow" +}, +"type": "array" +} +}, +"type": "object" +}, +"TimedPromoteReleaseCondition": { +"description": "`TimedPromoteReleaseCondition` contains conditions specific to an Automation with a Timed Promote Release rule defined.", +"id": "TimedPromoteReleaseCondition", +"properties": { +"nextPromotionTime": { +"description": "Output only. When the next scheduled promotion(s) will occur.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"targetsList": { +"description": "Output only. A list of targets involved in the upcoming timed promotion(s).", +"items": { +"$ref": "Targets" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"TimedPromoteReleaseOperation": { +"description": "Contains the information of an automated timed promote-release operation.", +"id": "TimedPromoteReleaseOperation", +"properties": { +"phase": { +"description": "Output only. The starting phase of the rollout created by this operation.", +"readOnly": true, +"type": "string" +}, +"release": { +"description": "Output only. The name of the release to be promoted.", +"readOnly": true, +"type": "string" +}, +"targetId": { +"description": "Output only. The ID of the target that represents the promotion stage to which the release will be promoted. The value of this field is the last segment of a target name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TimedPromoteReleaseRule": { +"description": "The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule.", +"id": "TimedPromoteReleaseRule", +"properties": { +"condition": { +"$ref": "AutomationRuleCondition", +"description": "Output only. Information around the state of the Automation rule.", +"readOnly": true +}, +"destinationPhase": { +"description": "Optional. The starting phase of the rollout created by this rule. Default to the first phase.", +"type": "string" +}, +"destinationTargetId": { +"description": "Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name * \"@next\", the next target in the promotion sequence", +"type": "string" +}, +"id": { +"description": "Required. ID of the rule. This ID must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"schedule": { +"description": "Required. Schedule in crontab format. e.g. \"0 9 * * 1\" for every Monday at 9am.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone in IANA format [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g. America/New_York).", +"type": "string" +} +}, +"type": "object" +}, +"VerifyJob": { +"description": "A verify Job.", +"id": "VerifyJob", +"properties": {}, +"type": "object" +}, +"VerifyJobRun": { +"description": "VerifyJobRun contains information specific to a verify `JobRun`.", +"id": "VerifyJobRun", +"properties": { +"artifactUri": { +"description": "Output only. URI of a directory containing the verify artifacts. This contains the Skaffold event log.", +"readOnly": true, +"type": "string" +}, +"build": { +"description": "Output only. The resource name of the Cloud Build `Build` object that is used to verify. Format is `projects/{project}/locations/{location}/builds/{build}`.", +"readOnly": true, +"type": "string" +}, +"eventLogPath": { +"description": "Output only. File path of the Skaffold event log relative to the artifact URI.", +"readOnly": true, +"type": "string" +}, +"failureCause": { +"description": "Output only. The reason the verify failed. This will always be unspecified while the verify is in progress or if it succeeded.", +"enum": [ +"FAILURE_CAUSE_UNSPECIFIED", +"CLOUD_BUILD_UNAVAILABLE", +"EXECUTION_FAILED", +"DEADLINE_EXCEEDED", +"VERIFICATION_CONFIG_NOT_FOUND", +"CLOUD_BUILD_REQUEST_FAILED" +], +"enumDescriptions": [ +"No reason for failure is specified.", +"Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", +"The verify operation did not complete successfully; check Cloud Build logs.", +"The verify job run did not complete within the alloted time.", +"No Skaffold verify configuration was found.", +"Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." +], +"readOnly": true, +"type": "string" +}, +"failureMessage": { +"description": "Output only. Additional information about the verify failure, if available.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WeeklyWindow": { +"description": "Weekly windows. For example, blocking actions every Saturday and Sunday. Another example would be blocking actions every weekday from 5pm to midnight.", +"id": "WeeklyWindow", +"properties": { +"daysOfWeek": { +"description": "Optional. Days of week. If left empty, all days of the week will be included.", +"items": { +"enum": [ +"DAY_OF_WEEK_UNSPECIFIED", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"The day of the week is unspecified.", +"Monday", +"Tuesday", +"Wednesday", +"Thursday", +"Friday", +"Saturday", +"Sunday" +], +"type": "string" +}, +"type": "array" +}, +"endTime": { +"$ref": "TimeOfDay", +"description": "Optional. End time (exclusive). Use 24:00 to indicate midnight. If you specify end_time you must also specify start_time. If left empty, this will block for the entire day for the days specified in days_of_week." +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "Optional. Start time (inclusive). Use 00:00 for the beginning of the day. If you specify start_time you must also specify end_time. If left empty, this will block for the entire day for the days specified in days_of_week." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Deploy API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..bb9eb0890554f10c2596f9497cb309c2dde8fb2d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json @@ -0,0 +1,1084 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://clouderrorreporting.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Clouderrorreporting", +"description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/error-reporting/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "clouderrorreporting:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://clouderrorreporting.mtls.googleapis.com/", +"name": "clouderrorreporting", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"deleteEvents": { +"description": "Deletes all error events of a given project.", +"flatPath": "v1beta1/projects/{projectsId}/events", +"httpMethod": "DELETE", +"id": "clouderrorreporting.projects.deleteEvents", +"parameterOrder": [ +"projectName" +], +"parameters": { +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectID}/locations/{location}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840) and `{location}` is a Cloud region. Examples: `projects/my-project-123`, `projects/my-project-123/locations/global`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/events", +"response": { +"$ref": "DeleteEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"events": { +"methods": { +"list": { +"description": "Lists the specified events.", +"flatPath": "v1beta1/projects/{projectsId}/events", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.events.list", +"parameterOrder": [ +"projectName" +], +"parameters": { +"groupId": { +"description": "Required. The group for which events shall be returned. The `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return per response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A `next_page_token` provided by a previous response.", +"location": "query", +"type": "string" +}, +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectID}/locations/{location}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840) and `{location}` is a Cloud region. Examples: `projects/my-project-123`, `projects/my-project-123/locations/global`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"serviceFilter.resourceType": { +"description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", +"location": "query", +"type": "string" +}, +"serviceFilter.service": { +"description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", +"location": "query", +"type": "string" +}, +"serviceFilter.version": { +"description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", +"location": "query", +"type": "string" +}, +"timeRange.period": { +"description": "Restricts the query to the specified time range.", +"enum": [ +"PERIOD_UNSPECIFIED", +"PERIOD_1_HOUR", +"PERIOD_6_HOURS", +"PERIOD_1_DAY", +"PERIOD_1_WEEK", +"PERIOD_30_DAYS" +], +"enumDescriptions": [ +"Do not use.", +"Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.", +"Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.", +"Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.", +"Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.", +"Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/events", +"response": { +"$ref": "ListEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"report": { +"description": "Report an individual error event and record the event to a log. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456` **Note:** [Error Reporting] (https://cloud.google.com/error-reporting) is a service built on Cloud Logging and can analyze log entries when all of the following are true: * Customer-managed encryption keys (CMEK) are disabled on the log bucket. * The log bucket satisfies one of the following: * The log bucket is stored in the same project where the logs originated. * The logs were routed to a project, and then that project stored those logs in a log bucket that it owns.", +"flatPath": "v1beta1/projects/{projectsId}/events:report", +"httpMethod": "POST", +"id": "clouderrorreporting.projects.events.report", +"parameterOrder": [ +"projectName" +], +"parameters": { +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectId}`, where `{projectId}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: // `projects/my-project-123`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/events:report", +"request": { +"$ref": "ReportedErrorEvent" +}, +"response": { +"$ref": "ReportErrorEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"groupStats": { +"methods": { +"list": { +"description": "Lists the specified groups.", +"flatPath": "v1beta1/projects/{projectsId}/groupStats", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.groupStats.list", +"parameterOrder": [ +"projectName" +], +"parameters": { +"alignment": { +"description": "Optional. The alignment of the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`.", +"enum": [ +"ERROR_COUNT_ALIGNMENT_UNSPECIFIED", +"ALIGNMENT_EQUAL_ROUNDED", +"ALIGNMENT_EQUAL_AT_END" +], +"enumDescriptions": [ +"No alignment specified.", +"The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the alignment_time provided in the request. The alignment_time does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", +"The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period." +], +"location": "query", +"type": "string" +}, +"alignmentTime": { +"description": "Optional. Time where the timed counts shall be aligned if rounded alignment is chosen. Default is 00:00 UTC.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"groupId": { +"description": "Optional. List all ErrorGroupStats with these IDs. The `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice] (https://cloud.google.com/terms/cloud-privacy-notice).", +"location": "query", +"repeated": true, +"type": "string" +}, +"order": { +"description": "Optional. The sort order in which the results are returned. Default is `COUNT_DESC`.", +"enum": [ +"GROUP_ORDER_UNSPECIFIED", +"COUNT_DESC", +"LAST_SEEN_DESC", +"CREATED_DESC", +"AFFECTED_USERS_DESC" +], +"enumDescriptions": [ +"No group order specified.", +"Total count of errors in the given time window in descending order.", +"Timestamp when the group was last seen in the given time window in descending order.", +"Timestamp when the group was created in descending order.", +"Number of affected users in the given time window in descending order." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return per response. Default is 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A next_page_token provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", +"location": "query", +"type": "string" +}, +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectNumber}`, where `{projectID}` and `{projectNumber}` can be found in the [Google Cloud console](https://support.google.com/cloud/answer/6158840). It may also include a location, such as `projects/{projectID}/locations/{location}` where `{location}` is a cloud region. Examples: `projects/my-project-123`, `projects/5551234`, `projects/my-project-123/locations/us-central1`, `projects/5551234/locations/us-central1`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified. Use `-` as a wildcard to request group stats from all regions.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"serviceFilter.resourceType": { +"description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", +"location": "query", +"type": "string" +}, +"serviceFilter.service": { +"description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", +"location": "query", +"type": "string" +}, +"serviceFilter.version": { +"description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", +"location": "query", +"type": "string" +}, +"timeRange.period": { +"description": "Restricts the query to the specified time range.", +"enum": [ +"PERIOD_UNSPECIFIED", +"PERIOD_1_HOUR", +"PERIOD_6_HOURS", +"PERIOD_1_DAY", +"PERIOD_1_WEEK", +"PERIOD_30_DAYS" +], +"enumDescriptions": [ +"Do not use.", +"Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.", +"Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.", +"Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.", +"Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.", +"Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day." +], +"location": "query", +"type": "string" +}, +"timedCountDuration": { +"description": "Optional. The preferred duration for a single returned TimedCount. If not set, no timed counts are returned.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/groupStats", +"response": { +"$ref": "ListGroupStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"groups": { +"methods": { +"get": { +"description": "Get the specified group.", +"flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.groups.get", +"parameterOrder": [ +"groupName" +], +"parameters": { +"groupName": { +"description": "Required. The group resource name. Written as either `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}`. Call groupStats.list to return a list of groups belonging to this project. Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/global/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+groupName}", +"response": { +"$ref": "ErrorGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Replace the data for the specified group. Fails if the group does not exist.", +"flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", +"httpMethod": "PUT", +"id": "clouderrorreporting.projects.groups.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The group resource name. Written as `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}` Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/us-central1/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "ErrorGroup" +}, +"response": { +"$ref": "ErrorGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"locations": { +"methods": { +"deleteEvents": { +"description": "Deletes all error events of a given project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/events", +"httpMethod": "DELETE", +"id": "clouderrorreporting.projects.locations.deleteEvents", +"parameterOrder": [ +"projectName" +], +"parameters": { +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectID}/locations/{location}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840) and `{location}` is a Cloud region. Examples: `projects/my-project-123`, `projects/my-project-123/locations/global`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/events", +"response": { +"$ref": "DeleteEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"events": { +"methods": { +"list": { +"description": "Lists the specified events.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/events", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.locations.events.list", +"parameterOrder": [ +"projectName" +], +"parameters": { +"groupId": { +"description": "Required. The group for which events shall be returned. The `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return per response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A `next_page_token` provided by a previous response.", +"location": "query", +"type": "string" +}, +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectID}/locations/{location}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840) and `{location}` is a Cloud region. Examples: `projects/my-project-123`, `projects/my-project-123/locations/global`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"serviceFilter.resourceType": { +"description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", +"location": "query", +"type": "string" +}, +"serviceFilter.service": { +"description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", +"location": "query", +"type": "string" +}, +"serviceFilter.version": { +"description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", +"location": "query", +"type": "string" +}, +"timeRange.period": { +"description": "Restricts the query to the specified time range.", +"enum": [ +"PERIOD_UNSPECIFIED", +"PERIOD_1_HOUR", +"PERIOD_6_HOURS", +"PERIOD_1_DAY", +"PERIOD_1_WEEK", +"PERIOD_30_DAYS" +], +"enumDescriptions": [ +"Do not use.", +"Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.", +"Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.", +"Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.", +"Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.", +"Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/events", +"response": { +"$ref": "ListEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"groupStats": { +"methods": { +"list": { +"description": "Lists the specified groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/groupStats", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.locations.groupStats.list", +"parameterOrder": [ +"projectName" +], +"parameters": { +"alignment": { +"description": "Optional. The alignment of the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`.", +"enum": [ +"ERROR_COUNT_ALIGNMENT_UNSPECIFIED", +"ALIGNMENT_EQUAL_ROUNDED", +"ALIGNMENT_EQUAL_AT_END" +], +"enumDescriptions": [ +"No alignment specified.", +"The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the alignment_time provided in the request. The alignment_time does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", +"The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period." +], +"location": "query", +"type": "string" +}, +"alignmentTime": { +"description": "Optional. Time where the timed counts shall be aligned if rounded alignment is chosen. Default is 00:00 UTC.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"groupId": { +"description": "Optional. List all ErrorGroupStats with these IDs. The `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice] (https://cloud.google.com/terms/cloud-privacy-notice).", +"location": "query", +"repeated": true, +"type": "string" +}, +"order": { +"description": "Optional. The sort order in which the results are returned. Default is `COUNT_DESC`.", +"enum": [ +"GROUP_ORDER_UNSPECIFIED", +"COUNT_DESC", +"LAST_SEEN_DESC", +"CREATED_DESC", +"AFFECTED_USERS_DESC" +], +"enumDescriptions": [ +"No group order specified.", +"Total count of errors in the given time window in descending order.", +"Timestamp when the group was last seen in the given time window in descending order.", +"Timestamp when the group was created in descending order.", +"Number of affected users in the given time window in descending order." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return per response. Default is 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A next_page_token provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", +"location": "query", +"type": "string" +}, +"projectName": { +"description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}` or `projects/{projectNumber}`, where `{projectID}` and `{projectNumber}` can be found in the [Google Cloud console](https://support.google.com/cloud/answer/6158840). It may also include a location, such as `projects/{projectID}/locations/{location}` where `{location}` is a cloud region. Examples: `projects/my-project-123`, `projects/5551234`, `projects/my-project-123/locations/us-central1`, `projects/5551234/locations/us-central1`. For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified. Use `-` as a wildcard to request group stats from all regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"serviceFilter.resourceType": { +"description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", +"location": "query", +"type": "string" +}, +"serviceFilter.service": { +"description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", +"location": "query", +"type": "string" +}, +"serviceFilter.version": { +"description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", +"location": "query", +"type": "string" +}, +"timeRange.period": { +"description": "Restricts the query to the specified time range.", +"enum": [ +"PERIOD_UNSPECIFIED", +"PERIOD_1_HOUR", +"PERIOD_6_HOURS", +"PERIOD_1_DAY", +"PERIOD_1_WEEK", +"PERIOD_30_DAYS" +], +"enumDescriptions": [ +"Do not use.", +"Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.", +"Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.", +"Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.", +"Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.", +"Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day." +], +"location": "query", +"type": "string" +}, +"timedCountDuration": { +"description": "Optional. The preferred duration for a single returned TimedCount. If not set, no timed counts are returned.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+projectName}/groupStats", +"response": { +"$ref": "ListGroupStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"groups": { +"methods": { +"get": { +"description": "Get the specified group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "GET", +"id": "clouderrorreporting.projects.locations.groups.get", +"parameterOrder": [ +"groupName" +], +"parameters": { +"groupName": { +"description": "Required. The group resource name. Written as either `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}`. Call groupStats.list to return a list of groups belonging to this project. Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/global/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+groupName}", +"response": { +"$ref": "ErrorGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Replace the data for the specified group. Fails if the group does not exist.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "PUT", +"id": "clouderrorreporting.projects.locations.groups.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The group resource name. Written as `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}` Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/us-central1/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "ErrorGroup" +}, +"response": { +"$ref": "ErrorGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240705", +"rootUrl": "https://clouderrorreporting.googleapis.com/", +"schemas": { +"DeleteEventsResponse": { +"description": "Response message for deleting error events.", +"id": "DeleteEventsResponse", +"properties": {}, +"type": "object" +}, +"ErrorContext": { +"description": "A description of the context in which an error occurred. This data should be provided by the application when reporting an error, unless the error report has been generated automatically from Google App Engine logs.", +"id": "ErrorContext", +"properties": { +"httpRequest": { +"$ref": "HttpRequestContext", +"description": "The HTTP request which was processed when the error was triggered." +}, +"reportLocation": { +"$ref": "SourceLocation", +"description": "The location in the source code where the decision was made to report the error, usually the place where it was logged. For a logged exception this would be the source line where the exception is logged, usually close to the place where it was caught." +}, +"sourceReferences": { +"description": "Source code that was used to build the executable which has caused the given error message.", +"items": { +"$ref": "SourceReference" +}, +"type": "array" +}, +"user": { +"description": "The user who caused or was affected by the crash. This can be a user ID, an email address, or an arbitrary token that uniquely identifies the user. When sending an error report, leave this field empty if the user was not logged in. In this case the Error Reporting system will use other data, such as remote IP address, to distinguish affected users. See `affected_users_count` in `ErrorGroupStats`.", +"type": "string" +} +}, +"type": "object" +}, +"ErrorEvent": { +"description": "An error event which is returned by the Error Reporting system.", +"id": "ErrorEvent", +"properties": { +"context": { +"$ref": "ErrorContext", +"description": "Data about the context in which the error occurred." +}, +"eventTime": { +"description": "Time when the event occurred as provided in the error report. If the report did not contain a timestamp, the time the error was received by the Error Reporting system is used.", +"format": "google-datetime", +"type": "string" +}, +"message": { +"description": "The stack trace that was reported or logged by the service.", +"type": "string" +}, +"serviceContext": { +"$ref": "ServiceContext", +"description": "The `ServiceContext` for which this error was reported." +} +}, +"type": "object" +}, +"ErrorGroup": { +"description": "Description of a group of similar error events.", +"id": "ErrorGroup", +"properties": { +"groupId": { +"description": "An opaque identifier of the group. This field is assigned by the Error Reporting system and always populated. In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).", +"type": "string" +}, +"name": { +"description": "The group resource name. Written as `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}` Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/us-central1/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified.", +"type": "string" +}, +"resolutionStatus": { +"description": "Error group's resolution status. An unspecified resolution status will be interpreted as OPEN", +"enum": [ +"RESOLUTION_STATUS_UNSPECIFIED", +"OPEN", +"ACKNOWLEDGED", +"RESOLVED", +"MUTED" +], +"enumDescriptions": [ +"Status is unknown. When left unspecified in requests, it is treated like OPEN.", +"The error group is not being addressed. This is the default for new groups. It is also used for errors re-occurring after marked RESOLVED.", +"Error Group manually acknowledged, it can have an issue link attached.", +"Error Group manually resolved, more events for this group are not expected to occur.", +"The error group is muted and excluded by default on group stats requests." +], +"type": "string" +}, +"trackingIssues": { +"description": "Associated tracking issues.", +"items": { +"$ref": "TrackingIssue" +}, +"type": "array" +} +}, +"type": "object" +}, +"ErrorGroupStats": { +"description": "Data extracted for a specific group based on certain filter criteria, such as a given time period and/or service filter.", +"id": "ErrorGroupStats", +"properties": { +"affectedServices": { +"description": "Service contexts with a non-zero error count for the given filter criteria. This list can be truncated if multiple services are affected. Refer to `num_affected_services` for the total count.", +"items": { +"$ref": "ServiceContext" +}, +"type": "array" +}, +"affectedUsersCount": { +"description": "Approximate number of affected users in the given group that match the filter criteria. Users are distinguished by data in the ErrorContext of the individual error events, such as their login name or their remote IP address in case of HTTP requests. The number of affected users can be zero even if the number of errors is non-zero if no data was provided from which the affected user could be deduced. Users are counted based on data in the request context that was provided in the error report. If more users are implicitly affected, such as due to a crash of the whole service, this is not reflected here.", +"format": "int64", +"type": "string" +}, +"count": { +"description": "Approximate total number of events in the given group that match the filter criteria.", +"format": "int64", +"type": "string" +}, +"firstSeenTime": { +"description": "Approximate first occurrence that was ever seen for this group and which matches the given filter criteria, ignoring the time_range that was specified in the request.", +"format": "google-datetime", +"type": "string" +}, +"group": { +"$ref": "ErrorGroup", +"description": "Group data that is independent of the filter criteria." +}, +"lastSeenTime": { +"description": "Approximate last occurrence that was ever seen for this group and which matches the given filter criteria, ignoring the time_range that was specified in the request.", +"format": "google-datetime", +"type": "string" +}, +"numAffectedServices": { +"description": "The total number of services with a non-zero error count for the given filter criteria.", +"format": "int32", +"type": "integer" +}, +"representative": { +"$ref": "ErrorEvent", +"description": "An arbitrary event that is chosen as representative for the whole group. The representative event is intended to be used as a quick preview for the whole group. Events in the group are usually sufficiently similar to each other such that showing an arbitrary representative provides insight into the characteristics of the group as a whole." +}, +"timedCounts": { +"description": "Approximate number of occurrences over time. Timed counts returned by ListGroups are guaranteed to be: - Inside the requested time interval - Non-overlapping, and - Ordered by ascending time.", +"items": { +"$ref": "TimedCount" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRequestContext": { +"description": "HTTP request data that is related to a reported error. This data should be provided by the application when reporting an error, unless the error report has been generated automatically from Google App Engine logs.", +"id": "HttpRequestContext", +"properties": { +"method": { +"description": "The type of HTTP request, such as `GET`, `POST`, etc.", +"type": "string" +}, +"referrer": { +"description": "The referrer information that is provided with the request.", +"type": "string" +}, +"remoteIp": { +"description": "The IP address from which the request originated. This can be IPv4, IPv6, or a token which is derived from the IP address, depending on the data that has been provided in the error report.", +"type": "string" +}, +"responseStatusCode": { +"description": "The HTTP response status code for the request.", +"format": "int32", +"type": "integer" +}, +"url": { +"description": "The URL of the request.", +"type": "string" +}, +"userAgent": { +"description": "The user agent information that is provided with the request.", +"type": "string" +} +}, +"type": "object" +}, +"ListEventsResponse": { +"description": "Contains a set of requested error events.", +"id": "ListEventsResponse", +"properties": { +"errorEvents": { +"description": "The error events which match the given request.", +"items": { +"$ref": "ErrorEvent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If non-empty, more results are available. Pass this token, along with the same query parameters as the first request, to view the next page of results.", +"type": "string" +}, +"timeRangeBegin": { +"description": "The timestamp specifies the start time to which the request was restricted.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ListGroupStatsResponse": { +"description": "Contains a set of requested error group stats.", +"id": "ListGroupStatsResponse", +"properties": { +"errorGroupStats": { +"description": "The error group stats which match the given request.", +"items": { +"$ref": "ErrorGroupStats" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If non-empty, more results are available. Pass this token, along with the same query parameters as the first request, to view the next page of results.", +"type": "string" +}, +"timeRangeBegin": { +"description": "The timestamp specifies the start time to which the request was restricted. The start time is set based on the requested time range. It may be adjusted to a later time if a project has exceeded the storage quota and older data has been deleted.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ReportErrorEventResponse": { +"description": "Response for reporting an individual error event. Data may be added to this message in the future.", +"id": "ReportErrorEventResponse", +"properties": {}, +"type": "object" +}, +"ReportedErrorEvent": { +"description": "An error event which is reported to the Error Reporting system.", +"id": "ReportedErrorEvent", +"properties": { +"context": { +"$ref": "ErrorContext", +"description": "Optional. A description of the context in which the error occurred." +}, +"eventTime": { +"description": "Optional. Time when the event occurred. If not provided, the time when the event was received by the Error Reporting system is used. If provided, the time must not exceed the [logs retention period](https://cloud.google.com/logging/quotas#logs_retention_periods) in the past, or be more than 24 hours in the future. If an invalid time is provided, then an error is returned.", +"format": "google-datetime", +"type": "string" +}, +"message": { +"description": "Required. The error message. If no `context.reportLocation` is provided, the message must contain a header (typically consisting of the exception type name and an error message) and an exception stack trace in one of the supported programming languages and formats. Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go. Supported stack trace formats are: * **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). * **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc). * **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned by V8. * **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). * **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). * **PHP**: Must be prefixed with `\"PHP (Notice|Parse error|Fatal error|Warning): \"` and contain the result of [`(string)$exception`](https://php.net/manual/en/exception.tostring.php). * **Go**: Must be the return value of [`debug.Stack()`](https://pkg.go.dev/runtime/debug#Stack).", +"type": "string" +}, +"serviceContext": { +"$ref": "ServiceContext", +"description": "Required. The service context in which this error has occurred." +} +}, +"type": "object" +}, +"ServiceContext": { +"description": "Describes a running service that sends errors. Its version changes over time and multiple versions can run in parallel.", +"id": "ServiceContext", +"properties": { +"resourceType": { +"description": "Type of the MonitoredResource. List of possible values: https://cloud.google.com/monitoring/api/resources Value is set automatically for incoming errors and must not be set when reporting errors.", +"type": "string" +}, +"service": { +"description": "An identifier of the service, such as the name of the executable, job, or Google App Engine service name. This field is expected to have a low number of values that are relatively stable over time, as opposed to `version`, which can be changed whenever new code is deployed. Contains the service name for error reports extracted from Google App Engine logs or `default` if the App Engine default service is used.", +"type": "string" +}, +"version": { +"description": "Represents the source code version that the developer provided, which could represent a version label or a Git SHA-1 hash, for example. For App Engine standard environment, the version is set to the version of the app.", +"type": "string" +} +}, +"type": "object" +}, +"SourceLocation": { +"description": "Indicates a location in the source code of the service for which errors are reported. `functionName` must be provided by the application when reporting an error, unless the error report contains a `message` with a supported exception stack trace. All fields are optional for the later case.", +"id": "SourceLocation", +"properties": { +"filePath": { +"description": "The source code filename, which can include a truncated relative path, or a full path from a production machine.", +"type": "string" +}, +"functionName": { +"description": "Human-readable name of a function or method. The value can include optional context like the class or package name. For example, `my.package.MyClass.method` in case of Java.", +"type": "string" +}, +"lineNumber": { +"description": "1-based. 0 indicates that the line number is unknown.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SourceReference": { +"description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", +"id": "SourceReference", +"properties": { +"repository": { +"description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", +"type": "string" +}, +"revisionId": { +"description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", +"type": "string" +} +}, +"type": "object" +}, +"TimedCount": { +"description": "The number of errors in a given time period. All numbers are approximate since the error events are sampled before counting them.", +"id": "TimedCount", +"properties": { +"count": { +"description": "Approximate number of occurrences in the given time period.", +"format": "int64", +"type": "string" +}, +"endTime": { +"description": "End of the time period to which `count` refers (excluded).", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of the time period to which `count` refers (included).", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TrackingIssue": { +"description": "Information related to tracking the progress on resolving the error.", +"id": "TrackingIssue", +"properties": { +"url": { +"description": "A URL pointing to a related entry in an issue tracking system. Example: `https://github.com/user/project/issues/4`", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Error Reporting API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..08e44611084915b5c87a7cd544e0f3aa3e0ccda6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json @@ -0,0 +1,2116 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudfunctions.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Functions", +"description": "Manages lightweight user-provided functions executed in response to events.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/functions", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudfunctions:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudfunctions.mtls.googleapis.com/", +"name": "cloudfunctions", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"functions": { +"methods": { +"abortFunctionUpgrade": { +"description": "Aborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:abortFunctionUpgrade", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.abortFunctionUpgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which upgrade should be aborted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:abortFunctionUpgrade", +"request": { +"$ref": "AbortFunctionUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"commitFunctionUpgrade": { +"description": "Finalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:commitFunctionUpgrade", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.commitFunctionUpgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which upgrade should be finalized.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:commitFunctionUpgrade", +"request": { +"$ref": "CommitFunctionUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"functionId": { +"description": "The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/functions", +"request": { +"$ref": "Function" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "DELETE", +"id": "cloudfunctions.projects.locations.functions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which should be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateDownloadUrl": { +"description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.generateDownloadUrl", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of function for which source code Google Cloud Storage signed URL should be generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:generateDownloadUrl", +"request": { +"$ref": "GenerateDownloadUrlRequest" +}, +"response": { +"$ref": "GenerateDownloadUrlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateUploadUrl": { +"description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, specify this header: * `content-type: application/zip` Do not specify this header: * `Authorization: Bearer YOUR_TOKEN`", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.generateUploadUrl", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/functions:generateUploadUrl", +"request": { +"$ref": "GenerateUploadUrlRequest" +}, +"response": { +"$ref": "GenerateUploadUrlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a function with the given name from the requested project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which details should be obtained.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +}, +"revision": { +"description": "Optional. The optional version of the 1st gen function whose details should be obtained. The version of a 1st gen function is an integer that starts from 1 and gets incremented on redeployments. GCF may keep historical configs for old versions of 1st gen function. This field can be specified to fetch the historical configs. This field is valid only for GCF 1st gen function.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Function" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of functions that belong to the requested project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter for Functions that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of functions to return per call. The largest allowed page_size is 1,000, if the page_size is omitted or specified as greater than 1,000 then it will be replaced as 1,000. The size of the list response can be less than specified when used with filters.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/functions", +"response": { +"$ref": "ListFunctionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates existing function.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "PATCH", +"id": "cloudfunctions.projects.locations.functions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If no field mask is provided, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Function" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"redirectFunctionUpgradeTraffic": { +"description": "Changes the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:redirectFunctionUpgradeTraffic", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.redirectFunctionUpgradeTraffic", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which traffic target should be changed to 2nd Gen from 1st Gen.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:redirectFunctionUpgradeTraffic", +"request": { +"$ref": "RedirectFunctionUpgradeTrafficRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollbackFunctionUpgradeTraffic": { +"description": "Reverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:rollbackFunctionUpgradeTraffic", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.rollbackFunctionUpgradeTraffic", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which traffic target should be changed back to 1st Gen from 2nd Gen.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rollbackFunctionUpgradeTraffic", +"request": { +"$ref": "RollbackFunctionUpgradeTrafficRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setupFunctionUpgradeConfig": { +"description": "Creates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setupFunctionUpgradeConfig", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.setupFunctionUpgradeConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which should have configuration copied for upgrade.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:setupFunctionUpgradeConfig", +"request": { +"$ref": "SetupFunctionUpgradeConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtimes": { +"methods": { +"list": { +"description": "Returns a list of runtimes that are supported for the requested project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/runtimes", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.runtimes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter for Runtimes that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the runtimes should be listed, specified in the format `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/runtimes", +"response": { +"$ref": "ListRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://cloudfunctions.googleapis.com/", +"schemas": { +"AbortFunctionUpgradeRequest": { +"description": "Request for the `AbortFunctionUpgrade` method.", +"id": "AbortFunctionUpgradeRequest", +"properties": {}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AutomaticUpdatePolicy": { +"description": "Security patches are applied automatically to the runtime without requiring the function to be redeployed.", +"id": "AutomaticUpdatePolicy", +"properties": {}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BuildConfig": { +"description": "Describes the Build step of the function that builds a container from the given source.", +"id": "BuildConfig", +"properties": { +"automaticUpdatePolicy": { +"$ref": "AutomaticUpdatePolicy" +}, +"build": { +"description": "Output only. The Cloud Build name of the latest successful deployment of the function.", +"readOnly": true, +"type": "string" +}, +"dockerRegistry": { +"description": "Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", +"enum": [ +"DOCKER_REGISTRY_UNSPECIFIED", +"CONTAINER_REGISTRY", +"ARTIFACT_REGISTRY" +], +"enumDescriptions": [ +"Unspecified.", +"Docker images will be stored in multi-regional Container Registry repositories named `gcf`.", +"Docker images will be stored in regional Artifact Registry repositories. By default, GCF will create and use repositories named `gcf-artifacts` in every region in which a function is deployed. But the repository to use can also be specified by the user using the `docker_repository` field." +], +"type": "string" +}, +"dockerRepository": { +"description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Repository format must be 'DOCKER'.", +"type": "string" +}, +"entryPoint": { +"description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.", +"type": "string" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "User-provided build-time environment variables for the function", +"type": "object" +}, +"onDeployUpdatePolicy": { +"$ref": "OnDeployUpdatePolicy" +}, +"runtime": { +"description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime).", +"type": "string" +}, +"serviceAccount": { +"description": "Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`.", +"type": "string" +}, +"source": { +"$ref": "Source", +"description": "The location of the function source code." +}, +"sourceProvenance": { +"$ref": "SourceProvenance", +"description": "Output only. A permanent fixed identifier for source.", +"readOnly": true +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"workerPool": { +"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.", +"type": "string" +} +}, +"type": "object" +}, +"CommitFunctionUpgradeRequest": { +"description": "Request for the `CommitFunctionUpgrade` method.", +"id": "CommitFunctionUpgradeRequest", +"properties": {}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EventFilter": { +"description": "Filters events based on exact matches on the CloudEvents attributes.", +"id": "EventFilter", +"properties": { +"attribute": { +"description": "Required. The name of a CloudEvents attribute.", +"type": "string" +}, +"operator": { +"description": "Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is `match-path-pattern`.", +"type": "string" +}, +"value": { +"description": "Required. The value for the attribute.", +"type": "string" +} +}, +"type": "object" +}, +"EventTrigger": { +"description": "Describes EventTrigger, used to request events to be sent from another service.", +"id": "EventTrigger", +"properties": { +"channel": { +"description": "Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners.", +"type": "string" +}, +"eventFilters": { +"description": "Criteria used to filter events.", +"items": { +"$ref": "EventFilter" +}, +"type": "array" +}, +"eventType": { +"description": "Required. The type of event to observe. For example: `google.cloud.audit.log.v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`.", +"type": "string" +}, +"pubsubTopic": { +"description": "Optional. The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. Format: `projects/{project}/topics/{topic}`. This is only valid for events of type `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here will not be deleted at function deletion.", +"type": "string" +}, +"retryPolicy": { +"description": "Optional. If unset, then defaults to ignoring failures (i.e. not retrying them).", +"enum": [ +"RETRY_POLICY_UNSPECIFIED", +"RETRY_POLICY_DO_NOT_RETRY", +"RETRY_POLICY_RETRY" +], +"enumDescriptions": [ +"Not specified.", +"Do not retry.", +"Retry on any failure, retry up to 7 days with an exponential backoff (capped at 10 seconds)." +], +"type": "string" +}, +"service": { +"description": "Optional. The hostname of the service that 1st Gen function should be observed. If no string is provided, the default service implementing the API will be used. For example, `storage.googleapis.com` is the default for all event types in the `google.storage` namespace. The field is only applicable to 1st Gen functions.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services, the permission is `run.routes.invoke`. If empty, defaults to the Compute Engine default service account: `{project_number}-compute@developer.gserviceaccount.com`.", +"type": "string" +}, +"trigger": { +"description": "Output only. The resource name of the Eventarc trigger. The format of this field is `projects/{project}/locations/{region}/triggers/{trigger}`.", +"readOnly": true, +"type": "string" +}, +"triggerRegion": { +"description": "The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"Function": { +"description": "Describes a Cloud Function that contains user computation executed in response to an event. It encapsulates function and trigger configurations.", +"id": "Function", +"properties": { +"buildConfig": { +"$ref": "BuildConfig", +"description": "Describes the Build step of the function that builds a container from the given source." +}, +"createTime": { +"description": "Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User-provided description of a function.", +"type": "string" +}, +"environment": { +"description": "Describe whether the function is 1st Gen or 2nd Gen.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"eventTrigger": { +"$ref": "EventTrigger", +"description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." +}, +"kmsKeyName": { +"description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this Cloud Function.", +"type": "object" +}, +"name": { +"description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", +"type": "string" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceConfig": { +"$ref": "ServiceConfig", +"description": "Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed)." +}, +"state": { +"description": "Output only. State of the function.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"FAILED", +"DEPLOYING", +"DELETING", +"UNKNOWN" +], +"enumDescriptions": [ +"Not specified. Invalid state.", +"Function has been successfully deployed and is serving.", +"Function deployment failed and the function is not serving.", +"Function is being created or updated.", +"Function is being deleted.", +"Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state." +], +"readOnly": true, +"type": "string" +}, +"stateMessages": { +"description": "Output only. State Messages for this Cloud Function.", +"items": { +"$ref": "GoogleCloudFunctionsV2StateMessage" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. The last update timestamp of a Cloud Function.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upgradeInfo": { +"$ref": "UpgradeInfo", +"description": "Output only. UpgradeInfo for this Cloud Function", +"readOnly": true +}, +"url": { +"description": "Output only. The deployed url for the function.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GenerateDownloadUrlRequest": { +"description": "Request of `GenerateDownloadUrl` method.", +"id": "GenerateDownloadUrlRequest", +"properties": {}, +"type": "object" +}, +"GenerateDownloadUrlResponse": { +"description": "Response of `GenerateDownloadUrl` method.", +"id": "GenerateDownloadUrlResponse", +"properties": { +"downloadUrl": { +"description": "The generated Google Cloud Storage signed URL that should be used for function source code download.", +"type": "string" +} +}, +"type": "object" +}, +"GenerateUploadUrlRequest": { +"description": "Request of `GenerateSourceUploadUrl` method.", +"id": "GenerateUploadUrlRequest", +"properties": { +"environment": { +"description": "The function environment the generated upload url will be used for. The upload url for 2nd Gen functions can also be used for 1st gen functions, but not vice versa. If not specified, 2nd generation-style upload URLs are generated.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", +"type": "string" +} +}, +"type": "object" +}, +"GenerateUploadUrlResponse": { +"description": "Response of `GenerateSourceUploadUrl` method.", +"id": "GenerateUploadUrlResponse", +"properties": { +"storageSource": { +"$ref": "StorageSource", +"description": "The location of the source code in the upload bucket. Once the archive is uploaded using the `upload_url` use this field to set the `function.build_config.source.storage_source` during CreateFunction and UpdateFunction. Generation defaults to 0, as Cloud Storage provides a new generation only upon uploading a new object or version of an object." +}, +"uploadUrl": { +"description": "The generated Google Cloud Storage signed URL that should be used for a function source code upload. The uploaded file should be a zip archive which contains a function.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2LocationMetadata": { +"description": "Extra GCF specific location information.", +"id": "GoogleCloudFunctionsV2LocationMetadata", +"properties": { +"environments": { +"description": "The Cloud Function environments this location supports.", +"items": { +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudFunctionsV2OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version used to start the operation.", +"type": "string" +}, +"buildName": { +"description": "The build name of the function for create and update operations.", +"type": "string" +}, +"cancelRequested": { +"description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"type": "boolean" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"operationType": { +"description": "The operation type.", +"enum": [ +"OPERATIONTYPE_UNSPECIFIED", +"CREATE_FUNCTION", +"UPDATE_FUNCTION", +"DELETE_FUNCTION", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC", +"ROLLBACK_FUNCTION_UPGRADE_TRAFFIC", +"SETUP_FUNCTION_UPGRADE_CONFIG", +"ABORT_FUNCTION_UPGRADE", +"COMMIT_FUNCTION_UPGRADE", +"DETACH_FUNCTION" +], +"enumDescriptions": [ +"Unspecified", +"CreateFunction", +"UpdateFunction", +"DeleteFunction", +"RedirectFunctionUpgradeTraffic", +"RollbackFunctionUpgradeTraffic", +"SetupFunctionUpgradeConfig", +"AbortFunctionUpgrade", +"CommitFunctionUpgrade", +"DetachFunction" +], +"type": "string" +}, +"requestResource": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The original request that started the operation.", +"type": "object" +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"stages": { +"description": "Mechanism for reporting in-progress stages", +"items": { +"$ref": "GoogleCloudFunctionsV2Stage" +}, +"type": "array" +}, +"statusDetail": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Server-defined resource path for the target of the operation.", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2Stage": { +"description": "Each Stage of the deployment process", +"id": "GoogleCloudFunctionsV2Stage", +"properties": { +"message": { +"description": "Message describing the Stage", +"type": "string" +}, +"name": { +"description": "Name of the Stage. This will be unique for each Stage.", +"enum": [ +"NAME_UNSPECIFIED", +"ARTIFACT_REGISTRY", +"BUILD", +"SERVICE", +"TRIGGER", +"SERVICE_ROLLBACK", +"TRIGGER_ROLLBACK" +], +"enumDescriptions": [ +"Not specified. Invalid name.", +"Artifact Regsitry Stage", +"Build Stage", +"Service Stage", +"Trigger Stage", +"Service Rollback Stage", +"Trigger Rollback Stage" +], +"type": "string" +}, +"resource": { +"description": "Resource of the Stage", +"type": "string" +}, +"resourceUri": { +"description": "Link to the current Stage resource", +"type": "string" +}, +"state": { +"description": "Current state of the Stage", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_STARTED", +"IN_PROGRESS", +"COMPLETE" +], +"enumDescriptions": [ +"Not specified. Invalid state.", +"Stage has not started.", +"Stage is in progress.", +"Stage has completed." +], +"type": "string" +}, +"stateMessages": { +"description": "State messages from the current Stage.", +"items": { +"$ref": "GoogleCloudFunctionsV2StateMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2StateMessage": { +"description": "Informational messages about the state of the Cloud Function or Operation.", +"id": "GoogleCloudFunctionsV2StateMessage", +"properties": { +"message": { +"description": "The message.", +"type": "string" +}, +"severity": { +"description": "Severity of the state message.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Not specified. Invalid severity.", +"ERROR-level severity.", +"WARNING-level severity.", +"INFO-level severity." +], +"type": "string" +}, +"type": { +"description": "One-word CamelCase type of the state message.", +"type": "string" +} +}, +"type": "object" +}, +"ListFunctionsResponse": { +"description": "Response for the `ListFunctions` method.", +"id": "ListFunctionsResponse", +"properties": { +"functions": { +"description": "The functions that match the request.", +"items": { +"$ref": "Function" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached. The response does not include any functions from these locations.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRuntimesResponse": { +"description": "Response for the `ListRuntimes` method.", +"id": "ListRuntimesResponse", +"properties": { +"runtimes": { +"description": "The runtimes that match the request.", +"items": { +"$ref": "Runtime" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"OnDeployUpdatePolicy": { +"description": "Security patches are only applied when a function is redeployed.", +"id": "OnDeployUpdatePolicy", +"properties": { +"runtimeVersion": { +"description": "Output only. contains the runtime version which was used during latest function deployment.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadataV1": { +"description": "Metadata describing an Operation", +"id": "OperationMetadataV1", +"properties": { +"buildId": { +"description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.", +"type": "string" +}, +"buildName": { +"description": "The Cloud Build Name of the function deployment. This field is only populated for Create and Update operations. `projects//locations//builds/`.", +"type": "string" +}, +"request": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The original request that started the operation.", +"type": "object" +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"target": { +"description": "Target of the operation - for example `projects/project-1/locations/region-1/functions/function-1`", +"type": "string" +}, +"type": { +"description": "Type of operation.", +"enum": [ +"OPERATION_UNSPECIFIED", +"CREATE_FUNCTION", +"UPDATE_FUNCTION", +"DELETE_FUNCTION" +], +"enumDescriptions": [ +"Unknown operation type.", +"Triggered by CreateFunction call", +"Triggered by UpdateFunction call", +"Triggered by DeleteFunction call." +], +"type": "string" +}, +"updateTime": { +"description": "The last update timestamp of the operation.", +"format": "google-datetime", +"type": "string" +}, +"versionId": { +"description": "Version id of the function created or updated by an API call. This field is only populated for Create and Update operations.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RedirectFunctionUpgradeTrafficRequest": { +"description": "Request for the `RedirectFunctionUpgradeTraffic` method.", +"id": "RedirectFunctionUpgradeTrafficRequest", +"properties": {}, +"type": "object" +}, +"RepoSource": { +"description": "Location of the source in a Google Cloud Source Repository.", +"id": "RepoSource", +"properties": { +"branchName": { +"description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +}, +"commitSha": { +"description": "Explicit commit SHA to build.", +"type": "string" +}, +"dir": { +"description": "Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution. eg. helloworld (no leading slash allowed)", +"type": "string" +}, +"projectId": { +"description": "ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", +"type": "string" +}, +"repoName": { +"description": "Name of the Cloud Source Repository.", +"type": "string" +}, +"tagName": { +"description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +} +}, +"type": "object" +}, +"RollbackFunctionUpgradeTrafficRequest": { +"description": "Request for the `RollbackFunctionUpgradeTraffic` method.", +"id": "RollbackFunctionUpgradeTrafficRequest", +"properties": {}, +"type": "object" +}, +"Runtime": { +"description": "Describes a runtime and any special information (e.g., deprecation status) related to it.", +"id": "Runtime", +"properties": { +"decommissionDate": { +"$ref": "Date", +"description": "Decommission date for the runtime." +}, +"deprecationDate": { +"$ref": "Date", +"description": "Deprecation date for the runtime." +}, +"displayName": { +"description": "The user facing name, eg 'Go 1.13', 'Node.js 12', etc.", +"type": "string" +}, +"environment": { +"description": "The environment for the runtime.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"name": { +"description": "The name of the runtime, e.g., 'go113', 'nodejs12', etc.", +"type": "string" +}, +"stage": { +"description": "The stage of life this runtime is in, e.g., BETA, GA, etc.", +"enum": [ +"RUNTIME_STAGE_UNSPECIFIED", +"DEVELOPMENT", +"ALPHA", +"BETA", +"GA", +"DEPRECATED", +"DECOMMISSIONED" +], +"enumDescriptions": [ +"Not specified.", +"The runtime is in development.", +"The runtime is in the Alpha stage.", +"The runtime is in the Beta stage.", +"The runtime is generally available.", +"The runtime is deprecated.", +"The runtime is no longer supported." +], +"type": "string" +}, +"warnings": { +"description": "Warning messages, e.g., a deprecation warning.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecretEnvVar": { +"description": "Configuration for a secret environment variable. It has the information necessary to fetch the secret value from secret manager and expose it as an environment variable.", +"id": "SecretEnvVar", +"properties": { +"key": { +"description": "Name of the environment variable.", +"type": "string" +}, +"projectId": { +"description": "Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it is assumed that the secret is in the same project as the function.", +"type": "string" +}, +"secret": { +"description": "Name of the secret in secret manager (not the full resource name).", +"type": "string" +}, +"version": { +"description": "Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.", +"type": "string" +} +}, +"type": "object" +}, +"SecretVersion": { +"description": "Configuration for a single version.", +"id": "SecretVersion", +"properties": { +"path": { +"description": "Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mount_path as '/etc/secrets' and path as `secret_foo` would mount the secret value file at `/etc/secrets/secret_foo`.", +"type": "string" +}, +"version": { +"description": "Version of the secret (version number or the string 'latest'). It is preferable to use `latest` version with secret volumes as secret value changes are reflected immediately.", +"type": "string" +} +}, +"type": "object" +}, +"SecretVolume": { +"description": "Configuration for a secret volume. It has the information necessary to fetch the secret value from secret manager and make it available as files mounted at the requested paths within the application container.", +"id": "SecretVolume", +"properties": { +"mountPath": { +"description": "The path within the container to mount the secret volume. For example, setting the mount_path as `/etc/secrets` would mount the secret value files under the `/etc/secrets` directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets", +"type": "string" +}, +"projectId": { +"description": "Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it is assumed that the secret is in the same project as the function.", +"type": "string" +}, +"secret": { +"description": "Name of the secret in secret manager (not the full resource name).", +"type": "string" +}, +"versions": { +"description": "List of secret versions to mount for this secret. If empty, the `latest` version of the secret will be made available in a file named after the secret under the mount point.", +"items": { +"$ref": "SecretVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceConfig": { +"description": "Describes the Service being deployed. Currently Supported : Cloud Run (fully managed).", +"id": "ServiceConfig", +"properties": { +"allTrafficOnLatestRevision": { +"description": "Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.", +"type": "boolean" +}, +"availableCpu": { +"description": "The number of CPUs used in a single container instance. Default value is calculated from available memory. Supports the same values as Cloud Run, see https://cloud.google.com/run/docs/reference/rest/v1/Container#resourcerequirements Example: \"1\" indicates 1 vCPU", +"type": "string" +}, +"availableMemory": { +"description": "The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.", +"type": "string" +}, +"binaryAuthorizationPolicy": { +"description": "Optional. The binary authorization policy to be checked when deploying the Cloud Run service.", +"type": "string" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Environment variables that shall be available during function execution.", +"type": "object" +}, +"ingressSettings": { +"description": "The ingress settings for the function, controlling what traffic can reach it.", +"enum": [ +"INGRESS_SETTINGS_UNSPECIFIED", +"ALLOW_ALL", +"ALLOW_INTERNAL_ONLY", +"ALLOW_INTERNAL_AND_GCLB" +], +"enumDescriptions": [ +"Unspecified.", +"Allow HTTP traffic from public and private sources.", +"Allow HTTP traffic from only private VPC sources.", +"Allow HTTP traffic from private VPC sources and through GCLB." +], +"type": "string" +}, +"maxInstanceCount": { +"description": "The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details.", +"format": "int32", +"type": "integer" +}, +"maxInstanceRequestConcurrency": { +"description": "Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.", +"format": "int32", +"type": "integer" +}, +"minInstanceCount": { +"description": "The limit on the minimum number of function instances that may coexist at a given time. Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "Output only. The name of service revision.", +"readOnly": true, +"type": "string" +}, +"secretEnvironmentVariables": { +"description": "Secret environment variables configuration.", +"items": { +"$ref": "SecretEnvVar" +}, +"type": "array" +}, +"secretVolumes": { +"description": "Secret volumes configuration.", +"items": { +"$ref": "SecretVolume" +}, +"type": "array" +}, +"securityLevel": { +"description": "Security level configure whether the function only accepts https. This configuration is only applicable to 1st Gen functions with Http trigger. By default https is optional for 1st Gen functions; 2nd Gen functions are https ONLY.", +"enum": [ +"SECURITY_LEVEL_UNSPECIFIED", +"SECURE_ALWAYS", +"SECURE_OPTIONAL" +], +"enumDescriptions": [ +"Unspecified.", +"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly." +], +"type": "string" +}, +"service": { +"description": "Output only. Name of the service associated with a Function. The format of this field is `projects/{project}/locations/{region}/services/{service}`", +"readOnly": true, +"type": "string" +}, +"serviceAccountEmail": { +"description": "The email of the service's service account. If empty, defaults to `{project_number}-compute@developer.gserviceaccount.com`.", +"type": "string" +}, +"timeoutSeconds": { +"description": "The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "Output only. URI of the Service deployed.", +"readOnly": true, +"type": "string" +}, +"vpcConnector": { +"description": "The Serverless VPC Access connector that this cloud function can connect to. The format of this field is `projects/*/locations/*/connectors/*`.", +"type": "string" +}, +"vpcConnectorEgressSettings": { +"description": "The egress settings for the connector, controlling what traffic is diverted through it.", +"enum": [ +"VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", +"PRIVATE_RANGES_ONLY", +"ALL_TRAFFIC" +], +"enumDescriptions": [ +"Unspecified.", +"Use the VPC Access Connector only for private IP space from RFC1918.", +"Force the use of VPC Access Connector for all egress traffic from the function." +], +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"SetupFunctionUpgradeConfigRequest": { +"description": "Request for the `SetupFunctionUpgradeConfig` method.", +"id": "SetupFunctionUpgradeConfigRequest", +"properties": {}, +"type": "object" +}, +"Source": { +"description": "The location of the function source code.", +"id": "Source", +"properties": { +"gitUri": { +"description": "If provided, get the source from GitHub repository. This option is valid only for GCF 1st Gen function. Example: https://github.com///blob//", +"type": "string" +}, +"repoSource": { +"$ref": "RepoSource", +"description": "If provided, get the source from this location in a Cloud Source Repository." +}, +"storageSource": { +"$ref": "StorageSource", +"description": "If provided, get the source from this location in Google Cloud Storage." +} +}, +"type": "object" +}, +"SourceProvenance": { +"description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", +"id": "SourceProvenance", +"properties": { +"gitUri": { +"description": "A copy of the build's `source.git_uri`, if exists, with any commits resolved.", +"type": "string" +}, +"resolvedRepoSource": { +"$ref": "RepoSource", +"description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." +}, +"resolvedStorageSource": { +"$ref": "StorageSource", +"description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StorageSource": { +"description": "Location of the source in an archive file in Google Cloud Storage.", +"id": "StorageSource", +"properties": { +"bucket": { +"description": "Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", +"type": "string" +}, +"sourceUploadUrl": { +"description": "When the specified storage bucket is a 1st gen function uploard url bucket, this field should be set as the generated upload url for 1st gen deployment.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpgradeInfo": { +"description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", +"id": "UpgradeInfo", +"properties": { +"buildConfig": { +"$ref": "BuildConfig", +"description": "Describes the Build step of the function that builds a container to prepare for 2nd gen upgrade." +}, +"eventTrigger": { +"$ref": "EventTrigger", +"description": "Describes the Event trigger which has been setup to prepare for 2nd gen upgrade." +}, +"serviceConfig": { +"$ref": "ServiceConfig", +"description": "Describes the Cloud Run service which has been setup to prepare for 2nd gen upgrade." +}, +"upgradeState": { +"description": "UpgradeState of the function", +"enum": [ +"UPGRADE_STATE_UNSPECIFIED", +"ELIGIBLE_FOR_2ND_GEN_UPGRADE", +"UPGRADE_OPERATION_IN_PROGRESS", +"SETUP_FUNCTION_UPGRADE_CONFIG_SUCCESSFUL", +"SETUP_FUNCTION_UPGRADE_CONFIG_ERROR", +"ABORT_FUNCTION_UPGRADE_ERROR", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", +"ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", +"COMMIT_FUNCTION_UPGRADE_ERROR", +"DETACH_IN_PROGRESS" +], +"enumDescriptions": [ +"Unspecified state. Most functions are in this upgrade state.", +"Functions in this state are eligible for 1st Gen -> 2nd Gen upgrade.", +"An upgrade related operation is in progress.", +"SetupFunctionUpgradeConfig API was successful and a 2nd Gen function has been created based on 1st Gen function instance.", +"SetupFunctionUpgradeConfig API was un-successful.", +"AbortFunctionUpgrade API was un-successful.", +"RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", +"RedirectFunctionUpgradeTraffic API was un-successful.", +"RollbackFunctionUpgradeTraffic API was un-successful.", +"CommitFunctionUpgrade API was un-successful.", +"Function is requested to be detached from 2nd Gen to CRf." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Functions API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..fe28b96dc6a894e3cddb1146a93c71e5190f725f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json @@ -0,0 +1,2116 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudfunctions.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Functions", +"description": "Manages lightweight user-provided functions executed in response to events.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/functions", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudfunctions:v2alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudfunctions.mtls.googleapis.com/", +"name": "cloudfunctions", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2alpha/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v2alpha/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"functions": { +"methods": { +"abortFunctionUpgrade": { +"description": "Aborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:abortFunctionUpgrade", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.abortFunctionUpgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which upgrade should be aborted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:abortFunctionUpgrade", +"request": { +"$ref": "AbortFunctionUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"commitFunctionUpgrade": { +"description": "Finalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:commitFunctionUpgrade", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.commitFunctionUpgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which upgrade should be finalized.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:commitFunctionUpgrade", +"request": { +"$ref": "CommitFunctionUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"functionId": { +"description": "The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/functions", +"request": { +"$ref": "Function" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "DELETE", +"id": "cloudfunctions.projects.locations.functions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which should be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateDownloadUrl": { +"description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.generateDownloadUrl", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of function for which source code Google Cloud Storage signed URL should be generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:generateDownloadUrl", +"request": { +"$ref": "GenerateDownloadUrlRequest" +}, +"response": { +"$ref": "GenerateDownloadUrlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateUploadUrl": { +"description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, specify this header: * `content-type: application/zip` Do not specify this header: * `Authorization: Bearer YOUR_TOKEN`", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.generateUploadUrl", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/functions:generateUploadUrl", +"request": { +"$ref": "GenerateUploadUrlRequest" +}, +"response": { +"$ref": "GenerateUploadUrlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a function with the given name from the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which details should be obtained.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +}, +"revision": { +"description": "Optional. The optional version of the 1st gen function whose details should be obtained. The version of a 1st gen function is an integer that starts from 1 and gets incremented on redeployments. GCF may keep historical configs for old versions of 1st gen function. This field can be specified to fetch the historical configs. This field is valid only for GCF 1st gen function.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Function" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of functions that belong to the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.functions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter for Functions that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of functions to return per call. The largest allowed page_size is 1,000, if the page_size is omitted or specified as greater than 1,000 then it will be replaced as 1,000. The size of the list response can be less than specified when used with filters.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/functions", +"response": { +"$ref": "ListFunctionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates existing function.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", +"httpMethod": "PATCH", +"id": "cloudfunctions.projects.locations.functions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If no field mask is provided, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "Function" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"redirectFunctionUpgradeTraffic": { +"description": "Changes the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:redirectFunctionUpgradeTraffic", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.redirectFunctionUpgradeTraffic", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which traffic target should be changed to 2nd Gen from 1st Gen.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:redirectFunctionUpgradeTraffic", +"request": { +"$ref": "RedirectFunctionUpgradeTrafficRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollbackFunctionUpgradeTraffic": { +"description": "Reverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:rollbackFunctionUpgradeTraffic", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.rollbackFunctionUpgradeTraffic", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function for which traffic target should be changed back to 1st Gen from 2nd Gen.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:rollbackFunctionUpgradeTraffic", +"request": { +"$ref": "RollbackFunctionUpgradeTrafficRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setupFunctionUpgradeConfig": { +"description": "Creates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setupFunctionUpgradeConfig", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.setupFunctionUpgradeConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the function which should have configuration copied for upgrade.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:setupFunctionUpgradeConfig", +"request": { +"$ref": "SetupFunctionUpgradeConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudfunctions.projects.locations.functions.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtimes": { +"methods": { +"list": { +"description": "Returns a list of runtimes that are supported for the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/runtimes", +"httpMethod": "GET", +"id": "cloudfunctions.projects.locations.runtimes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter for Runtimes that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the runtimes should be listed, specified in the format `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/runtimes", +"response": { +"$ref": "ListRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://cloudfunctions.googleapis.com/", +"schemas": { +"AbortFunctionUpgradeRequest": { +"description": "Request for the `AbortFunctionUpgrade` method.", +"id": "AbortFunctionUpgradeRequest", +"properties": {}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AutomaticUpdatePolicy": { +"description": "Security patches are applied automatically to the runtime without requiring the function to be redeployed.", +"id": "AutomaticUpdatePolicy", +"properties": {}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BuildConfig": { +"description": "Describes the Build step of the function that builds a container from the given source.", +"id": "BuildConfig", +"properties": { +"automaticUpdatePolicy": { +"$ref": "AutomaticUpdatePolicy" +}, +"build": { +"description": "Output only. The Cloud Build name of the latest successful deployment of the function.", +"readOnly": true, +"type": "string" +}, +"dockerRegistry": { +"description": "Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", +"enum": [ +"DOCKER_REGISTRY_UNSPECIFIED", +"CONTAINER_REGISTRY", +"ARTIFACT_REGISTRY" +], +"enumDescriptions": [ +"Unspecified.", +"Docker images will be stored in multi-regional Container Registry repositories named `gcf`.", +"Docker images will be stored in regional Artifact Registry repositories. By default, GCF will create and use repositories named `gcf-artifacts` in every region in which a function is deployed. But the repository to use can also be specified by the user using the `docker_repository` field." +], +"type": "string" +}, +"dockerRepository": { +"description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Repository format must be 'DOCKER'.", +"type": "string" +}, +"entryPoint": { +"description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.", +"type": "string" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "User-provided build-time environment variables for the function", +"type": "object" +}, +"onDeployUpdatePolicy": { +"$ref": "OnDeployUpdatePolicy" +}, +"runtime": { +"description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime).", +"type": "string" +}, +"serviceAccount": { +"description": "Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`.", +"type": "string" +}, +"source": { +"$ref": "Source", +"description": "The location of the function source code." +}, +"sourceProvenance": { +"$ref": "SourceProvenance", +"description": "Output only. A permanent fixed identifier for source.", +"readOnly": true +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"workerPool": { +"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.", +"type": "string" +} +}, +"type": "object" +}, +"CommitFunctionUpgradeRequest": { +"description": "Request for the `CommitFunctionUpgrade` method.", +"id": "CommitFunctionUpgradeRequest", +"properties": {}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EventFilter": { +"description": "Filters events based on exact matches on the CloudEvents attributes.", +"id": "EventFilter", +"properties": { +"attribute": { +"description": "Required. The name of a CloudEvents attribute.", +"type": "string" +}, +"operator": { +"description": "Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is `match-path-pattern`.", +"type": "string" +}, +"value": { +"description": "Required. The value for the attribute.", +"type": "string" +} +}, +"type": "object" +}, +"EventTrigger": { +"description": "Describes EventTrigger, used to request events to be sent from another service.", +"id": "EventTrigger", +"properties": { +"channel": { +"description": "Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners.", +"type": "string" +}, +"eventFilters": { +"description": "Criteria used to filter events.", +"items": { +"$ref": "EventFilter" +}, +"type": "array" +}, +"eventType": { +"description": "Required. The type of event to observe. For example: `google.cloud.audit.log.v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`.", +"type": "string" +}, +"pubsubTopic": { +"description": "Optional. The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. Format: `projects/{project}/topics/{topic}`. This is only valid for events of type `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here will not be deleted at function deletion.", +"type": "string" +}, +"retryPolicy": { +"description": "Optional. If unset, then defaults to ignoring failures (i.e. not retrying them).", +"enum": [ +"RETRY_POLICY_UNSPECIFIED", +"RETRY_POLICY_DO_NOT_RETRY", +"RETRY_POLICY_RETRY" +], +"enumDescriptions": [ +"Not specified.", +"Do not retry.", +"Retry on any failure, retry up to 7 days with an exponential backoff (capped at 10 seconds)." +], +"type": "string" +}, +"service": { +"description": "Optional. The hostname of the service that 1st Gen function should be observed. If no string is provided, the default service implementing the API will be used. For example, `storage.googleapis.com` is the default for all event types in the `google.storage` namespace. The field is only applicable to 1st Gen functions.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services, the permission is `run.routes.invoke`. If empty, defaults to the Compute Engine default service account: `{project_number}-compute@developer.gserviceaccount.com`.", +"type": "string" +}, +"trigger": { +"description": "Output only. The resource name of the Eventarc trigger. The format of this field is `projects/{project}/locations/{region}/triggers/{trigger}`.", +"readOnly": true, +"type": "string" +}, +"triggerRegion": { +"description": "The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"Function": { +"description": "Describes a Cloud Function that contains user computation executed in response to an event. It encapsulates function and trigger configurations.", +"id": "Function", +"properties": { +"buildConfig": { +"$ref": "BuildConfig", +"description": "Describes the Build step of the function that builds a container from the given source." +}, +"createTime": { +"description": "Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User-provided description of a function.", +"type": "string" +}, +"environment": { +"description": "Describe whether the function is 1st Gen or 2nd Gen.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"eventTrigger": { +"$ref": "EventTrigger", +"description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." +}, +"kmsKeyName": { +"description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this Cloud Function.", +"type": "object" +}, +"name": { +"description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", +"type": "string" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceConfig": { +"$ref": "ServiceConfig", +"description": "Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed)." +}, +"state": { +"description": "Output only. State of the function.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"FAILED", +"DEPLOYING", +"DELETING", +"UNKNOWN" +], +"enumDescriptions": [ +"Not specified. Invalid state.", +"Function has been successfully deployed and is serving.", +"Function deployment failed and the function is not serving.", +"Function is being created or updated.", +"Function is being deleted.", +"Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state." +], +"readOnly": true, +"type": "string" +}, +"stateMessages": { +"description": "Output only. State Messages for this Cloud Function.", +"items": { +"$ref": "GoogleCloudFunctionsV2alphaStateMessage" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. The last update timestamp of a Cloud Function.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upgradeInfo": { +"$ref": "UpgradeInfo", +"description": "Output only. UpgradeInfo for this Cloud Function", +"readOnly": true +}, +"url": { +"description": "Output only. The deployed url for the function.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GenerateDownloadUrlRequest": { +"description": "Request of `GenerateDownloadUrl` method.", +"id": "GenerateDownloadUrlRequest", +"properties": {}, +"type": "object" +}, +"GenerateDownloadUrlResponse": { +"description": "Response of `GenerateDownloadUrl` method.", +"id": "GenerateDownloadUrlResponse", +"properties": { +"downloadUrl": { +"description": "The generated Google Cloud Storage signed URL that should be used for function source code download.", +"type": "string" +} +}, +"type": "object" +}, +"GenerateUploadUrlRequest": { +"description": "Request of `GenerateSourceUploadUrl` method.", +"id": "GenerateUploadUrlRequest", +"properties": { +"environment": { +"description": "The function environment the generated upload url will be used for. The upload url for 2nd Gen functions can also be used for 1st gen functions, but not vice versa. If not specified, 2nd generation-style upload URLs are generated.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", +"type": "string" +} +}, +"type": "object" +}, +"GenerateUploadUrlResponse": { +"description": "Response of `GenerateSourceUploadUrl` method.", +"id": "GenerateUploadUrlResponse", +"properties": { +"storageSource": { +"$ref": "StorageSource", +"description": "The location of the source code in the upload bucket. Once the archive is uploaded using the `upload_url` use this field to set the `function.build_config.source.storage_source` during CreateFunction and UpdateFunction. Generation defaults to 0, as Cloud Storage provides a new generation only upon uploading a new object or version of an object." +}, +"uploadUrl": { +"description": "The generated Google Cloud Storage signed URL that should be used for a function source code upload. The uploaded file should be a zip archive which contains a function.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2alphaLocationMetadata": { +"description": "Extra GCF specific location information.", +"id": "GoogleCloudFunctionsV2alphaLocationMetadata", +"properties": { +"environments": { +"description": "The Cloud Function environments this location supports.", +"items": { +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2alphaOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudFunctionsV2alphaOperationMetadata", +"properties": { +"apiVersion": { +"description": "API version used to start the operation.", +"type": "string" +}, +"buildName": { +"description": "The build name of the function for create and update operations.", +"type": "string" +}, +"cancelRequested": { +"description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"type": "boolean" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"operationType": { +"description": "The operation type.", +"enum": [ +"OPERATIONTYPE_UNSPECIFIED", +"CREATE_FUNCTION", +"UPDATE_FUNCTION", +"DELETE_FUNCTION", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC", +"ROLLBACK_FUNCTION_UPGRADE_TRAFFIC", +"SETUP_FUNCTION_UPGRADE_CONFIG", +"ABORT_FUNCTION_UPGRADE", +"COMMIT_FUNCTION_UPGRADE", +"DETACH_FUNCTION" +], +"enumDescriptions": [ +"Unspecified", +"CreateFunction", +"UpdateFunction", +"DeleteFunction", +"RedirectFunctionUpgradeTraffic", +"RollbackFunctionUpgradeTraffic", +"SetupFunctionUpgradeConfig", +"AbortFunctionUpgrade", +"CommitFunctionUpgrade", +"DetachFunction" +], +"type": "string" +}, +"requestResource": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The original request that started the operation.", +"type": "object" +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"stages": { +"description": "Mechanism for reporting in-progress stages", +"items": { +"$ref": "GoogleCloudFunctionsV2alphaStage" +}, +"type": "array" +}, +"statusDetail": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Server-defined resource path for the target of the operation.", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2alphaStage": { +"description": "Each Stage of the deployment process", +"id": "GoogleCloudFunctionsV2alphaStage", +"properties": { +"message": { +"description": "Message describing the Stage", +"type": "string" +}, +"name": { +"description": "Name of the Stage. This will be unique for each Stage.", +"enum": [ +"NAME_UNSPECIFIED", +"ARTIFACT_REGISTRY", +"BUILD", +"SERVICE", +"TRIGGER", +"SERVICE_ROLLBACK", +"TRIGGER_ROLLBACK" +], +"enumDescriptions": [ +"Not specified. Invalid name.", +"Artifact Regsitry Stage", +"Build Stage", +"Service Stage", +"Trigger Stage", +"Service Rollback Stage", +"Trigger Rollback Stage" +], +"type": "string" +}, +"resource": { +"description": "Resource of the Stage", +"type": "string" +}, +"resourceUri": { +"description": "Link to the current Stage resource", +"type": "string" +}, +"state": { +"description": "Current state of the Stage", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_STARTED", +"IN_PROGRESS", +"COMPLETE" +], +"enumDescriptions": [ +"Not specified. Invalid state.", +"Stage has not started.", +"Stage is in progress.", +"Stage has completed." +], +"type": "string" +}, +"stateMessages": { +"description": "State messages from the current Stage.", +"items": { +"$ref": "GoogleCloudFunctionsV2alphaStateMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudFunctionsV2alphaStateMessage": { +"description": "Informational messages about the state of the Cloud Function or Operation.", +"id": "GoogleCloudFunctionsV2alphaStateMessage", +"properties": { +"message": { +"description": "The message.", +"type": "string" +}, +"severity": { +"description": "Severity of the state message.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Not specified. Invalid severity.", +"ERROR-level severity.", +"WARNING-level severity.", +"INFO-level severity." +], +"type": "string" +}, +"type": { +"description": "One-word CamelCase type of the state message.", +"type": "string" +} +}, +"type": "object" +}, +"ListFunctionsResponse": { +"description": "Response for the `ListFunctions` method.", +"id": "ListFunctionsResponse", +"properties": { +"functions": { +"description": "The functions that match the request.", +"items": { +"$ref": "Function" +}, +"type": "array" +}, +"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" +}, +"unreachable": { +"description": "Locations that could not be reached. The response does not include any functions from these locations.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRuntimesResponse": { +"description": "Response for the `ListRuntimes` method.", +"id": "ListRuntimesResponse", +"properties": { +"runtimes": { +"description": "The runtimes that match the request.", +"items": { +"$ref": "Runtime" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"OnDeployUpdatePolicy": { +"description": "Security patches are only applied when a function is redeployed.", +"id": "OnDeployUpdatePolicy", +"properties": { +"runtimeVersion": { +"description": "Output only. contains the runtime version which was used during latest function deployment.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadataV1": { +"description": "Metadata describing an Operation", +"id": "OperationMetadataV1", +"properties": { +"buildId": { +"description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.", +"type": "string" +}, +"buildName": { +"description": "The Cloud Build Name of the function deployment. This field is only populated for Create and Update operations. `projects//locations//builds/`.", +"type": "string" +}, +"request": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The original request that started the operation.", +"type": "object" +}, +"sourceToken": { +"description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", +"type": "string" +}, +"target": { +"description": "Target of the operation - for example `projects/project-1/locations/region-1/functions/function-1`", +"type": "string" +}, +"type": { +"description": "Type of operation.", +"enum": [ +"OPERATION_UNSPECIFIED", +"CREATE_FUNCTION", +"UPDATE_FUNCTION", +"DELETE_FUNCTION" +], +"enumDescriptions": [ +"Unknown operation type.", +"Triggered by CreateFunction call", +"Triggered by UpdateFunction call", +"Triggered by DeleteFunction call." +], +"type": "string" +}, +"updateTime": { +"description": "The last update timestamp of the operation.", +"format": "google-datetime", +"type": "string" +}, +"versionId": { +"description": "Version id of the function created or updated by an API call. This field is only populated for Create and Update operations.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RedirectFunctionUpgradeTrafficRequest": { +"description": "Request for the `RedirectFunctionUpgradeTraffic` method.", +"id": "RedirectFunctionUpgradeTrafficRequest", +"properties": {}, +"type": "object" +}, +"RepoSource": { +"description": "Location of the source in a Google Cloud Source Repository.", +"id": "RepoSource", +"properties": { +"branchName": { +"description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +}, +"commitSha": { +"description": "Explicit commit SHA to build.", +"type": "string" +}, +"dir": { +"description": "Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution. eg. helloworld (no leading slash allowed)", +"type": "string" +}, +"projectId": { +"description": "ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", +"type": "string" +}, +"repoName": { +"description": "Name of the Cloud Source Repository.", +"type": "string" +}, +"tagName": { +"description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +} +}, +"type": "object" +}, +"RollbackFunctionUpgradeTrafficRequest": { +"description": "Request for the `RollbackFunctionUpgradeTraffic` method.", +"id": "RollbackFunctionUpgradeTrafficRequest", +"properties": {}, +"type": "object" +}, +"Runtime": { +"description": "Describes a runtime and any special information (e.g., deprecation status) related to it.", +"id": "Runtime", +"properties": { +"decommissionDate": { +"$ref": "Date", +"description": "Decommission date for the runtime." +}, +"deprecationDate": { +"$ref": "Date", +"description": "Deprecation date for the runtime." +}, +"displayName": { +"description": "The user facing name, eg 'Go 1.13', 'Node.js 12', etc.", +"type": "string" +}, +"environment": { +"description": "The environment for the runtime.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"GEN_1", +"GEN_2" +], +"enumDescriptions": [ +"Unspecified", +"Gen 1", +"Gen 2" +], +"type": "string" +}, +"name": { +"description": "The name of the runtime, e.g., 'go113', 'nodejs12', etc.", +"type": "string" +}, +"stage": { +"description": "The stage of life this runtime is in, e.g., BETA, GA, etc.", +"enum": [ +"RUNTIME_STAGE_UNSPECIFIED", +"DEVELOPMENT", +"ALPHA", +"BETA", +"GA", +"DEPRECATED", +"DECOMMISSIONED" +], +"enumDescriptions": [ +"Not specified.", +"The runtime is in development.", +"The runtime is in the Alpha stage.", +"The runtime is in the Beta stage.", +"The runtime is generally available.", +"The runtime is deprecated.", +"The runtime is no longer supported." +], +"type": "string" +}, +"warnings": { +"description": "Warning messages, e.g., a deprecation warning.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecretEnvVar": { +"description": "Configuration for a secret environment variable. It has the information necessary to fetch the secret value from secret manager and expose it as an environment variable.", +"id": "SecretEnvVar", +"properties": { +"key": { +"description": "Name of the environment variable.", +"type": "string" +}, +"projectId": { +"description": "Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it is assumed that the secret is in the same project as the function.", +"type": "string" +}, +"secret": { +"description": "Name of the secret in secret manager (not the full resource name).", +"type": "string" +}, +"version": { +"description": "Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.", +"type": "string" +} +}, +"type": "object" +}, +"SecretVersion": { +"description": "Configuration for a single version.", +"id": "SecretVersion", +"properties": { +"path": { +"description": "Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mount_path as '/etc/secrets' and path as `secret_foo` would mount the secret value file at `/etc/secrets/secret_foo`.", +"type": "string" +}, +"version": { +"description": "Version of the secret (version number or the string 'latest'). It is preferable to use `latest` version with secret volumes as secret value changes are reflected immediately.", +"type": "string" +} +}, +"type": "object" +}, +"SecretVolume": { +"description": "Configuration for a secret volume. It has the information necessary to fetch the secret value from secret manager and make it available as files mounted at the requested paths within the application container.", +"id": "SecretVolume", +"properties": { +"mountPath": { +"description": "The path within the container to mount the secret volume. For example, setting the mount_path as `/etc/secrets` would mount the secret value files under the `/etc/secrets` directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets", +"type": "string" +}, +"projectId": { +"description": "Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it is assumed that the secret is in the same project as the function.", +"type": "string" +}, +"secret": { +"description": "Name of the secret in secret manager (not the full resource name).", +"type": "string" +}, +"versions": { +"description": "List of secret versions to mount for this secret. If empty, the `latest` version of the secret will be made available in a file named after the secret under the mount point.", +"items": { +"$ref": "SecretVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceConfig": { +"description": "Describes the Service being deployed. Currently Supported : Cloud Run (fully managed).", +"id": "ServiceConfig", +"properties": { +"allTrafficOnLatestRevision": { +"description": "Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.", +"type": "boolean" +}, +"availableCpu": { +"description": "The number of CPUs used in a single container instance. Default value is calculated from available memory. Supports the same values as Cloud Run, see https://cloud.google.com/run/docs/reference/rest/v1/Container#resourcerequirements Example: \"1\" indicates 1 vCPU", +"type": "string" +}, +"availableMemory": { +"description": "The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.", +"type": "string" +}, +"binaryAuthorizationPolicy": { +"description": "Optional. The binary authorization policy to be checked when deploying the Cloud Run service.", +"type": "string" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Environment variables that shall be available during function execution.", +"type": "object" +}, +"ingressSettings": { +"description": "The ingress settings for the function, controlling what traffic can reach it.", +"enum": [ +"INGRESS_SETTINGS_UNSPECIFIED", +"ALLOW_ALL", +"ALLOW_INTERNAL_ONLY", +"ALLOW_INTERNAL_AND_GCLB" +], +"enumDescriptions": [ +"Unspecified.", +"Allow HTTP traffic from public and private sources.", +"Allow HTTP traffic from only private VPC sources.", +"Allow HTTP traffic from private VPC sources and through GCLB." +], +"type": "string" +}, +"maxInstanceCount": { +"description": "The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details.", +"format": "int32", +"type": "integer" +}, +"maxInstanceRequestConcurrency": { +"description": "Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.", +"format": "int32", +"type": "integer" +}, +"minInstanceCount": { +"description": "The limit on the minimum number of function instances that may coexist at a given time. Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "Output only. The name of service revision.", +"readOnly": true, +"type": "string" +}, +"secretEnvironmentVariables": { +"description": "Secret environment variables configuration.", +"items": { +"$ref": "SecretEnvVar" +}, +"type": "array" +}, +"secretVolumes": { +"description": "Secret volumes configuration.", +"items": { +"$ref": "SecretVolume" +}, +"type": "array" +}, +"securityLevel": { +"description": "Security level configure whether the function only accepts https. This configuration is only applicable to 1st Gen functions with Http trigger. By default https is optional for 1st Gen functions; 2nd Gen functions are https ONLY.", +"enum": [ +"SECURITY_LEVEL_UNSPECIFIED", +"SECURE_ALWAYS", +"SECURE_OPTIONAL" +], +"enumDescriptions": [ +"Unspecified.", +"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect.", +"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly." +], +"type": "string" +}, +"service": { +"description": "Output only. Name of the service associated with a Function. The format of this field is `projects/{project}/locations/{region}/services/{service}`", +"readOnly": true, +"type": "string" +}, +"serviceAccountEmail": { +"description": "The email of the service's service account. If empty, defaults to `{project_number}-compute@developer.gserviceaccount.com`.", +"type": "string" +}, +"timeoutSeconds": { +"description": "The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "Output only. URI of the Service deployed.", +"readOnly": true, +"type": "string" +}, +"vpcConnector": { +"description": "The Serverless VPC Access connector that this cloud function can connect to. The format of this field is `projects/*/locations/*/connectors/*`.", +"type": "string" +}, +"vpcConnectorEgressSettings": { +"description": "The egress settings for the connector, controlling what traffic is diverted through it.", +"enum": [ +"VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", +"PRIVATE_RANGES_ONLY", +"ALL_TRAFFIC" +], +"enumDescriptions": [ +"Unspecified.", +"Use the VPC Access Connector only for private IP space from RFC1918.", +"Force the use of VPC Access Connector for all egress traffic from the function." +], +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"SetupFunctionUpgradeConfigRequest": { +"description": "Request for the `SetupFunctionUpgradeConfig` method.", +"id": "SetupFunctionUpgradeConfigRequest", +"properties": {}, +"type": "object" +}, +"Source": { +"description": "The location of the function source code.", +"id": "Source", +"properties": { +"gitUri": { +"description": "If provided, get the source from GitHub repository. This option is valid only for GCF 1st Gen function. Example: https://github.com///blob//", +"type": "string" +}, +"repoSource": { +"$ref": "RepoSource", +"description": "If provided, get the source from this location in a Cloud Source Repository." +}, +"storageSource": { +"$ref": "StorageSource", +"description": "If provided, get the source from this location in Google Cloud Storage." +} +}, +"type": "object" +}, +"SourceProvenance": { +"description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", +"id": "SourceProvenance", +"properties": { +"gitUri": { +"description": "A copy of the build's `source.git_uri`, if exists, with any commits resolved.", +"type": "string" +}, +"resolvedRepoSource": { +"$ref": "RepoSource", +"description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." +}, +"resolvedStorageSource": { +"$ref": "StorageSource", +"description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StorageSource": { +"description": "Location of the source in an archive file in Google Cloud Storage.", +"id": "StorageSource", +"properties": { +"bucket": { +"description": "Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", +"type": "string" +}, +"sourceUploadUrl": { +"description": "When the specified storage bucket is a 1st gen function uploard url bucket, this field should be set as the generated upload url for 1st gen deployment.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpgradeInfo": { +"description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", +"id": "UpgradeInfo", +"properties": { +"buildConfig": { +"$ref": "BuildConfig", +"description": "Describes the Build step of the function that builds a container to prepare for 2nd gen upgrade." +}, +"eventTrigger": { +"$ref": "EventTrigger", +"description": "Describes the Event trigger which has been setup to prepare for 2nd gen upgrade." +}, +"serviceConfig": { +"$ref": "ServiceConfig", +"description": "Describes the Cloud Run service which has been setup to prepare for 2nd gen upgrade." +}, +"upgradeState": { +"description": "UpgradeState of the function", +"enum": [ +"UPGRADE_STATE_UNSPECIFIED", +"ELIGIBLE_FOR_2ND_GEN_UPGRADE", +"UPGRADE_OPERATION_IN_PROGRESS", +"SETUP_FUNCTION_UPGRADE_CONFIG_SUCCESSFUL", +"SETUP_FUNCTION_UPGRADE_CONFIG_ERROR", +"ABORT_FUNCTION_UPGRADE_ERROR", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", +"REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", +"ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", +"COMMIT_FUNCTION_UPGRADE_ERROR", +"DETACH_IN_PROGRESS" +], +"enumDescriptions": [ +"Unspecified state. Most functions are in this upgrade state.", +"Functions in this state are eligible for 1st Gen -> 2nd Gen upgrade.", +"An upgrade related operation is in progress.", +"SetupFunctionUpgradeConfig API was successful and a 2nd Gen function has been created based on 1st Gen function instance.", +"SetupFunctionUpgradeConfig API was un-successful.", +"AbortFunctionUpgrade API was un-successful.", +"RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", +"RedirectFunctionUpgradeTraffic API was un-successful.", +"RollbackFunctionUpgradeTraffic API was un-successful.", +"CommitFunctionUpgrade API was un-successful.", +"Function is requested to be detached from 2nd Gen to CRf." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Functions API", +"version": "v2alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..c2e24da688f1bf243c17a53b4e5300a6e5aa10f2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json @@ -0,0 +1,950 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudscheduler.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Scheduler", +"description": "Creates and manages jobs run on a regular recurring schedule.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/scheduler/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudscheduler:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudscheduler.mtls.googleapis.com/", +"name": "cloudscheduler", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "cloudscheduler.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "cloudscheduler.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"jobs": { +"methods": { +"create": { +"description": "Creates a job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "POST", +"id": "cloudscheduler.projects.locations.jobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/jobs", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "DELETE", +"id": "cloudscheduler.projects.locations.jobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"legacyAppEngineCron": { +"description": "This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the job in the __cron queue with the corresponding name will be deleted instead.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "GET", +"id": "cloudscheduler.projects.locations.jobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists jobs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "GET", +"id": "cloudscheduler.projects.locations.jobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "`filter` can be used to specify a subset of jobs. If `filter` equals `target_config=\"HttpConfig\"`, then the http target jobs are retrieved. If `filter` equals `target_config=\"PubSubConfig\"`, then the Pub/Sub target jobs are retrieved. If `filter` equals `labels.foo=value1 labels.foo=value2` then only jobs which are labeled with foo=value1 AND foo=value2 will be returned.", +"location": "query", +"type": "string" +}, +"legacyAppEngineCron": { +"description": "This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the jobs in the __cron queue will be listed instead.", +"location": "query", +"type": "boolean" +}, +"pageSize": { +"description": "Requested page size. The maximum page size is 500. If unspecified, the page size will be the maximum. Fewer jobs than requested might be returned, even if more jobs exist; use next_page_token to determine if more jobs exist.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs. It is an error to switch the value of filter or order_by while iterating through pages.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/jobs", +"response": { +"$ref": "ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a job. If successful, the updated Job is returned. If the job does not exist, `NOT_FOUND` is returned. If UpdateJob does not successfully return, it is possible for the job to be in an Job.State.UPDATE_FAILED state. A job in this state may not be executed. If this happens, retry the UpdateJob request until a successful response is received.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "PATCH", +"id": "cloudscheduler.projects.locations.jobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Optionally caller-specified in CreateJob, after which it becomes output only. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the job's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "A mask used to specify which fields of the job are being updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a job. If a job is paused then the system will stop executing the job until it is re-enabled via ResumeJob. The state of the job is stored in state; if paused it will be set to Job.State.PAUSED. A job must be in Job.State.ENABLED to be paused.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:pause", +"httpMethod": "POST", +"id": "cloudscheduler.projects.locations.jobs.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "PauseJobRequest" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resume a job. This method reenables a job after it has been Job.State.PAUSED. The state of a job is stored in Job.state; after calling this method it will be set to Job.State.ENABLED. A job must be in Job.State.PAUSED to be resumed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:resume", +"httpMethod": "POST", +"id": "cloudscheduler.projects.locations.jobs.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "ResumeJobRequest" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Forces a job to run now. When this method is called, Cloud Scheduler will dispatch the job, even if the job is already running.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:run", +"httpMethod": "POST", +"id": "cloudscheduler.projects.locations.jobs.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:run", +"request": { +"$ref": "RunJobRequest" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241113", +"rootUrl": "https://cloudscheduler.googleapis.com/", +"schemas": { +"AppEngineHttpTarget": { +"description": "App Engine target. The job will be pushed to a job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. Error 503 is considered an App Engine system error instead of an application error. Requests returning error 503 will be retried regardless of retry configuration and not counted against retry counts. Any other response code, or a failure to receive a response before the deadline, constitutes a failed attempt.", +"id": "AppEngineHttpTarget", +"properties": { +"appEngineRouting": { +"$ref": "AppEngineRouting", +"description": "App Engine Routing setting for the job." +}, +"body": { +"description": "Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod.", +"format": "byte", +"type": "string" +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", +"type": "object" +}, +"httpMethod": { +"description": "The HTTP method to use for the request. PATCH and OPTIONS are not permitted.", +"enum": [ +"HTTP_METHOD_UNSPECIFIED", +"POST", +"GET", +"HEAD", +"PUT", +"DELETE", +"PATCH", +"OPTIONS" +], +"enumDescriptions": [ +"HTTP method unspecified. Defaults to POST.", +"HTTP POST", +"HTTP GET", +"HTTP HEAD", +"HTTP PUT", +"HTTP DELETE", +"HTTP PATCH", +"HTTP OPTIONS" +], +"type": "string" +}, +"relativeUri": { +"description": "The relative URI. The relative URL must begin with \"/\" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path \"/\" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters.", +"type": "string" +} +}, +"type": "object" +}, +"AppEngineRouting": { +"description": "App Engine Routing. For more information about services, versions, and instances see [An Overview of App Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), [Microservices Architecture on Google App Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", +"id": "AppEngineRouting", +"properties": { +"host": { +"description": "Output only. The host that the job is sent to. For more information about how App Engine requests are routed, see [here](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). The host is constructed as: * `host = [application_domain_name]` `| [service] + '.' + [application_domain_name]` `| [version] + '.' + [application_domain_name]` `| [version_dot_service]+ '.' + [application_domain_name]` `| [instance] + '.' + [application_domain_name]` `| [instance_dot_service] + '.' + [application_domain_name]` `| [instance_dot_version] + '.' + [application_domain_name]` `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` * `application_domain_name` = The domain name of the app, for example .appspot.com, which is associated with the job's project ID. * `service =` service * `version =` version * `version_dot_service =` version `+ '.' +` service * `instance =` instance * `instance_dot_service =` instance `+ '.' +` service * `instance_dot_version =` instance `+ '.' +` version * `instance_dot_version_dot_service =` instance `+ '.' +` version `+ '.' +` service If service is empty, then the job will be sent to the service which is the default service when the job is attempted. If version is empty, then the job will be sent to the version which is the default version when the job is attempted. If instance is empty, then the job will be sent to an instance which is available when the job is attempted. If service, version, or instance is invalid, then the job will be sent to the default version of the default service when the job is attempted.", +"type": "string" +}, +"instance": { +"description": "App instance. By default, the job is sent to an instance which is available when the job is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", +"type": "string" +}, +"service": { +"description": "App service. By default, the job is sent to the service which is the default service when the job is attempted.", +"type": "string" +}, +"version": { +"description": "App version. By default, the job is sent to the version which is the default version when the job is attempted.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"HttpTarget": { +"description": "Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered.", +"id": "HttpTarget", +"properties": { +"body": { +"description": "HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod.", +"format": "byte", +"type": "string" +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB.", +"type": "object" +}, +"httpMethod": { +"description": "Which HTTP method to use for the request.", +"enum": [ +"HTTP_METHOD_UNSPECIFIED", +"POST", +"GET", +"HEAD", +"PUT", +"DELETE", +"PATCH", +"OPTIONS" +], +"enumDescriptions": [ +"HTTP method unspecified. Defaults to POST.", +"HTTP POST", +"HTTP GET", +"HTTP HEAD", +"HTTP PUT", +"HTTP DELETE", +"HTTP PATCH", +"HTTP OPTIONS" +], +"type": "string" +}, +"oauthToken": { +"$ref": "OAuthToken", +"description": "If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com." +}, +"oidcToken": { +"$ref": "OidcToken", +"description": "If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself." +}, +"uri": { +"description": "Required. The full URI path that the request will be sent to. This string must begin with either \"http://\" or \"https://\". Some examples of valid values for uri are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Scheduler will encode some characters for safety and compatibility. The maximum allowed URL length is 2083 characters after encoding.", +"type": "string" +} +}, +"type": "object" +}, +"Job": { +"description": "Configuration for a job. The maximum allowed size for a job is 1MB.", +"id": "Job", +"properties": { +"appEngineHttpTarget": { +"$ref": "AppEngineHttpTarget", +"description": "App Engine HTTP target." +}, +"attemptDeadline": { +"description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored.", +"format": "google-duration", +"type": "string" +}, +"description": { +"description": "Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters.", +"type": "string" +}, +"httpTarget": { +"$ref": "HttpTarget", +"description": "HTTP target." +}, +"lastAttemptTime": { +"description": "Output only. The time the last job attempt started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"legacyAppEngineCron": { +"description": "Immutable. This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the job will be considered a legacy job. Note that App Engine Cron jobs have fewer features than Cloud Scheduler jobs, e.g., are only limited to App Engine targets.", +"type": "boolean" +}, +"name": { +"description": "Optionally caller-specified in CreateJob, after which it becomes output only. The job name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the job's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.", +"type": "string" +}, +"pubsubTarget": { +"$ref": "PubsubTarget", +"description": "Pub/Sub target." +}, +"retryConfig": { +"$ref": "RetryConfig", +"description": "Settings that determine the retry behavior." +}, +"schedule": { +"description": "Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time. If retry_count is 0, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. Setting retry_count to 0 does not prevent failed jobs from running according to schedule after the failure.", +"type": "string" +}, +"scheduleTime": { +"description": "Output only. The next time the job is scheduled. Note that this may be a retry of a previously failed attempt or the next execution time according to the schedule.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the job.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLED", +"PAUSED", +"DISABLED", +"UPDATE_FAILED" +], +"enumDescriptions": [ +"Unspecified state.", +"The job is executing normally.", +"The job is paused by the user. It will not execute. A user can intentionally pause the job using PauseJobRequest.", +"The job is disabled by the system due to error. The user cannot directly set a job to be disabled.", +"The job state resulting from a failed CloudScheduler.UpdateJob operation. To recover a job from this state, retry CloudScheduler.UpdateJob until a successful response is received." +], +"readOnly": true, +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "Output only. The response from the target for the last attempted execution.", +"readOnly": true +}, +"timeZone": { +"description": "Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](http://en.wikipedia.org/wiki/Tz_database). Note that some time zones include a provision for daylight savings time. The rules for daylight saving time are determined by the chosen tz. For UTC use the string \"utc\". If a time zone is not specified, the default will be in UTC (also known as GMT).", +"type": "string" +}, +"userUpdateTime": { +"description": "Output only. The creation time of the job.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListJobsResponse": { +"description": "Response message for listing jobs using ListJobs.", +"id": "ListJobsResponse", +"properties": { +"jobs": { +"description": "The list of jobs.", +"items": { +"$ref": "Job" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in the page_token field in the subsequent call to ListJobs to retrieve the next page of results. If this is empty it indicates that there are no more results through which to paginate. The page token is valid for only 2 hours.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"OAuthToken": { +"description": "Contains information needed for generating an [OAuth token](https://developers.google.com/identity/protocols/OAuth2). This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.", +"id": "OAuthToken", +"properties": { +"scope": { +"description": "OAuth scope to be used for generating OAuth access token. If not specified, \"https://www.googleapis.com/auth/cloud-platform\" will be used.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OAuth token. The service account must be within the same project as the job. The caller must have iam.serviceAccounts.actAs permission for the service account.", +"type": "string" +} +}, +"type": "object" +}, +"OidcToken": { +"description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect). This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.", +"id": "OidcToken", +"properties": { +"audience": { +"description": "Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OIDC token. The service account must be within the same project as the job. The caller must have iam.serviceAccounts.actAs permission for the service account.", +"type": "string" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"PauseJobRequest": { +"description": "Request message for PauseJob.", +"id": "PauseJobRequest", +"properties": {}, +"type": "object" +}, +"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.", +"id": "PubsubMessage", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"data": { +"description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", +"format": "byte", +"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" +}, +"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" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"PubsubTarget": { +"description": "Pub/Sub target. The job will be delivered by publishing a message to the given Pub/Sub topic.", +"id": "PubsubTarget", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.", +"type": "object" +}, +"data": { +"description": "The message payload for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.", +"format": "byte", +"type": "string" +}, +"topicName": { +"description": "Required. The name of the Cloud Pub/Sub topic to which messages will be published when a job is delivered. The topic name must be in the same format as required by Pub/Sub's [PublishRequest.name](https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#publishrequest), for example `projects/PROJECT_ID/topics/TOPIC_ID`. The topic must be in the same project as the Cloud Scheduler job.", +"type": "string" +} +}, +"type": "object" +}, +"ResumeJobRequest": { +"description": "Request message for ResumeJob.", +"id": "ResumeJobRequest", +"properties": {}, +"type": "object" +}, +"RetryConfig": { +"description": "Settings that determine the retry behavior. By default, if a job does not complete successfully (meaning that an acknowledgement is not received from the handler, then it will be retried with exponential backoff according to the settings in RetryConfig.", +"id": "RetryConfig", +"properties": { +"maxBackoffDuration": { +"description": "The maximum amount of time to wait before retrying a job after it fails. The default value of this field is 1 hour.", +"format": "google-duration", +"type": "string" +}, +"maxDoublings": { +"description": "The time between retries will double `max_doublings` times. A job's retry interval starts at min_backoff_duration, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff_duration up to retry_count times. For example, if min_backoff_duration is 10s, max_backoff_duration is 300s, and `max_doublings` is 3, then the job will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the job will retry at intervals of max_backoff_duration until the job has been attempted retry_count times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... The default value of this field is 5.", +"format": "int32", +"type": "integer" +}, +"maxRetryDuration": { +"description": "The time limit for retrying a failed job, measured from time when an execution was first attempted. If specified with retry_count, the job will be retried until both limits are reached. The default value for max_retry_duration is zero, which means retry duration is unlimited.", +"format": "google-duration", +"type": "string" +}, +"minBackoffDuration": { +"description": "The minimum amount of time to wait before retrying a job after it fails. The default value of this field is 5 seconds.", +"format": "google-duration", +"type": "string" +}, +"retryCount": { +"description": "The number of attempts that the system will make to run a job using the exponential backoff procedure described by max_doublings. The default value of retry_count is zero. If retry_count is 0, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. Setting retry_count to 0 does not prevent failed jobs from running according to schedule after the failure. If retry_count is set to a non-zero number then Cloud Scheduler will retry failed attempts, using exponential backoff, retry_count times, or until the next scheduled execution time, whichever comes first. Values greater than 5 and negative values are not allowed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RunJobRequest": { +"description": "Request message for forcing a job to run now using RunJob.", +"id": "RunJobRequest", +"properties": { +"legacyAppEngineCron": { +"description": "This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the job in the __cron queue with the corresponding name will be forced to run instead.", +"type": "boolean" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Scheduler API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..375ec1792969c08aa581163392beef391e230c4c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json @@ -0,0 +1,339 @@ +{ +"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/trace.append": { +"description": "Write Trace data for a project or application" +}, +"https://www.googleapis.com/auth/trace.readonly": { +"description": "Read Trace data for a project or application" +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudtrace.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Trace", +"description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/trace", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudtrace:v2beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudtrace.mtls.googleapis.com/", +"name": "cloudtrace", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"traceSinks": { +"methods": { +"create": { +"description": "Creates a sink that exports trace spans to a destination. The export of newly-ingested traces begins immediately, unless the sink's `writer_identity` is not permitted to write to the destination. A sink can export traces only from the resource owning the sink (the 'parent').", +"flatPath": "v2beta1/projects/{projectsId}/traceSinks", +"httpMethod": "POST", +"id": "cloudtrace.projects.traceSinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource in which to create the sink (currently only project sinks are supported): \"projects/[PROJECT_ID]\" Examples: `\"projects/my-trace-project\"`, `\"projects/123456789\"`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+parent}/traceSinks", +"request": { +"$ref": "TraceSink" +}, +"response": { +"$ref": "TraceSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/trace.append" +] +}, +"delete": { +"description": "Deletes a sink.", +"flatPath": "v2beta1/projects/{projectsId}/traceSinks/{traceSinksId}", +"httpMethod": "DELETE", +"id": "cloudtrace.projects.traceSinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_NUMBER]/traceSinks/[SINK_ID]\" Example: `\"projects/12345/traceSinks/my-sink-id\"`.", +"location": "path", +"pattern": "^projects/[^/]+/traceSinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/trace.append" +] +}, +"get": { +"description": "Get a trace sink by name under the parent resource (GCP project).", +"flatPath": "v2beta1/projects/{projectsId}/traceSinks/{traceSinksId}", +"httpMethod": "GET", +"id": "cloudtrace.projects.traceSinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_NUMBER]/traceSinks/[SINK_ID]\" Example: `\"projects/12345/traceSinks/my-sink-id\"`.", +"location": "path", +"pattern": "^projects/[^/]+/traceSinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "TraceSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/trace.readonly" +] +}, +"list": { +"description": "List all sinks for the parent resource (GCP project).", +"flatPath": "v2beta1/projects/{projectsId}/traceSinks", +"httpMethod": "GET", +"id": "cloudtrace.projects.traceSinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed (currently only project parent resources are supported): \"projects/[PROJECT_ID]\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+parent}/traceSinks", +"response": { +"$ref": "ListTraceSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/trace.readonly" +] +}, +"patch": { +"description": "Updates a sink. This method updates fields in the existing sink according to the provided update mask. The sink's name cannot be changed nor any output-only fields (e.g. the writer_identity).", +"flatPath": "v2beta1/projects/{projectsId}/traceSinks/{traceSinksId}", +"httpMethod": "PATCH", +"id": "cloudtrace.projects.traceSinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_NUMBER]/traceSinks/[SINK_ID]\" Example: `\"projects/12345/traceSinks/my-sink-id\"`.", +"location": "path", +"pattern": "^projects/[^/]+/traceSinks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in `trace_sink` that are to be updated. A sink field is overwritten if, and only if, it is in the update mask. `name` and `writer_identity` fields cannot be updated. An empty `update_mask` is considered an error. For a detailed `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask Example: `updateMask=output_config`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"request": { +"$ref": "TraceSink" +}, +"response": { +"$ref": "TraceSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/trace.append" +] +} +} +} +} +} +}, +"revision": "20240712", +"rootUrl": "https://cloudtrace.googleapis.com/", +"schemas": { +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ListTraceSinksResponse": { +"description": "Result returned from `ListTraceSinks`.", +"id": "ListTraceSinksResponse", +"properties": { +"nextPageToken": { +"description": "A paginated response where more pages might be available has `next_page_token` set. To get the next set of results, call the same method again using the value of `next_page_token` as `page_token`.", +"type": "string" +}, +"sinks": { +"description": "A list of sinks.", +"items": { +"$ref": "TraceSink" +}, +"type": "array" +} +}, +"type": "object" +}, +"OutputConfig": { +"description": "OutputConfig contains a destination for writing trace data.", +"id": "OutputConfig", +"properties": { +"destination": { +"description": "Required. The destination for writing trace data. Supported formats include: \"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"", +"type": "string" +} +}, +"type": "object" +}, +"TraceSink": { +"description": "Describes a sink used to export traces to a BigQuery dataset. The sink must be created within a project.", +"id": "TraceSink", +"properties": { +"name": { +"description": "Identifier. The canonical sink resource name, unique within the project. Must be of the form: projects/[PROJECT_NUMBER]/traceSinks/[SINK_ID]. E.g.: `\"projects/12345/traceSinks/my-project-trace-sink\"`. Sink identifiers are limited to 256 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.", +"type": "string" +}, +"outputConfig": { +"$ref": "OutputConfig", +"description": "Required. The export destination." +}, +"writerIdentity": { +"description": "Output only. A service account name for exporting the data. This field is set by sinks.create and sinks.update. The service account will need to be granted write access to the destination specified in the output configuration, see [Granting access for a resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). To create tables and to write data, this account needs the `dataEditor` role. Read more about roles in the [BigQuery documentation](https://cloud.google.com/bigquery/docs/access-control). E.g.: \"service-00000001@00000002.iam.gserviceaccount.com\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Trace API", +"version": "v2beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.beta.json new file mode 100644 index 0000000000000000000000000000000000000000..a0967fd89fc924f6984b112de2d0fb4df87d4f7a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.beta.json @@ -0,0 +1,95262 @@ +{ +"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/compute": { +"description": "View and manage your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/compute.readonly": { +"description": "View your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/devstorage.full_control": { +"description": "Manage your data and permissions in Cloud Storage and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/devstorage.read_only": { +"description": "View your data in Google Cloud Storage" +}, +"https://www.googleapis.com/auth/devstorage.read_write": { +"description": "Manage your data in Cloud Storage and see the email address of your Google Account" +} +} +} +}, +"basePath": "/compute/beta/", +"baseUrl": "https://compute.googleapis.com/compute/beta/", +"batchPath": "batch/compute/beta", +"description": "Creates and runs virtual machines on Google Cloud Platform. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/", +"icons": { +"x16": "https://www.google.com/images/icons/product/compute_engine-16.png", +"x32": "https://www.google.com/images/icons/product/compute_engine-32.png" +}, +"id": "compute:beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://compute.mtls.googleapis.com/", +"name": "compute", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Legacy name for parameter that has been superseded by `quotaUser`.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"acceleratorTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified accelerator type.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.get", +"parameterOrder": [ +"project", +"zone", +"acceleratorType" +], +"parameters": { +"acceleratorType": { +"description": "Name of the accelerator type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"response": { +"$ref": "AcceleratorType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of accelerator types that are available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"addresses": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/addresses", +"httpMethod": "GET", +"id": "compute.addresses.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/addresses", +"response": { +"$ref": "AddressAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.addresses.delete", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "GET", +"id": "compute.addresses.get", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "POST", +"id": "compute.addresses.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of addresses contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "GET", +"id": "compute.addresses.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.addresses.move", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}/move", +"request": { +"$ref": "RegionAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.addresses.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.addresses.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"autoscalers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/autoscalers", +"response": { +"$ref": "AutoscalerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.autoscalers.delete", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler resource.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.autoscalers.get", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "POST", +"id": "compute.autoscalers.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"response": { +"$ref": "AutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.autoscalers.patch", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.autoscalers.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PUT", +"id": "compute.autoscalers.update", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendBuckets": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "DELETE", +"id": "compute.backendBuckets.delete", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket", +"keyName" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "GET", +"id": "compute.backendBuckets.get", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "BackendBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendBuckets.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendBucket resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "POST", +"id": "compute.backendBuckets.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendBucket resources available to the specified project.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "GET", +"id": "compute.backendBuckets.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendBuckets", +"response": { +"$ref": "BackendBucketList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PATCH", +"id": "compute.backendBuckets.patch", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendBuckets.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendBucket resource with the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PUT", +"id": "compute.backendBuckets.update", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendServices": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/backendServices", +"response": { +"$ref": "BackendServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.backendServices.delete", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendService", +"keyName" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.backendServices.get", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveSecurityPolicies": { +"description": "Returns effective security policies applied to this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", +"httpMethod": "GET", +"id": "compute.backendServices.getEffectiveSecurityPolicies", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the Backend Service for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", +"response": { +"$ref": "BackendServicesGetEffectiveSecurityPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this BackendService. Example request body: { \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", +"flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.backendServices.getHealth", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendServices.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "POST", +"id": "compute.backendServices.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendService resources available to the specified project.", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project.", +"flatPath": "projects/{project}/global/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.backendServices.listUsable", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.backendServices.patch", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the edge security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendServices.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.backendServices.update", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"diskTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/diskTypes", +"response": { +"$ref": "DiskTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified disk type.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.diskTypes.get", +"parameterOrder": [ +"project", +"zone", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of disk types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes", +"response": { +"$ref": "DiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"disks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "DisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/disks", +"httpMethod": "GET", +"id": "compute.disks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/disks", +"response": { +"$ref": "DiskAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/zones/{zone}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.disks.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.disks.createSnapshot", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.disks.delete", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified persistent disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.disks.get", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.disks.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "POST", +"id": "compute.disks.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of persistent disks contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "GET", +"id": "compute.disks.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "DisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified persistent disk. You can only increase the size of the disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.disks.resize", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"request": { +"$ref": "DisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.disks.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.disks.setLabels", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.startAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "DisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.disks.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.disks.update", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"externalVpnGateways": { +"methods": { +"delete": { +"description": "Deletes the specified externalVpnGateway.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.externalVpnGateways.delete", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateways to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.get", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "ExternalVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ExternalVpnGateway in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"request": { +"$ref": "ExternalVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of ExternalVpnGateway available to the specified project.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"response": { +"$ref": "ExternalVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addPacketMirroringRule": { +"description": "Inserts a packet mirroring rule into a firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.firewallPolicies.cloneRules", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.firewallPolicies.delete", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.firewallPolicies.get", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPacketMirroringRule": { +"description": "Gets a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.firewallPolicies.insert", +"parameters": { +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified folder or organization.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.firewallPolicies.list", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAssociations": { +"description": "Lists associations of a specified target, i.e., organization or folder.", +"flatPath": "locations/global/firewallPolicies/listAssociations", +"httpMethod": "GET", +"id": "compute.firewallPolicies.listAssociations", +"parameters": { +"targetResource": { +"description": "The target resource to list associations. It is an organization, or a folder.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/listAssociations", +"response": { +"$ref": "FirewallPoliciesListAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/move", +"httpMethod": "POST", +"id": "compute.firewallPolicies.move", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "The new parent of the firewall policy. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/move", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.firewallPolicies.patch", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPacketMirroringRule": { +"description": "Patches a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.patchPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.patchRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePacketMirroringRule": { +"description": "Deletes a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removePacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.firewallPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalOrganizationSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.firewallPolicies.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewalls": { +"methods": { +"delete": { +"description": "Deletes the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "DELETE", +"id": "compute.firewalls.delete", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "GET", +"id": "compute.firewalls.get", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Firewall" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a firewall rule in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "POST", +"id": "compute.firewalls.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of firewall rules available to the specified project.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "GET", +"id": "compute.firewalls.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewalls", +"response": { +"$ref": "FirewallList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PATCH", +"id": "compute.firewalls.patch", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/firewalls/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.firewalls.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PUT", +"id": "compute.firewalls.update", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"forwardingRules": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/forwardingRules", +"response": { +"$ref": "ForwardingRuleAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.forwardingRules.delete", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.forwardingRules.get", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "POST", +"id": "compute.forwardingRules.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of ForwardingRule resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.forwardingRules.patch", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.forwardingRules.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.forwardingRules.setTarget", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.forwardingRules.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"futureReservations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/futureReservations", +"httpMethod": "GET", +"id": "compute.futureReservations.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/futureReservations", +"response": { +"$ref": "FutureReservationsAggregatedListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cancel": { +"description": "Cancel the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", +"httpMethod": "POST", +"id": "compute.futureReservations.cancel", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "DELETE", +"id": "compute.futureReservations.delete", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves information about the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "GET", +"id": "compute.futureReservations.get", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"response": { +"$ref": "FutureReservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new Future Reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations", +"httpMethod": "POST", +"id": "compute.futureReservations.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations", +"request": { +"$ref": "FutureReservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list of all the future reservations that have been configured for the specified project in specified zone.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations", +"httpMethod": "GET", +"id": "compute.futureReservations.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations", +"response": { +"$ref": "FutureReservationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "PATCH", +"id": "compute.futureReservations.update", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the reservation to update. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"request": { +"$ref": "FutureReservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"globalAddresses": { +"methods": { +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.globalAddresses.delete", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "GET", +"id": "compute.globalAddresses.get", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "POST", +"id": "compute.globalAddresses.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of global addresses.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "GET", +"id": "compute.globalAddresses.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource from one project to another project.", +"flatPath": "projects/{project}/global/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.globalAddresses.move", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}/move", +"request": { +"$ref": "GlobalAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalAddresses.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/addresses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.globalAddresses.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalForwardingRules": { +"methods": { +"delete": { +"description": "Deletes the specified GlobalForwardingRule resource.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.globalForwardingRules.delete", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified GlobalForwardingRule resource. Gets a list of available forwarding rules by making a list() request.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.get", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.globalForwardingRules.patch", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling resources documentation.", +"flatPath": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setTarget", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/forwardingRules/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a network endpoint to the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.globalNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOperations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/operations", +"response": { +"$ref": "OperationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOperations.delete", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOperations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified project.", +"flatPath": "projects/{project}/global/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/global/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.globalOperations.wait", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOrganizationOperations": { +"methods": { +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOrganizationOperations.delete", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.get", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified organization.", +"flatPath": "locations/global/operations", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.list", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalPublicDelegatedPrefixes": { +"methods": { +"delete": { +"description": "Deletes the specified global PublicDelegatedPrefix.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.globalPublicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified global PublicDelegatedPrefix resource.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a global PublicDelegatedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.globalPublicDelegatedPrefixes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the global PublicDelegatedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified global PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.globalPublicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"healthChecks": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/healthChecks", +"response": { +"$ref": "HealthChecksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.healthChecks.delete", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.healthChecks.get", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "POST", +"id": "compute.healthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.healthChecks.patch", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/healthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.healthChecks.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.healthChecks.update", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpHealthChecks.delete", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.get", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "HttpHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "POST", +"id": "compute.httpHealthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"response": { +"$ref": "HttpHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpHealthChecks.patch", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.httpHealthChecks.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpHealthChecks.update", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpsHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpsHealthChecks.delete", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.get", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "HttpsHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "POST", +"id": "compute.httpsHealthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpsHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"response": { +"$ref": "HttpsHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpsHealthChecks.patch", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.httpsHealthChecks.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpsHealthChecks.update", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"imageFamilyViews": { +"methods": { +"get": { +"description": "Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"httpMethod": "GET", +"id": "compute.imageFamilyViews.get", +"parameterOrder": [ +"project", +"zone", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"response": { +"$ref": "ImageFamilyView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"images": { +"methods": { +"delete": { +"description": "Deletes the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "DELETE", +"id": "compute.images.delete", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deprecate": { +"description": "Sets the deprecation status of an image. If an empty request body is given, clears the deprecation status instead.", +"flatPath": "projects/{project}/global/images/{image}/deprecate", +"httpMethod": "POST", +"id": "compute.images.deprecate", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Image name.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}/deprecate", +"request": { +"$ref": "DeprecationStatus" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "GET", +"id": "compute.images.get", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getFromFamily": { +"description": "Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation.", +"flatPath": "projects/{project}/global/images/family/{family}", +"httpMethod": "GET", +"id": "compute.images.getFromFamily", +"parameterOrder": [ +"project", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "The image project that the image belongs to. For example, to get a CentOS image, specify centos-cloud as the image project.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/family/{family}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/images/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.images.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an image in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "POST", +"id": "compute.images.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"forceCreate": { +"description": "Force image creation if true.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of custom images available to the specified project. Custom images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "GET", +"id": "compute.images.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The zone query parameter.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"path": "projects/{project}/global/images", +"response": { +"$ref": "ImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "PATCH", +"id": "compute.images.patch", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/images/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.images.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/images/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.images.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/images/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.images.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagerResizeRequests": { +"methods": { +"cancel": { +"description": "Cancels the specified resize request and removes it from the queue. Cancelled resize request does no longer wait for the resources to be provisioned. Cancel is only possible for requests that are accepted in the queue.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.cancel", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to cancel. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagerResizeRequests.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to delete. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified resize request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the href=\"/compute/docs/regions-zones/#available\">zone scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resize request that starts provisioning VMs immediately or queues VM creation.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.insert", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to which the resize request will be added. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located and where the resize request will be created. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"request": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of resize requests that are contained in the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.list", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"response": { +"$ref": "InstanceGroupManagerResizeRequestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "InstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"applyUpdatesToInstances": { +"description": "Applies changes to selected instances on the managed instance group. This method can be used to apply new overrides and/or new versions.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. Should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "InstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "InstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagers.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "InstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersDeletePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of managed instance groups that are contained within the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "InstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "InstanceGroupManagersListManagedInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "InstanceGroupManagersListPerInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.instanceGroupManagers.patch", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersPatchPerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "InstanceGroupManagersRecreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resize", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resizeAdvanced": { +"description": "Resizes the managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size of the instance group, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating, creatingWithoutRetries, or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resizeAdvanced", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"request": { +"$ref": "InstanceGroupManagersResizeAdvancedRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "InstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setAutoHealingPolicies": { +"deprecated": true, +"description": "Motifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use instanceGroupManagers.patch instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setAutoHealingPolicies", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"request": { +"$ref": "InstanceGroupManagersSetAutoHealingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "InstanceGroupManagersSetInstanceTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "InstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "InstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "InstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "InstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listManagedInstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PUT", +"id": "compute.instanceGroupManagers.update", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersUpdatePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceGroups": { +"methods": { +"addInstances": { +"description": "Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.addInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where you are adding instances.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"request": { +"$ref": "InstanceGroupsAddInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroups", +"response": { +"$ref": "InstanceGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "DELETE", +"id": "compute.instanceGroups.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.instanceGroups.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "POST", +"id": "compute.instanceGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"request": { +"$ref": "InstanceGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of zonal instance group resources contained within the specified zone. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"response": { +"$ref": "InstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.listInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroup": { +"description": "The name of the instance group from which you want to generate a list of included instances.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "InstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "InstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeInstances": { +"description": "Removes one or more instances from the specified instance group, but does not delete those instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.removeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the specified instances will be removed.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"request": { +"$ref": "InstanceGroupsRemoveInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.instanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "InstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceSettings": { +"methods": { +"get": { +"description": "Get Instance settings.", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "GET", +"id": "compute.instanceSettings.get", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"response": { +"$ref": "InstanceSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch Instance settings", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "PATCH", +"id": "compute.instanceSettings.patch", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The zone scoping this request. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"request": { +"$ref": "InstanceSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceTemplates", +"response": { +"$ref": "InstanceTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.instanceTemplates.delete", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.instanceTemplates.get", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instanceTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "POST", +"id": "compute.instanceTemplates.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instanceTemplates.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceTemplates.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instances": { +"methods": { +"addAccessConfig": { +"description": "Adds an access config to an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.addAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to add to this instance.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addResourcePolicies": { +"description": "Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"request": { +"$ref": "InstancesAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instances", +"httpMethod": "GET", +"id": "compute.instances.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instances", +"response": { +"$ref": "InstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachDisk": { +"description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"httpMethod": "POST", +"id": "compute.instances.attachDisk", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"forceAttach": { +"description": "Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"request": { +"$ref": "AttachedDisk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Creates multiple instances. Count specifies the number of instances to create. For more information, see About bulk creation of VMs.", +"flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.instances.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified Instance resource. For more information, see Deleting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "DELETE", +"id": "compute.instances.delete", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"noGracefulShutdown": { +"description": "If set to true, Graceful Shutdown is skipped.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteAccessConfig": { +"description": "Deletes an access config from an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.deleteAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"accessConfig", +"networkInterface" +], +"parameters": { +"accessConfig": { +"description": "The name of the access config to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachDisk": { +"description": "Detaches a disk from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"httpMethod": "POST", +"id": "compute.instances.detachDisk", +"parameterOrder": [ +"project", +"zone", +"instance", +"deviceName" +], +"parameters": { +"deviceName": { +"description": "The device name of the disk to detach. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "Instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Instance resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "GET", +"id": "compute.instances.get", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns effective firewalls applied to an interface of the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.instances.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to get the effective firewalls.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"response": { +"$ref": "InstancesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getGuestAttributes": { +"description": "Returns the specified guest attributes entry.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"httpMethod": "GET", +"id": "compute.instances.getGuestAttributes", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"queryPath": { +"description": "Specifies the guest attributes path to be queried.", +"location": "query", +"type": "string" +}, +"variableKey": { +"description": "Specifies the key for the guest attributes entry.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"response": { +"$ref": "GuestAttributes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instances.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPartnerMetadata": { +"description": "Gets partner metadata of the specified instance and namespaces.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata", +"httpMethod": "GET", +"id": "compute.instances.getPartnerMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"namespaces": { +"description": "Comma separated partner metadata namespaces.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata", +"response": { +"$ref": "PartnerMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getScreenshot": { +"description": "Returns the screenshot from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"httpMethod": "GET", +"id": "compute.instances.getScreenshot", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"response": { +"$ref": "Screenshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getSerialPortOutput": { +"description": "Returns the last 1 MB of serial port output from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"httpMethod": "GET", +"id": "compute.instances.getSerialPortOutput", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"port": { +"default": "1", +"description": "Specifies which COM or serial port to retrieve data from.", +"format": "int32", +"location": "query", +"maximum": "4", +"minimum": "1", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"start": { +"description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", +"format": "int64", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"response": { +"$ref": "SerialPortOutput" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getShieldedInstanceIdentity": { +"description": "Returns the Shielded Instance Identity of an instance", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"httpMethod": "GET", +"id": "compute.instances.getShieldedInstanceIdentity", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"response": { +"$ref": "ShieldedInstanceIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getShieldedVmIdentity": { +"description": "Returns the Shielded VM Identity of an instance", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity", +"httpMethod": "GET", +"id": "compute.instances.getShieldedVmIdentity", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity", +"response": { +"$ref": "ShieldedVmIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "POST", +"id": "compute.instances.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstanceTemplate": { +"description": "Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"location": "query", +"type": "string" +}, +"sourceMachineImage": { +"description": "Specifies the machine image to use to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image: - https://www.googleapis.com/compute/v1/projects/project/global/global /machineImages/machineImage - projects/project/global/global/machineImages/machineImage - global/machineImages/machineImage ", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of instances contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "GET", +"id": "compute.instances.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"response": { +"$ref": "InstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listReferrers": { +"description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"httpMethod": "GET", +"id": "compute.instances.listReferrers", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Name of the target instance scoping this request, or '-' if the request should span over all instances in the container.", +"location": "path", +"pattern": "-|[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"response": { +"$ref": "InstanceListReferrers" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patchPartnerMetadata": { +"description": "Patches partner metadata of the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata", +"httpMethod": "POST", +"id": "compute.instances.patchPartnerMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata", +"request": { +"$ref": "PartnerMetadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"performMaintenance": { +"description": "Perform a manual maintenance on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"httpMethod": "POST", +"id": "compute.instances.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"request": { +"$ref": "InstancesRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"reset": { +"description": "Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, see Resetting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"httpMethod": "POST", +"id": "compute.instances.reset", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes an instance that was suspended using the instances().suspend method.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"httpMethod": "POST", +"id": "compute.instances.resume", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"request": { +"$ref": "InstancesResumeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"sendDiagnosticInterrupt": { +"description": "Sends diagnostic interrupt to the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"httpMethod": "POST", +"id": "compute.instances.sendDiagnosticInterrupt", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDeletionProtection": { +"description": "Sets deletion protection on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"httpMethod": "POST", +"id": "compute.instances.setDeletionProtection", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"deletionProtection": { +"default": "true", +"description": "Whether the resource should be protected against deletion.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDiskAutoDelete": { +"description": "Sets the auto-delete flag for a disk attached to an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"httpMethod": "POST", +"id": "compute.instances.setDiskAutoDelete", +"parameterOrder": [ +"project", +"zone", +"instance", +"autoDelete", +"deviceName" +], +"parameters": { +"autoDelete": { +"description": "Whether to auto-delete the disk when the instance is deleted.", +"location": "query", +"required": true, +"type": "boolean" +}, +"deviceName": { +"description": "The device name of the disk to modify. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"pattern": "\\w[\\w.-]{0,254}", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instances.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"httpMethod": "POST", +"id": "compute.instances.setLabels", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"request": { +"$ref": "InstancesSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineResources": { +"description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"httpMethod": "POST", +"id": "compute.instances.setMachineResources", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"request": { +"$ref": "InstancesSetMachineResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineType": { +"description": "Changes the machine type for a stopped instance to the machine type specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"httpMethod": "POST", +"id": "compute.instances.setMachineType", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"request": { +"$ref": "InstancesSetMachineTypeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMetadata": { +"description": "Sets metadata for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"httpMethod": "POST", +"id": "compute.instances.setMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMinCpuPlatform": { +"description": "Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, read Specifying a Minimum CPU Platform.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"httpMethod": "POST", +"id": "compute.instances.setMinCpuPlatform", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"request": { +"$ref": "InstancesSetMinCpuPlatformRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setName": { +"description": "Sets name of an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"httpMethod": "POST", +"id": "compute.instances.setName", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"request": { +"$ref": "InstancesSetNameRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setScheduling": { +"description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, see Set VM host maintenance policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"httpMethod": "POST", +"id": "compute.instances.setScheduling", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"request": { +"$ref": "Scheduling" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.instances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"request": { +"$ref": "InstancesSetSecurityPolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setServiceAccount": { +"description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"httpMethod": "POST", +"id": "compute.instances.setServiceAccount", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"request": { +"$ref": "InstancesSetServiceAccountRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setShieldedInstanceIntegrityPolicy": { +"description": "Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"httpMethod": "PATCH", +"id": "compute.instances.setShieldedInstanceIntegrityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"request": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setShieldedVmIntegrityPolicy": { +"description": "Sets the Shielded VM integrity policy for a VM instance. You can only use this method on a running VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy", +"httpMethod": "PATCH", +"id": "compute.instances.setShieldedVmIntegrityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy", +"request": { +"$ref": "ShieldedVmIntegrityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTags": { +"description": "Sets network tags for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"httpMethod": "POST", +"id": "compute.instances.setTags", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"request": { +"$ref": "Tags" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates a host maintenance event on a VM. For more information, see Simulate a host maintenance event.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.instances.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"withExtendedNotifications": { +"description": "Determines whether the customers receive notifications before migration. Only applicable to SF vms.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"start": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/start", +"httpMethod": "POST", +"id": "compute.instances.start", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/start", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startWithEncryptionKey": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"httpMethod": "POST", +"id": "compute.instances.startWithEncryptionKey", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"request": { +"$ref": "InstancesStartWithEncryptionKeyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stop": { +"description": "Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"httpMethod": "POST", +"id": "compute.instances.stop", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to stop.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"noGracefulShutdown": { +"description": "If set to true, Graceful Shutdown is skipped.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspend": { +"description": "This method suspends a running instance, saving its state to persistent storage, and allows you to resume the instance at a later time. Suspended instances have no compute costs (cores or RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged resources the virtual machine was using, such as persistent disks and static IP addresses, will continue to be charged while the instance is suspended. For more information, see Suspending and resuming an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"httpMethod": "POST", +"id": "compute.instances.suspend", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to suspend.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instances.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "PUT", +"id": "compute.instances.update", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"minimalAction": { +"description": "Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateAccessConfig": { +"description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.updateAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface where the access config is attached.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateDisplayDevice": { +"description": "Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"httpMethod": "PATCH", +"id": "compute.instances.updateDisplayDevice", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"request": { +"$ref": "DisplayDevice" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateNetworkInterface": { +"description": "Updates an instance's network interface. This method can only update an interface's alias IP range and attached network. See Modifying alias IP ranges for an existing instance for instructions on changing alias IP ranges. See Migrating a VM between networks for instructions on migrating an interface. This method follows PATCH semantics.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"httpMethod": "PATCH", +"id": "compute.instances.updateNetworkInterface", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to update.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"request": { +"$ref": "NetworkInterface" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateShieldedInstanceConfig": { +"description": "Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"httpMethod": "PATCH", +"id": "compute.instances.updateShieldedInstanceConfig", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"request": { +"$ref": "ShieldedInstanceConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateShieldedVmConfig": { +"description": "Updates the Shielded VM config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig", +"httpMethod": "PATCH", +"id": "compute.instances.updateShieldedVmConfig", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig", +"request": { +"$ref": "ShieldedVmConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instantSnapshots": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instantSnapshots", +"response": { +"$ref": "InstantSnapshotAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.instantSnapshots.delete", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.instantSnapshots.get", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.instantSnapshots.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setLabels", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "DELETE", +"id": "compute.interconnectAttachments.delete", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.get", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "InterconnectAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of interconnect attachments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "PATCH", +"id": "compute.interconnectAttachments.patch", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"httpMethod": "GET", +"id": "compute.interconnectLocations.get", +"parameterOrder": [ +"project", +"interconnectLocation" +], +"parameters": { +"interconnectLocation": { +"description": "Name of the interconnect location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"response": { +"$ref": "InterconnectLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectLocations", +"httpMethod": "GET", +"id": "compute.interconnectLocations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectLocations", +"response": { +"$ref": "InterconnectLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectRemoteLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.get", +"parameterOrder": [ +"project", +"interconnectRemoteLocation" +], +"parameters": { +"interconnectRemoteLocation": { +"description": "Name of the interconnect remote location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"response": { +"$ref": "InterconnectRemoteLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect remote locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations", +"response": { +"$ref": "InterconnectRemoteLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnects": { +"methods": { +"delete": { +"description": "Deletes the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "DELETE", +"id": "compute.interconnects.delete", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Interconnect. Get a list of available Interconnects by making a list() request.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "GET", +"id": "compute.interconnects.get", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Interconnect" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getDiagnostics": { +"description": "Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"httpMethod": "GET", +"id": "compute.interconnects.getDiagnostics", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"response": { +"$ref": "InterconnectsGetDiagnosticsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getMacsecConfig": { +"description": "Returns the interconnectMacsecConfig for the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"httpMethod": "GET", +"id": "compute.interconnects.getMacsecConfig", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"response": { +"$ref": "InterconnectsGetMacsecConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an Interconnect in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "POST", +"id": "compute.interconnects.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Interconnects available to the specified project.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "GET", +"id": "compute.interconnects.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnects", +"response": { +"$ref": "InterconnectList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "PATCH", +"id": "compute.interconnects.patch", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnects.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnects/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnects.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"licenseCodes": { +"methods": { +"get": { +"description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{licenseCode}", +"httpMethod": "GET", +"id": "compute.licenseCodes.get", +"parameterOrder": [ +"project", +"licenseCode" +], +"parameters": { +"licenseCode": { +"description": "Number corresponding to the License code resource to return.", +"location": "path", +"pattern": "[0-9]{0,61}?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenseCodes/{licenseCode}", +"response": { +"$ref": "LicenseCode" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenseCodes.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"licenses": { +"methods": { +"delete": { +"description": "Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "DELETE", +"id": "compute.licenses.delete", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the license resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified License resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "GET", +"id": "compute.licenses.get", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the License resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "License" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.licenses.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "POST", +"id": "compute.licenses.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses", +"request": { +"$ref": "License" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "GET", +"id": "compute.licenses.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/licenses", +"response": { +"$ref": "LicensesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.licenses.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenses.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"machineImages": { +"methods": { +"delete": { +"description": "Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "DELETE", +"id": "compute.machineImages.delete", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified machine image.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "GET", +"id": "compute.machineImages.get", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "MachineImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.machineImages.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "POST", +"id": "compute.machineImages.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstance": { +"description": "Required. Source instance that is used to create the machine image from.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages", +"request": { +"$ref": "MachineImage" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of machine images that are contained within the specified project.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "GET", +"id": "compute.machineImages.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/machineImages", +"response": { +"$ref": "MachineImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.machineImages.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.machineImages.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"machineTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/machineTypes", +"response": { +"$ref": "MachineTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified machine type.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"httpMethod": "GET", +"id": "compute.machineTypes.get", +"parameterOrder": [ +"project", +"zone", +"machineType" +], +"parameters": { +"machineType": { +"description": "Name of the machine type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"response": { +"$ref": "MachineType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of machine types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes", +"response": { +"$ref": "MachineTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkAttachments", +"response": { +"$ref": "NetworkAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NetworkAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "DELETE", +"id": "compute.networkAttachments.delete", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NetworkAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "GET", +"id": "compute.networkAttachments.get", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "NetworkAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "POST", +"id": "compute.networkAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NetworkAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"response": { +"$ref": "NetworkAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "PATCH", +"id": "compute.networkAttachments.patch", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkEdgeSecurityServices": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEdgeSecurityServices", +"response": { +"$ref": "NetworkEdgeSecurityServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified service.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "DELETE", +"id": "compute.networkEdgeSecurityServices.delete", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets a specified NetworkEdgeSecurityService.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.get", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "NetworkEdgeSecurityService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new service in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"httpMethod": "POST", +"id": "compute.networkEdgeSecurityServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "PATCH", +"id": "compute.networkEdgeSecurityServices.patch", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"networkEndpointGroups": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.networkEndpointGroups.delete", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach a list of network endpoints from the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.get", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsListEndpointsRequest" +}, +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addPacketMirroringRule": { +"description": "Inserts a packet mirroring rule into a firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/firewallPolicies", +"response": { +"$ref": "NetworkFirewallPolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.networkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.get", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPacketMirroringRule": { +"description": "Gets a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.networkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPacketMirroringRule": { +"description": "Patches a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePacketMirroringRule": { +"description": "Deletes a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removePacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkProfiles": { +"methods": { +"get": { +"description": "Returns the specified network profile.", +"flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", +"httpMethod": "GET", +"id": "compute.networkProfiles.get", +"parameterOrder": [ +"project", +"networkProfile" +], +"parameters": { +"networkProfile": { +"description": "Name of the network profile to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkProfiles/{networkProfile}", +"response": { +"$ref": "NetworkProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of network profiles available to the specified project.", +"flatPath": "projects/{project}/global/networkProfiles", +"httpMethod": "GET", +"id": "compute.networkProfiles.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkProfiles", +"response": { +"$ref": "NetworkProfilesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networks": { +"methods": { +"addPeering": { +"description": "Adds a peering to the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/addPeering", +"httpMethod": "POST", +"id": "compute.networks.addPeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to add peering to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/addPeering", +"request": { +"$ref": "NetworksAddPeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "DELETE", +"id": "compute.networks.delete", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "GET", +"id": "compute.networks.get", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Network" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.networks.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"response": { +"$ref": "NetworksGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "POST", +"id": "compute.networks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of networks available to the specified project.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "GET", +"id": "compute.networks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks", +"response": { +"$ref": "NetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPeeringRoutes": { +"description": "Lists the peering routes exchanged over peering connection.", +"flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"httpMethod": "GET", +"id": "compute.networks.listPeeringRoutes", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"direction": { +"description": "The direction of the exchanged routes.", +"enum": [ +"INCOMING", +"OUTGOING" +], +"enumDescriptions": [ +"For routes exported from peer network.", +"For routes exported from local network." +], +"location": "query", +"type": "string" +}, +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"peeringName": { +"description": "The response will show routes exchanged over the given peering connection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"response": { +"$ref": "ExchangedPeeringRoutesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network with the data included in the request. Only routingConfig can be modified.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "PATCH", +"id": "compute.networks.patch", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePeering": { +"description": "Removes a peering from the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/removePeering", +"httpMethod": "POST", +"id": "compute.networks.removePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to remove peering from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/removePeering", +"request": { +"$ref": "NetworksRemovePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"switchToCustomMode": { +"description": "Switches the network mode from auto subnet mode to custom subnet mode.", +"flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", +"httpMethod": "POST", +"id": "compute.networks.switchToCustomMode", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to be updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/switchToCustomMode", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/networks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networks.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"updatePeering": { +"description": "Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field.", +"flatPath": "projects/{project}/global/networks/{network}/updatePeering", +"httpMethod": "PATCH", +"id": "compute.networks.updatePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource which the updated peering is belonging to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/updatePeering", +"request": { +"$ref": "NetworksUpdatePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"nodeGroups": { +"methods": { +"addNodes": { +"description": "Adds specified number of nodes to the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.addNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"request": { +"$ref": "NodeGroupsAddNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeGroups", +"response": { +"$ref": "NodeGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeGroup resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "DELETE", +"id": "compute.nodeGroups.delete", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteNodes": { +"description": "Deletes specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.deleteNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will be deleted.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"request": { +"$ref": "NodeGroupsDeleteNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "GET", +"id": "compute.nodeGroups.get", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "NodeGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeGroups.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeGroup resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "POST", +"id": "compute.nodeGroups.insert", +"parameterOrder": [ +"project", +"zone", +"initialNodeCount" +], +"parameters": { +"initialNodeCount": { +"description": "Initial count of nodes in the node group.", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"response": { +"$ref": "NodeGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNodes": { +"description": "Lists nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.listNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes you want to list.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"response": { +"$ref": "NodeGroupsListNodes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "PATCH", +"id": "compute.nodeGroups.patch", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"performMaintenance": { +"description": "Perform maintenance on a subset of nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"httpMethod": "POST", +"id": "compute.nodeGroups.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"request": { +"$ref": "NodeGroupsPerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeGroups.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNodeTemplate": { +"description": "Updates the node template of the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"httpMethod": "POST", +"id": "compute.nodeGroups.setNodeTemplate", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"request": { +"$ref": "NodeGroupsSetNodeTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates maintenance event on specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.nodeGroups.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"request": { +"$ref": "NodeGroupsSimulateMaintenanceEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTemplates", +"response": { +"$ref": "NodeTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeTemplate resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "DELETE", +"id": "compute.nodeTemplates.delete", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the NodeTemplate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified node template.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "GET", +"id": "compute.nodeTemplates.get", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the node template to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "NodeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "POST", +"id": "compute.nodeTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"request": { +"$ref": "NodeTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node templates available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"response": { +"$ref": "NodeTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeTemplates.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeTemplates.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTypes", +"response": { +"$ref": "NodeTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified node type.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"httpMethod": "GET", +"id": "compute.nodeTypes.get", +"parameterOrder": [ +"project", +"zone", +"nodeType" +], +"parameters": { +"nodeType": { +"description": "Name of the node type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"response": { +"$ref": "NodeType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of node types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes", +"response": { +"$ref": "NodeTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"organizationSecurityPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.addAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/addAssociation", +"request": { +"$ref": "SecurityPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.addRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"copyRules": { +"description": "Copies rules to the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.copyRules", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"sourceSecurityPolicy": { +"description": "The security policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/copyRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.organizationSecurityPolicies.delete", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.get", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.getAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"name": { +"description": "The name of the association to get from the security policy.", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/getAssociation", +"response": { +"$ref": "SecurityPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.getRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "locations/global/securityPolicies", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.insert", +"parameters": { +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project.", +"flatPath": "locations/global/securityPolicies", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.list", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAssociations": { +"description": "Lists associations of a specified target, i.e., organization or folder.", +"flatPath": "locations/global/securityPolicies/listAssociations", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.listAssociations", +"parameters": { +"targetResource": { +"description": "The target resource to list associations. It is an organization, or a folder.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies/listAssociations", +"response": { +"$ref": "OrganizationSecurityPoliciesListAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPreconfiguredExpressionSets": { +"description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", +"flatPath": "locations/global/securityPolicies/listPreconfiguredExpressionSets", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/securityPolicies/listPreconfiguredExpressionSets", +"response": { +"$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/move", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.move", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"parentId": { +"description": "The new parent of the security policy.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/move", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.organizationSecurityPolicies.patch", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.patchRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.removeAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.removeRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"packetMirrorings": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/packetMirrorings", +"response": { +"$ref": "PacketMirroringAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "DELETE", +"id": "compute.packetMirrorings.delete", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "GET", +"id": "compute.packetMirrorings.get", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "PacketMirroring" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "POST", +"id": "compute.packetMirrorings.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"response": { +"$ref": "PacketMirroringList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "PATCH", +"id": "compute.packetMirrorings.patch", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.packetMirrorings.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"projects": { +"methods": { +"disableXpnHost": { +"description": "Disable this project as a shared VPC host project.", +"flatPath": "projects/{project}/disableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.disableXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"disableXpnResource": { +"description": "Disable a service resource (also known as service project) associated with this host project.", +"flatPath": "projects/{project}/disableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.disableXpnResource", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnResource", +"request": { +"$ref": "ProjectsDisableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnHost": { +"description": "Enable this project as a shared VPC host project.", +"flatPath": "projects/{project}/enableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.enableXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnResource": { +"description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", +"flatPath": "projects/{project}/enableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.enableXpnResource", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnResource", +"request": { +"$ref": "ProjectsEnableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.", +"flatPath": "projects/{project}", +"httpMethod": "GET", +"id": "compute.projects.get", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getXpnHost": { +"description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", +"flatPath": "projects/{project}/getXpnHost", +"httpMethod": "GET", +"id": "compute.projects.getXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/getXpnHost", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"getXpnResources": { +"description": "Gets service resources (a.k.a service project) associated with this host project.", +"flatPath": "projects/{project}/getXpnResources", +"httpMethod": "GET", +"id": "compute.projects.getXpnResources", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/getXpnResources", +"response": { +"$ref": "ProjectsGetXpnResources" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"listXpnHosts": { +"description": "Lists all shared VPC host projects visible to the user in an organization.", +"flatPath": "projects/{project}/listXpnHosts", +"httpMethod": "POST", +"id": "compute.projects.listXpnHosts", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/listXpnHosts", +"request": { +"$ref": "ProjectsListXpnHostsRequest" +}, +"response": { +"$ref": "XpnHostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveDisk": { +"description": "Moves a persistent disk from one zone to another.", +"flatPath": "projects/{project}/moveDisk", +"httpMethod": "POST", +"id": "compute.projects.moveDisk", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveDisk", +"request": { +"$ref": "DiskMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveInstance": { +"deprecated": true, +"description": "Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead.", +"flatPath": "projects/{project}/moveInstance", +"httpMethod": "POST", +"id": "compute.projects.moveInstance", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveInstance", +"request": { +"$ref": "InstanceMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCloudArmorTier": { +"description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.", +"flatPath": "projects/{project}/setCloudArmorTier", +"httpMethod": "POST", +"id": "compute.projects.setCloudArmorTier", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCloudArmorTier", +"request": { +"$ref": "ProjectsSetCloudArmorTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCommonInstanceMetadata": { +"description": "Sets metadata common to all instances within the specified project using the data included in the request.", +"flatPath": "projects/{project}/setCommonInstanceMetadata", +"httpMethod": "POST", +"id": "compute.projects.setCommonInstanceMetadata", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCommonInstanceMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDefaultNetworkTier": { +"description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", +"flatPath": "projects/{project}/setDefaultNetworkTier", +"httpMethod": "POST", +"id": "compute.projects.setDefaultNetworkTier", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setDefaultNetworkTier", +"request": { +"$ref": "ProjectsSetDefaultNetworkTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setManagedProtectionTier": { +"description": "Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set PLUS or above the billing account of the project must be subscribed to Managed Protection Plus. See Subscribing to Managed Protection Plus for more information.", +"flatPath": "projects/{project}/setManagedProtectionTier", +"httpMethod": "POST", +"id": "compute.projects.setManagedProtectionTier", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setManagedProtectionTier", +"request": { +"$ref": "ProjectsSetManagedProtectionTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUsageExportBucket": { +"description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", +"flatPath": "projects/{project}/setUsageExportBucket", +"httpMethod": "POST", +"id": "compute.projects.setUsageExportBucket", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setUsageExportBucket", +"request": { +"$ref": "UsageExportLocation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"publicAdvertisedPrefixes": { +"methods": { +"announce": { +"description": "Announces the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.announce", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicAdvertisedPrefixes.delete", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicAdvertisedPrefix resource.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.get", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "PublicAdvertisedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicAdvertisedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"response": { +"$ref": "PublicAdvertisedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicAdvertisedPrefixes.patch", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.withdraw", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"publicDelegatedPrefixes": { +"methods": { +"aggregatedList": { +"description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"announce": { +"description": "Announces the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.announce", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicDelegatedPrefix resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicDelegatedPrefixes for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.withdraw", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionAutoscalers": { +"methods": { +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.regionAutoscalers.delete", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.get", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "POST", +"id": "compute.regionAutoscalers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"response": { +"$ref": "RegionAutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.regionAutoscalers.patch", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionAutoscalers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PUT", +"id": "compute.regionAutoscalers.update", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionBackendServices": { +"methods": { +"delete": { +"description": "Deletes the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.regionBackendServices.delete", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.regionBackendServices.get", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this regional BackendService.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.regionBackendServices.getHealth", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource for which to get health.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionBackendServices.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "POST", +"id": "compute.regionBackendServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "GET", +"id": "compute.regionBackendServices.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.regionBackendServices.listUsable", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.regionBackendServices.patch", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionBackendServices.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.regionBackendServices.update", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionCommitments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/commitments", +"response": { +"$ref": "CommitmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified commitment resource.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "GET", +"id": "compute.regionCommitments.get", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"response": { +"$ref": "Commitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a commitment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "POST", +"id": "compute.regionCommitments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of commitments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"response": { +"$ref": "CommitmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionCommitments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "PATCH", +"id": "compute.regionCommitments.update", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment for which auto renew is being updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateReservations": { +"description": "Transfers GPUs or local SSDs between reservations within commitments.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", +"httpMethod": "POST", +"id": "compute.regionCommitments.updateReservations", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment for which the reservation is being updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", +"request": { +"$ref": "RegionCommitmentsUpdateReservationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionDiskTypes": { +"methods": { +"get": { +"description": "Returns the specified regional disk type.", +"flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.get", +"parameterOrder": [ +"project", +"region", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of regional disk types available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/diskTypes", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes", +"response": { +"$ref": "RegionDiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionDisks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.addResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "RegionDisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/regions/{region}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionDisks.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.regionDisks.createSnapshot", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.regionDisks.delete", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.regionDisks.get", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionDisks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent regional disk in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "POST", +"id": "compute.regionDisks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of persistent disks contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "GET", +"id": "compute.regionDisks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.removeResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "RegionDisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.regionDisks.resize", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/resize", +"request": { +"$ref": "RegionDisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionDisks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the target regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionDisks.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.startAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "RegionDisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionDisks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.regionDisks.update", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionHealthCheckServices": { +"methods": { +"delete": { +"description": "Deletes the specified regional HealthCheckService.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "DELETE", +"id": "compute.regionHealthCheckServices.delete", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional HealthCheckService resource.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.get", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "HealthCheckService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "POST", +"id": "compute.regionHealthCheckServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"response": { +"$ref": "HealthCheckServicesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "PATCH", +"id": "compute.regionHealthCheckServices.patch", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionHealthCheckServices.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.regionHealthChecks.delete", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.get", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "POST", +"id": "compute.regionHealthChecks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.regionHealthChecks.patch", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionHealthChecks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.regionHealthChecks.update", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroupManagerResizeRequests": { +"methods": { +"cancel": { +"description": "Cancels the specified resize request. Cancelled resize request no longer waits for the resources to be provisioned. Cancel is only possible for requests that are in accepted state.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagerResizeRequests.cancel", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to cancel. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceGroupManagerResizeRequests.delete", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to delete. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified resize request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagerResizeRequests.get", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new Resize Request that starts provisioning VMs immediately or queues VM creation.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagerResizeRequests.insert", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to which the resize request is scoped. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"request": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of Resize Requests that are contained in the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagerResizeRequests.list", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"response": { +"$ref": "RegionInstanceGroupManagerResizeRequestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "RegionInstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"applyUpdatesToInstances": { +"description": "Apply updates to selected instances the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "RegionInstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "RegionInstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceGroupManagers.delete", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "RegionInstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerDeleteInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.get", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of managed instance groups that are contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"response": { +"$ref": "RegionInstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. This should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "RegionInstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "RegionInstanceGroupManagersListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "RegionInstanceGroupManagersListInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.regionInstanceGroupManagers.patch", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerPatchInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "RegionInstanceGroupManagersRecreateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resize", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "Number of instances that should exist in this instance group manager.", +"format": "int32", +"location": "query", +"minimum": "0", +"required": true, +"type": "integer" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resizeAdvanced": { +"description": "Resizes the regional managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resizeAdvanced", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"request": { +"$ref": "RegionInstanceGroupManagersResizeAdvancedRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "RegionInstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setAutoHealingPolicies": { +"deprecated": true, +"description": "Modifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use regionInstanceGroupManagers.patch instead.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setAutoHealingPolicies", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"request": { +"$ref": "RegionInstanceGroupManagersSetAutoHealingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "RegionInstanceGroupManagersSetTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listmanagedinstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PUT", +"id": "compute.regionInstanceGroupManagers.update", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerUpdateInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroups": { +"methods": { +"get": { +"description": "Returns the specified instance group resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.get", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "Name of the instance group resource to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of instance group resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups", +"response": { +"$ref": "RegionInstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.listInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroup": { +"description": "Name of the regional instance group for which we want to list the instances.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "RegionInstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "RegionInstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified regional instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the regional instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "RegionInstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstanceTemplates": { +"methods": { +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceTemplates.delete", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.get", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project and region using the global instance template whose URL is included in the request.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "POST", +"id": "compute.regionInstanceTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the regions for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstances": { +"methods": { +"bulkInsert": { +"description": "Creates multiple instances in a given region. Count specifies the number of instances to create.", +"flatPath": "projects/{project}/regions/{region}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionInstances.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstantSnapshots": { +"methods": { +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.regionInstantSnapshots.delete", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.get", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionMultiMigs": { +"methods": { +"delete": { +"description": "Deletes a multi-MIG in the specified project.", +"flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"httpMethod": "DELETE", +"id": "compute.regionMultiMigs.delete", +"parameterOrder": [ +"project", +"region", +"multiMig" +], +"parameters": { +"multiMig": { +"description": "Name of the multi-MIG to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all the details of a specific multi-MIG.", +"flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"httpMethod": "GET", +"id": "compute.regionMultiMigs.get", +"parameterOrder": [ +"project", +"region", +"multiMig" +], +"parameters": { +"multiMig": { +"description": "Name of the multi-MIG resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"response": { +"$ref": "MultiMig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a multi-MIG in the specified project.", +"flatPath": "projects/{project}/regions/{region}/multiMigs", +"httpMethod": "POST", +"id": "compute.regionMultiMigs.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs", +"request": { +"$ref": "MultiMig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of multi-MIGs in a project and region.", +"flatPath": "projects/{project}/regions/{region}/multiMigs", +"httpMethod": "GET", +"id": "compute.regionMultiMigs.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs", +"response": { +"$ref": "MultiMigsList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.get", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"region", +"network" +], +"parameters": { +"network": { +"description": "Network reference", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"response": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new network firewall policy in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the network firewall policies that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionNetworkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the association that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNotificationEndpoints": { +"methods": { +"delete": { +"description": "Deletes the specified NotificationEndpoint in the given region", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "DELETE", +"id": "compute.regionNotificationEndpoints.delete", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NotificationEndpoint resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.get", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "NotificationEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "POST", +"id": "compute.regionNotificationEndpoints.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"request": { +"$ref": "NotificationEndpoint" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NotificationEndpoints for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"response": { +"$ref": "NotificationEndpointList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionNotificationEndpoints.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionOperations": { +"methods": { +"delete": { +"description": "Deletes the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.regionOperations.delete", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.regionOperations.get", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/operations", +"httpMethod": "GET", +"id": "compute.regionOperations.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.regionOperations.wait", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSecurityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSecurityPolicies.delete", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.get", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSecurityPolicies.patch", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionSslCertificates": { +"methods": { +"delete": { +"description": "Deletes the specified SslCertificate resource in the region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.regionSslCertificates.delete", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.get", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "POST", +"id": "compute.regionSslCertificates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource and region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionSslCertificates.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSslPolicies": { +"methods": { +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSslPolicies.delete", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.get", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "POST", +"id": "compute.regionSslPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.listAvailableFeatures", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSslPolicies.patch", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionSslPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetHttpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetHttpsProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpsProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.regionTargetHttpsProxies.patch", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "RegionTargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetTcpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetTcpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetTcpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetTcpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionUrlMaps": { +"methods": { +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.regionUrlMaps.delete", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.get", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"invalidateCache": { +"description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.invalidateCache", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", +"request": { +"$ref": "CacheInvalidationRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.regionUrlMaps.patch", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.regionUrlMaps.update", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.validate", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"request": { +"$ref": "RegionUrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionZones": { +"methods": { +"list": { +"description": "Retrieves the list of Zone resources under the specific region available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/zones", +"httpMethod": "GET", +"id": "compute.regionZones.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regions": { +"methods": { +"get": { +"description": "Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions/{region}", +"httpMethod": "GET", +"id": "compute.regions.get", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}", +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions", +"httpMethod": "GET", +"id": "compute.regions.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions", +"response": { +"$ref": "RegionList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"reservationBlocks": { +"methods": { +"get": { +"description": "Retrieves information about the specified reservation block.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", +"httpMethod": "GET", +"id": "compute.reservationBlocks.get", +"parameterOrder": [ +"project", +"zone", +"reservation", +"reservationBlock" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"reservationBlock": { +"description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", +"response": { +"$ref": "ReservationBlocksGetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of reservation blocks under a single reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", +"httpMethod": "GET", +"id": "compute.reservationBlocks.list", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", +"response": { +"$ref": "ReservationBlocksListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"reservations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/reservations", +"httpMethod": "GET", +"id": "compute.reservations.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/reservations", +"response": { +"$ref": "ReservationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "DELETE", +"id": "compute.reservations.delete", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves information about the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "GET", +"id": "compute.reservations.get", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.reservations.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new reservation. For more information, read Reserving zonal resources.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "POST", +"id": "compute.reservations.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list of all the reservations that have been configured for the specified project in specified zone.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "GET", +"id": "compute.reservations.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"response": { +"$ref": "ReservationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"resize": { +"description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"httpMethod": "POST", +"id": "compute.reservations.resize", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"request": { +"$ref": "ReservationsResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.reservations.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.reservations.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update share settings of the reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "PATCH", +"id": "compute.reservations.update", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"resourcePolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/resourcePolicies", +"response": { +"$ref": "ResourcePolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "DELETE", +"id": "compute.resourcePolicies.delete", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves all information of the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "GET", +"id": "compute.resourcePolicies.get", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.resourcePolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "POST", +"id": "compute.resourcePolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list all the resource policies that have been configured for the specified project in specified region.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"response": { +"$ref": "ResourcePolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Modify the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "PATCH", +"id": "compute.resourcePolicies.patch", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Id of the resource policy to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.resourcePolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.resourcePolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"routers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/routers", +"httpMethod": "GET", +"id": "compute.routers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/routers", +"response": { +"$ref": "RouterAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "DELETE", +"id": "compute.routers.delete", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteRoutePolicy": { +"description": "Deletes Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.deleteRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"policy": { +"description": "The Policy name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "GET", +"id": "compute.routers.get", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Router" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatIpInfo": { +"description": "Retrieves runtime NAT IP information.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatIpInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"natName": { +"description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"response": { +"$ref": "NatIpInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatMappingInfo": { +"description": "Retrieves runtime Nat mapping information of VM endpoints.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatMappingInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"natName": { +"description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"response": { +"$ref": "VmEndpointNatMappingsList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRoutePolicy": { +"description": "Returns specified Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", +"httpMethod": "GET", +"id": "compute.routers.getRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"policy": { +"description": "The Policy name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for the route policy. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", +"response": { +"$ref": "RoutersGetRoutePolicyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRouterStatus": { +"description": "Retrieves runtime information of the specified router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"httpMethod": "GET", +"id": "compute.routers.getRouterStatus", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"response": { +"$ref": "RouterStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Router resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "POST", +"id": "compute.routers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of Router resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "GET", +"id": "compute.routers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"response": { +"$ref": "RouterList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listBgpRoutes": { +"description": "Retrieves a list of router bgp routes available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", +"httpMethod": "GET", +"id": "compute.routers.listBgpRoutes", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"addressFamily": { +"default": "UNSPECIFIED_IP_VERSION", +"description": "(Required) limit results to this address family (either IPv4 or IPv6)", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_IP_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"destinationPrefix": { +"description": "Limit results to destinations that are subnets of this CIDR range", +"location": "query", +"type": "string" +}, +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"peer": { +"description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"policyApplied": { +"default": "true", +"description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"routeType": { +"default": "UNSPECIFIED_ROUTE_TYPE", +"description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", +"enum": [ +"ADVERTISED", +"LEARNED", +"UNSPECIFIED_ROUTE_TYPE" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"router": { +"description": "Name or id of the resource for this request. Name should conform to RFC1035.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", +"response": { +"$ref": "RoutersListBgpRoutes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listRoutePolicies": { +"description": "Retrieves a list of router route policy subresources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", +"httpMethod": "GET", +"id": "compute.routers.listRoutePolicies", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name or id of the resource for this request. Name should conform to RFC1035.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", +"response": { +"$ref": "RoutersListRoutePolicies" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PATCH", +"id": "compute.routers.patch", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRoutePolicy": { +"description": "Patches Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.patchRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", +"request": { +"$ref": "RoutePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"preview": { +"description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", +"httpMethod": "POST", +"id": "compute.routers.preview", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/preview", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "RoutersPreviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.routers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PUT", +"id": "compute.routers.update", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateRoutePolicy": { +"description": "Updates or creates new Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.updateRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", +"request": { +"$ref": "RoutePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"routes": { +"methods": { +"delete": { +"description": "Deletes the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "DELETE", +"id": "compute.routes.delete", +"parameterOrder": [ +"project", +"route" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"route": { +"description": "Name of the Route resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "GET", +"id": "compute.routes.get", +"parameterOrder": [ +"project", +"route" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"route": { +"description": "Name of the Route resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Route" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Route resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "POST", +"id": "compute.routes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/routes", +"request": { +"$ref": "Route" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Route resources available to the specified project.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "GET", +"id": "compute.routes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/routes", +"response": { +"$ref": "RouteList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/routes/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.routes.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"securityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.addRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/securityPolicies", +"response": { +"$ref": "SecurityPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.securityPolicies.delete", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.securityPolicies.get", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.securityPolicies.getRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "POST", +"id": "compute.securityPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPreconfiguredExpressionSets": { +"description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", +"flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"httpMethod": "GET", +"id": "compute.securityPolicies.listPreconfiguredExpressionSets", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"response": { +"$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.securityPolicies.patch", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.patchRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.removeRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.securityPolicies.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.securityPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"serviceAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ServiceAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "DELETE", +"id": "compute.serviceAttachments.delete", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ServiceAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "GET", +"id": "compute.serviceAttachments.get", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "ServiceAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.serviceAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "POST", +"id": "compute.serviceAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the ServiceAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "PATCH", +"id": "compute.serviceAttachments.patch", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region scoping this request and should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "The resource id of the ServiceAttachment to patch. It should conform to RFC1035 resource name or be a string form on an unsigned long number.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.serviceAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.serviceAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"snapshotSettings": { +"methods": { +"get": { +"description": "Get snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "GET", +"id": "compute.snapshotSettings.get", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"response": { +"$ref": "SnapshotSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "PATCH", +"id": "compute.snapshotSettings.patch", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"request": { +"$ref": "SnapshotSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"snapshots": { +"methods": { +"delete": { +"description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "DELETE", +"id": "compute.snapshots.delete", +"parameterOrder": [ +"project", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Snapshot resource.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "GET", +"id": "compute.snapshots.get", +"parameterOrder": [ +"project", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.snapshots.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "POST", +"id": "compute.snapshots.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Snapshot resources contained within the specified project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "GET", +"id": "compute.snapshots.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/snapshots", +"response": { +"$ref": "SnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.snapshots.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.snapshots.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.snapshots.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslCertificates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslCertificates", +"response": { +"$ref": "SslCertificateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.sslCertificates.delete", +"parameterOrder": [ +"project", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.sslCertificates.get", +"parameterOrder": [ +"project", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "POST", +"id": "compute.sslCertificates.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.sslCertificates.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslPolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslPolicies", +"response": { +"$ref": "SslPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.sslPolicies.delete", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.sslPolicies.get", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Returns the specified SSL policy resource.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "POST", +"id": "compute.sslPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.sslPolicies.listAvailableFeatures", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.sslPolicies.patch", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.sslPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"storagePoolTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified storage pool type.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.get", +"parameterOrder": [ +"project", +"zone", +"storagePoolType" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"storagePoolType": { +"description": "Name of the storage pool type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"response": { +"$ref": "StoragePoolType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of storage pool types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"storagePools": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePools", +"response": { +"$ref": "StoragePoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "DELETE", +"id": "compute.storagePools.delete", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "Name of the storage pool to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified storage pool. Gets a list of available storage pools by making a list() request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "GET", +"id": "compute.storagePools.get", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"storagePool": { +"description": "Name of the storage pool to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "StoragePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.storagePools.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a storage pool in the specified project using the data in the request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "POST", +"id": "compute.storagePools.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of storage pools contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"response": { +"$ref": "StoragePoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listDisks": { +"description": "Lists the disks in a specified storage pool.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"httpMethod": "GET", +"id": "compute.storagePools.listDisks", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"storagePool": { +"description": "Name of the storage pool to list disks of.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"response": { +"$ref": "StoragePoolListDisks" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.storagePools.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.storagePools.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "PATCH", +"id": "compute.storagePools.update", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "The storagePool name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"subnetworks": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/subnetworks", +"response": { +"$ref": "SubnetworkAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "DELETE", +"id": "compute.subnetworks.delete", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"expandIpCidrRange": { +"description": "Expands the IP CIDR range of the subnetwork to a specified value.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"httpMethod": "POST", +"id": "compute.subnetworks.expandIpCidrRange", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"request": { +"$ref": "SubnetworksExpandIpCidrRangeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "GET", +"id": "compute.subnetworks.get", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Subnetwork" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.subnetworks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a subnetwork in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "POST", +"id": "compute.subnetworks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of subnetworks available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"response": { +"$ref": "SubnetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves an aggregated list of all usable subnetworks in the project.", +"flatPath": "projects/{project}/aggregated/subnetworks/listUsable", +"httpMethod": "GET", +"id": "compute.subnetworks.listUsable", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProject": { +"description": "The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/subnetworks/listUsable", +"response": { +"$ref": "UsableSubnetworksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "PATCH", +"id": "compute.subnetworks.patch", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"drainTimeoutSeconds": { +"description": "The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.subnetworks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setPrivateIpGoogleAccess": { +"description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"httpMethod": "POST", +"id": "compute.subnetworks.setPrivateIpGoogleAccess", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"request": { +"$ref": "SubnetworksSetPrivateIpGoogleAccessRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.subnetworks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetGrpcProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetGrpcProxy in the given scope", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "DELETE", +"id": "compute.targetGrpcProxies.delete", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetGrpcProxy resource in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.get", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "TargetGrpcProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "POST", +"id": "compute.targetGrpcProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the TargetGrpcProxies for a project in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"response": { +"$ref": "TargetGrpcProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "PATCH", +"id": "compute.targetGrpcProxies.patch", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetGrpcProxies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetHttpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpProxies.delete", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.get", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpProxies.patch", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetHttpsProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpsProxies.delete", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.get", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpsProxies.patch", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"request": { +"$ref": "TargetHttpsProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setQuicOverride": { +"description": "Sets the QUIC override policy for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setQuicOverride", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"request": { +"$ref": "TargetHttpsProxiesSetQuicOverrideRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "TargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetInstances": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetInstances", +"response": { +"$ref": "TargetInstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "DELETE", +"id": "compute.targetInstances.delete", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "GET", +"id": "compute.targetInstances.get", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "TargetInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "POST", +"id": "compute.targetInstances.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"request": { +"$ref": "TargetInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"response": { +"$ref": "TargetInstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetInstances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetInstances.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetPools": { +"methods": { +"addHealthCheck": { +"description": "Adds health check URLs to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.addHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to add a health check to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"request": { +"$ref": "TargetPoolsAddHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addInstance": { +"description": "Adds an instance to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"httpMethod": "POST", +"id": "compute.targetPools.addInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to add instances to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"request": { +"$ref": "TargetPoolsAddInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetPools", +"response": { +"$ref": "TargetPoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "DELETE", +"id": "compute.targetPools.delete", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "GET", +"id": "compute.targetPools.get", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "TargetPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"httpMethod": "POST", +"id": "compute.targetPools.getHealth", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"request": { +"$ref": "InstanceReference" +}, +"response": { +"$ref": "TargetPoolInstanceHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target pool in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "POST", +"id": "compute.targetPools.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"request": { +"$ref": "TargetPool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target pools available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"response": { +"$ref": "TargetPoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeHealthCheck": { +"description": "Removes health check URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.removeHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to remove health checks from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"request": { +"$ref": "TargetPoolsRemoveHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeInstance": { +"description": "Removes instance URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"httpMethod": "POST", +"id": "compute.targetPools.removeInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to remove instances from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"request": { +"$ref": "TargetPoolsRemoveInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setBackup": { +"description": "Changes a backup target pool's configurations.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"httpMethod": "POST", +"id": "compute.targetPools.setBackup", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"failoverRatio": { +"description": "New failoverRatio value for the target pool.", +"format": "float", +"location": "query", +"type": "number" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to set a backup pool for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetPools.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetPools.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetSslProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "DELETE", +"id": "compute.targetSslProxies.delete", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "GET", +"id": "compute.targetSslProxies.get", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "TargetSslProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "POST", +"id": "compute.targetSslProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"request": { +"$ref": "TargetSslProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetSslProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "GET", +"id": "compute.targetSslProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"response": { +"$ref": "TargetSslProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setBackendService", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"request": { +"$ref": "TargetSslProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"request": { +"$ref": "TargetSslProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"request": { +"$ref": "TargetSslProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Changes SslCertificates for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"request": { +"$ref": "TargetSslProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetSslProxies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetTcpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetTcpProxies.delete", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.get", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setBackendService", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"request": { +"$ref": "TargetTcpProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"request": { +"$ref": "TargetTcpProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetVpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.targetVpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.get", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "TargetVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"request": { +"$ref": "TargetVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"urlMaps": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/urlMaps", +"response": { +"$ref": "UrlMapsAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.urlMaps.delete", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.urlMaps.get", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "POST", +"id": "compute.urlMaps.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"invalidateCache": { +"description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"httpMethod": "POST", +"id": "compute.urlMaps.invalidateCache", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"request": { +"$ref": "CacheInvalidationRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.urlMaps.patch", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.urlMaps.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.urlMaps.update", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.urlMaps.validate", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/validate", +"request": { +"$ref": "UrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"vpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnGateways", +"response": { +"$ref": "VpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "DELETE", +"id": "compute.vpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "GET", +"id": "compute.vpnGateways.get", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "VpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getStatus": { +"description": "Returns the status for the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"httpMethod": "GET", +"id": "compute.vpnGateways.getStatus", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"response": { +"$ref": "VpnGatewaysGetStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "POST", +"id": "compute.vpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"request": { +"$ref": "VpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"response": { +"$ref": "VpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.vpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"vpnTunnels": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnTunnels", +"response": { +"$ref": "VpnTunnelAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "DELETE", +"id": "compute.vpnTunnels.delete", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "GET", +"id": "compute.vpnTunnels.get", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "VpnTunnel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"request": { +"$ref": "VpnTunnel" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"response": { +"$ref": "VpnTunnelList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.vpnTunnels.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"zoneOperations": { +"methods": { +"delete": { +"description": "Deletes the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.zoneOperations.delete", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.zoneOperations.get", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/operations", +"httpMethod": "GET", +"id": "compute.zoneOperations.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.zoneOperations.wait", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"zones": { +"methods": { +"get": { +"description": "Returns the specified Zone resource.", +"flatPath": "projects/{project}/zones/{zone}", +"httpMethod": "GET", +"id": "compute.zones.get", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}", +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of Zone resources available to the specified project.", +"flatPath": "projects/{project}/zones", +"httpMethod": "GET", +"id": "compute.zones.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://compute.googleapis.com/", +"schemas": { +"AWSV4Signature": { +"description": "Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.", +"id": "AWSV4Signature", +"properties": { +"accessKey": { +"description": "The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly", +"type": "string" +}, +"accessKeyId": { +"description": "The identifier of an access key used for s3 bucket authentication.", +"type": "string" +}, +"accessKeyVersion": { +"description": "The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.", +"type": "string" +}, +"originRegion": { +"description": "The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, \"us-east-1\" for AWS or \"us-ashburn-1\" for OCI.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorType": { +"description": "Represents an Accelerator Type resource. Google Cloud Platform provides graphics processing units (accelerators) that you can add to VM instances to improve or accelerate performance when working with intensive workloads. For more information, read GPUs on Compute Engine.", +"id": "AcceleratorType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this accelerator type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#acceleratorType", +"description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.", +"type": "string" +}, +"maximumCardsPerInstance": { +"description": "[Output Only] Maximum number of accelerator cards allowed per instance.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined, fully qualified URL for this resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorTypeAggregatedList": { +"id": "AcceleratorTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AcceleratorTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of accelerator types." +}, +"description": "A list of AcceleratorTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#acceleratorTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AcceleratorTypeList": { +"description": "Contains a list of accelerator types.", +"id": "AcceleratorTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of AcceleratorType resources.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"kind": { +"default": "compute#acceleratorTypeList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AcceleratorTypesScopedList": { +"id": "AcceleratorTypesScopedList", +"properties": { +"acceleratorTypes": { +"description": "[Output Only] A list of accelerator types contained in this scope.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the accelerator types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#accessConfig", +"description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.", +"type": "string" +}, +"name": { +"description": "The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.", +"type": "string" +}, +"natIP": { +"description": "Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"publicPtrDomainName": { +"description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be created for first IP in associated external IPv6 range.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the security policy associated with this access config.", +"type": "string" +}, +"setPublicPtr": { +"description": "Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.", +"type": "boolean" +}, +"type": { +"description": "The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"DIRECT_IPV6", +"ONE_TO_ONE_NAT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Address": { +"description": "Represents an IP Address resource. Google Compute Engine has two IP Address resources: * [Global (external and internal)](https://cloud.google.com/compute/docs/reference/rest/beta/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/beta/addresses) For more information, see Reserving a static external IP address.", +"id": "Address", +"properties": { +"address": { +"description": "The static IP address represented by this resource.", +"type": "string" +}, +"addressType": { +"description": "The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.", +"enum": [ +"EXTERNAL", +"INTERNAL", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"A publicly visible external IP address.", +"A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipVersion": { +"description": "The IP version that will be used by this address. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"ipv6EndpointType": { +"description": "The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.", +"enum": [ +"NETLB", +"VM" +], +"enumDescriptions": [ +"Reserved IPv6 address can be used on network load balancer.", +"Reserved IPv6 address can be used on VM." +], +"type": "string" +}, +"kind": { +"default": "compute#address", +"description": "[Output Only] Type of the resource. Always compute#address for addresses.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.addresses.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"prefixLength": { +"description": "The prefix length if the resource represents an IP range.", +"format": "int32", +"type": "integer" +}, +"purpose": { +"description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"IP range for peer networks." +], +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where a regional address resides. For regional addresses, you must specify the region as a path parameter in the HTTP request URL. *This field is not applicable to global addresses.*", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available.", +"enum": [ +"IN_USE", +"RESERVED", +"RESERVING" +], +"enumDescriptions": [ +"Address is being used by another resource and is not available.", +"Address is reserved and available to use.", +"Address is being reserved." +], +"type": "string" +}, +"subnetwork": { +"description": "The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.", +"type": "string" +}, +"users": { +"description": "[Output Only] The URLs of the resources that are using this address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AddressAggregatedList": { +"id": "AddressAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AddressesScopedList", +"description": "[Output Only] Name of the scope containing this set of addresses." +}, +"description": "A list of AddressesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#addressAggregatedList", +"description": "[Output Only] Type of resource. Always compute#addressAggregatedList for aggregated lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AddressList": { +"description": "Contains a list of addresses.", +"id": "AddressList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Address resources.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"kind": { +"default": "compute#addressList", +"description": "[Output Only] Type of resource. Always compute#addressList for lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AddressesScopedList": { +"id": "AddressesScopedList", +"properties": { +"addresses": { +"description": "[Output Only] A list of addresses contained in this scope.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"performanceMonitoringUnit": { +"description": "Type of Performance Monitoring Unit requested on instance.", +"enum": [ +"ARCHITECTURAL", +"ENHANCED", +"PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", +"STANDARD" +], +"enumDescriptions": [ +"Architecturally defined non-LLC events.", +"Most documented core/L2 and LLC events.", +"", +"Most documented core/L2 events." +], +"type": "string" +}, +"threadsPerCore": { +"description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int32", +"type": "integer" +}, +"turboMode": { +"description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", +"type": "string" +}, +"visibleCoreCount": { +"description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "The IP alias ranges to allocate for this interface. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string (such as 10.1.2.0/24).", +"type": "string" +}, +"subnetworkRangeName": { +"description": "The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservation": { +"description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", +"id": "AllocationAggregateReservation", +"properties": { +"inUseResources": { +"description": "[Output only] List of resources currently in use.", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"reservedResources": { +"description": "List of reserved resources (CPUs, memory, accelerators).", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"vmFamily": { +"description": "The VM family that all instances scheduled against this reservation must belong to.", +"enum": [ +"VM_FAMILY_CLOUD_TPU_DEVICE_CT3", +"VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", +"VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"workloadType": { +"description": "The workload type of the instances that will target this reservation.", +"enum": [ +"BATCH", +"SERVING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Reserved resources will be optimized for BATCH workloads, such as ML training.", +"Reserved resources will be optimized for SERVING workloads, such as ML inference.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfo": { +"id": "AllocationAggregateReservationReservedResourceInfo", +"properties": { +"accelerator": { +"$ref": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"description": "Properties of accelerator resources in this reservation." +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfoAccelerator": { +"id": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"properties": { +"acceleratorCount": { +"description": "Number of accelerators of specified type.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL to accelerator type. e.g. \"projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l\"", +"type": "string" +} +}, +"type": "object" +}, +"AllocationReservationSharingPolicy": { +"id": "AllocationReservationSharingPolicy", +"properties": { +"serviceShareType": { +"description": "Sharing config for all Google Cloud services.", +"enum": [ +"ALLOW_ALL", +"DISALLOW_ALL", +"SERVICE_SHARE_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Allow all Google Cloud managed services to share reservations.", +"[Default] Disallow sharing with all Google Cloud services.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "AllocationResourceStatus", +"properties": { +"reservationBlockCount": { +"description": "The number of reservation blocks associated with this reservation.", +"format": "int32", +"type": "integer" +}, +"reservationMaintenance": { +"$ref": "GroupMaintenanceInfo", +"description": "Maintenance information for this reservation" +}, +"specificSkuAllocation": { +"$ref": "AllocationResourceStatusSpecificSKUAllocation", +"description": "Allocation Properties of this reservation." +} +}, +"type": "object" +}, +"AllocationResourceStatusSpecificSKUAllocation": { +"description": "Contains Properties set for the reservation.", +"id": "AllocationResourceStatusSpecificSKUAllocation", +"properties": { +"sourceInstanceTemplateId": { +"description": "ID of the instance template used to populate reservation properties.", +"type": "string" +}, +"utilizations": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Per service utilization breakdown. The Key is the Google Cloud managed service name.", +"type": "object" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { +"id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", +"properties": { +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationReservedInstanceProperties": { +"description": "Properties of the SKU instances being reserved. Next ID: 9", +"id": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"properties": { +"guestAccelerators": { +"description": "Specifies accelerator type and count.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"localSsds": { +"description": "Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.", +"items": { +"$ref": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"machineType": { +"description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", +"type": "string" +}, +"maintenanceFreezeDurationHours": { +"description": "Specifies the number of hours after reservation creation where instances using the reservation won't be scheduled for maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"minCpuPlatform": { +"description": "Minimum cpu platform the reservation.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUReservation": { +"description": "This reservation type allows to pre allocate specific instance configuration.", +"id": "AllocationSpecificSKUReservation", +"properties": { +"assuredCount": { +"description": "[Output Only] Indicates how many instances are actually usable currently.", +"format": "int64", +"type": "string" +}, +"count": { +"description": "Specifies the number of resources that are allocated.", +"format": "int64", +"type": "string" +}, +"inUseCount": { +"description": "[Output Only] Indicates how many instances are in use.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"description": "The instance properties for the reservation." +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"type": "string" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method." +}, +"diskSizeGb": { +"description": "The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"forceAttach": { +"description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", +"format": "int32", +"type": "integer" +}, +"initializeParams": { +"$ref": "AttachedDiskInitializeParams", +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#attachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locked": { +"description": "[Output Only] Whether to indicate the attached disk is locked. The locked disk is not allowed to be detached from the instance, or to be used as the source of the snapshot creation, and the image creation. The instance with at least one locked attached disk is not allow to be used as source of machine image creation, instant snapshot creation, and not allowed to be deleted with --keep-disk parameter set to true for locked disks.", +"type": "boolean" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"savedState": { +"description": "For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"*[Default]* Disk state has not been preserved.", +"Disk state has been preserved." +], +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "[Output Only] shielded vm initial state stored on disk" +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.", +"type": "string" +}, +"type": { +"description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"userLicenses": { +"description": "[Output Only] A list of user provided licenses. It represents a list of URLs to the license resource. Unlike regular licenses, user provided licenses can be modified after the disk is created.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttachedDiskInitializeParams": { +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", +"id": "AttachedDiskInitializeParams", +"properties": { +"architecture": { +"description": "The architecture of the attached disk. Valid values are arm64 or x86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"description": { +"description": "An optional description. Provide this property when creating the disk.", +"type": "string" +}, +"diskName": { +"description": "Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created.", +"type": "string" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard.", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. Guest OS features are applied by merging initializeParams.guestOsFeatures and disks.guestOsFeatures", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", +"type": "object" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"multiWriter": { +"description": "Indicates whether or not the disk can be read/write attached to more than one instance.", +"type": "boolean" +}, +"onUpdateAction": { +"description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", +"enum": [ +"RECREATE_DISK", +"RECREATE_DISK_IF_SOURCE_CHANGED", +"USE_EXISTING_DISK" +], +"enumDescriptions": [ +"Always recreate the disk.", +"Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.", +"Use the existing disk, this is the default behaviour." +], +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must greater than or equal to 1.", +"format": "int64", +"type": "string" +}, +"replicaZones": { +"description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceImage": { +"description": "The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." +}, +"sourceInstantSnapshot": { +"description": "The source instant-snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceInstantSnapshot initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: us-central1-a/instantSnapshots/my-backup If the source instant-snapshot is deleted later, this field will not be set.", +"type": "string" +}, +"sourceSnapshot": { +"description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot." +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"ADMIN_READ", +"DATA_READ", +"DATA_WRITE", +"LOG_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Admin reads. Example: CloudIAM getIamPolicy", +"Data reads. Example: CloudSQL Users list", +"Data writes. Example: CloudSQL Users create", +"Default case. Should never be this." +], +"type": "string" +} +}, +"type": "object" +}, +"Autoscaler": { +"description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/beta/autoscalers) * [Regional](/compute/docs/reference/rest/beta/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.", +"id": "Autoscaler", +"properties": { +"autoscalingPolicy": { +"$ref": "AutoscalingPolicy", +"description": "The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#autoscaler", +"description": "[Output Only] Type of the resource. Always compute#autoscaler for autoscalers.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.autoscalers.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"recommendedSize": { +"description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope).", +"type": "string" +}, +"scalingScheduleStatus": { +"additionalProperties": { +"$ref": "ScalingScheduleStatus" +}, +"description": "[Output Only] Status information of existing scaling schedules.", +"type": "object" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", +"enum": [ +"ACTIVE", +"DELETING", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Configuration is acknowledged to be effective", +"Configuration is being deleted", +"Configuration has errors. Actionable for users.", +"Autoscaler backend hasn't read new/updated configuration" +], +"type": "string" +}, +"statusDetails": { +"description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.", +"items": { +"$ref": "AutoscalerStatusDetails" +}, +"type": "array" +}, +"target": { +"description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope).", +"type": "string" +} +}, +"type": "object" +}, +"AutoscalerAggregatedList": { +"id": "AutoscalerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AutoscalersScopedList", +"description": "[Output Only] Name of the scope containing this set of autoscalers." +}, +"description": "A list of AutoscalersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#autoscalerAggregatedList", +"description": "[Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalerList": { +"description": "Contains a list of Autoscaler resources.", +"id": "AutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#autoscalerList", +"description": "[Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalerStatusDetails": { +"id": "AutoscalerStatusDetails", +"properties": { +"message": { +"description": "The status message.", +"type": "string" +}, +"type": { +"description": "The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", +"enum": [ +"ALL_INSTANCES_UNHEALTHY", +"BACKEND_SERVICE_DOES_NOT_EXIST", +"CAPPED_AT_MAX_NUM_REPLICAS", +"CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE", +"CUSTOM_METRIC_INVALID", +"MIN_EQUALS_MAX", +"MISSING_CUSTOM_METRIC_DATA_POINTS", +"MISSING_LOAD_BALANCING_DATA_POINTS", +"MODE_OFF", +"MODE_ONLY_SCALE_OUT", +"MODE_ONLY_UP", +"MORE_THAN_ONE_BACKEND_SERVICE", +"NOT_ENOUGH_QUOTA_AVAILABLE", +"REGION_RESOURCE_STOCKOUT", +"SCALING_TARGET_DOES_NOT_EXIST", +"SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX", +"SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN", +"UNKNOWN", +"UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION", +"ZONE_RESOURCE_STOCKOUT" +], +"enumDescriptions": [ +"All instances in the instance group are unhealthy (not in RUNNING state).", +"There is no backend service attached to the instance group.", +"Autoscaler recommends a size greater than maxNumReplicas.", +"The custom metric samples are not exported often enough to be a credible base for autoscaling.", +"The custom metric that was specified does not exist or does not have the necessary labels.", +"The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.", +"The autoscaler did not receive any data from the custom metric configured for autoscaling.", +"The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.", +"Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved.", +"Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.", +"Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.", +"The instance group cannot be autoscaled because it has more than one backend service attached to it.", +"There is insufficient quota for the necessary resources, such as CPU or number of instances.", +"Showed only for regional autoscalers: there is a resource stockout in the chosen region.", +"The target to be scaled does not exist.", +"For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.", +"For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.", +"", +"Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate.", +"For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalersScopedList": { +"id": "AutoscalersScopedList", +"properties": { +"autoscalers": { +"description": "[Output Only] A list of autoscalers contained in this scope.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of autoscalers when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalingPolicy": { +"description": "Cloud Autoscaler policy.", +"id": "AutoscalingPolicy", +"properties": { +"coolDownPeriodSec": { +"description": "The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.", +"format": "int32", +"type": "integer" +}, +"cpuUtilization": { +"$ref": "AutoscalingPolicyCpuUtilization", +"description": "Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group." +}, +"customMetricUtilizations": { +"description": "Configuration parameters of autoscaling based on a custom metric.", +"items": { +"$ref": "AutoscalingPolicyCustomMetricUtilization" +}, +"type": "array" +}, +"loadBalancingUtilization": { +"$ref": "AutoscalingPolicyLoadBalancingUtilization", +"description": "Configuration parameters of autoscaling based on load balancer." +}, +"maxNumReplicas": { +"description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", +"format": "int32", +"type": "integer" +}, +"minNumReplicas": { +"description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"", +"enum": [ +"OFF", +"ON", +"ONLY_SCALE_OUT", +"ONLY_UP" +], +"enumDescriptions": [ +"Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.", +"Automatically scale the MIG in and out according to the policy.", +"Automatically create VMs according to the policy, but do not scale the MIG in.", +"Automatically create VMs according to the policy, but do not scale the MIG in." +], +"type": "string" +}, +"scaleDownControl": { +"$ref": "AutoscalingPolicyScaleDownControl" +}, +"scaleInControl": { +"$ref": "AutoscalingPolicyScaleInControl" +}, +"scalingSchedules": { +"additionalProperties": { +"$ref": "AutoscalingPolicyScalingSchedule" +}, +"description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.", +"type": "object" +} +}, +"type": "object" +}, +"AutoscalingPolicyCpuUtilization": { +"description": "CPU utilization policy.", +"id": "AutoscalingPolicyCpuUtilization", +"properties": { +"predictiveMethod": { +"description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", +"enum": [ +"NONE", +"OPTIMIZE_AVAILABILITY", +"PREDICTIVE_METHOD_UNSPECIFIED" +], +"enumDescriptions": [ +"No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics", +"Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", +"" +], +"type": "string" +}, +"utilizationTarget": { +"description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyCustomMetricUtilization": { +"description": "Custom utilization metric policy.", +"id": "AutoscalingPolicyCustomMetricUtilization", +"properties": { +"filter": { +"description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. For the filter to be valid for autoscaling purposes, the following rules apply: - You can only use the AND operator for joining selectors. - You can only use direct equality comparison operator (=) without any functions for each selector. - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a *per-group metric* for the purpose of autoscaling. If not specified, the type defaults to gce_instance. Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value.", +"type": "string" +}, +"metric": { +"description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. The metric must have a value type of INT64 or DOUBLE.", +"type": "string" +}, +"singleInstanceAssignment": { +"description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", +"format": "double", +"type": "number" +}, +"utilizationTarget": { +"description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", +"format": "double", +"type": "number" +}, +"utilizationTargetType": { +"description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.", +"enum": [ +"DELTA_PER_MINUTE", +"DELTA_PER_SECOND", +"GAUGE" +], +"enumDescriptions": [ +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.", +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.", +"Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingPolicyLoadBalancingUtilization": { +"description": "Configuration parameters of autoscaling based on load balancing.", +"id": "AutoscalingPolicyLoadBalancingUtilization", +"properties": { +"utilizationTarget": { +"description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyScaleDownControl": { +"description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", +"id": "AutoscalingPolicyScaleDownControl", +"properties": { +"maxScaledDownReplicas": { +"$ref": "FixedOrPercent", +"description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." +}, +"timeWindowSec": { +"description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingPolicyScaleInControl": { +"description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", +"id": "AutoscalingPolicyScaleInControl", +"properties": { +"maxScaledInReplicas": { +"$ref": "FixedOrPercent", +"description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." +}, +"timeWindowSec": { +"description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingPolicyScalingSchedule": { +"description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", +"id": "AutoscalingPolicyScalingSchedule", +"properties": { +"description": { +"description": "A description of a scaling schedule.", +"type": "string" +}, +"disabled": { +"description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default.", +"type": "boolean" +}, +"durationSec": { +"description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required.", +"format": "int32", +"type": "integer" +}, +"minRequiredReplicas": { +"description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required.", +"format": "int32", +"type": "integer" +}, +"schedule": { +"description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving.", +"type": "string" +}, +"timeZone": { +"description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty.", +"type": "string" +} +}, +"type": "object" +}, +"Backend": { +"description": "Message containing information of one individual backend.", +"id": "Backend", +"properties": { +"balancingMode": { +"description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", +"enum": [ +"CONNECTION", +"CUSTOM_METRICS", +"RATE", +"UTILIZATION" +], +"enumDescriptions": [ +"Balance based on the number of simultaneous connections.", +"Based on custom defined and reported metrics.", +"Balance based on requests per second (RPS).", +"Balance based on the backend utilization." +], +"type": "string" +}, +"capacityScaler": { +"description": "A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.", +"format": "float", +"type": "number" +}, +"customMetrics": { +"description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", +"items": { +"$ref": "BackendCustomMetric" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failover": { +"description": "This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.", +"type": "boolean" +}, +"group": { +"description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", +"type": "string" +}, +"maxConnections": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerEndpoint": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerInstance": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxRate": { +"description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "int32", +"type": "integer" +}, +"maxRatePerEndpoint": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxRatePerInstance": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxUtilization": { +"description": "Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", +"format": "float", +"type": "number" +}, +"preference": { +"description": "This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default ", +"enum": [ +"DEFAULT", +"PREFERENCE_UNSPECIFIED", +"PREFERRED" +], +"enumDescriptions": [ +"No preference.", +"If preference is unspecified, we set it to the DEFAULT value", +"Traffic will be sent to this backend first." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendBucket": { +"description": "Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", +"id": "BackendBucket", +"properties": { +"bucketName": { +"description": "Cloud Storage bucket name.", +"type": "string" +}, +"cdnPolicy": { +"$ref": "BackendBucketCdnPolicy", +"description": "Cloud CDN configuration for this BackendBucket." +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customResponseHeaders": { +"description": "Headers that the Application Load Balancer should add to proxied responses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend bucket.", +"type": "string" +}, +"enableCdn": { +"description": "If true, enable Cloud CDN for this BackendBucket.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#backendBucket", +"description": "Type of the resource.", +"type": "string" +}, +"loadBalancingScheme": { +"description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", +"enum": [ +"INTERNAL_MANAGED" +], +"enumDescriptions": [ +"Signifies that this will be used for internal Application Load Balancers." +], +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"usedBy": { +"description": "[Output Only] List of resources referencing that backend bucket.", +"items": { +"$ref": "BackendBucketUsedBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend bucket.", +"id": "BackendBucketCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendBucketCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "BackendBucketCdnPolicyCacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendBucketCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendBucketCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyCacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "BackendBucketCdnPolicyCacheKeyPolicy", +"properties": { +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. Default parameters are always included. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendBucketCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendBucketList": { +"description": "Contains a list of BackendBucket resources.", +"id": "BackendBucketList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendBucket resources.", +"items": { +"$ref": "BackendBucket" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendBucketList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendBucketUsedBy": { +"id": "BackendBucketUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.", +"type": "string" +} +}, +"type": "object" +}, +"BackendCustomMetric": { +"description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", +"id": "BackendCustomMetric", +"properties": { +"dryRun": { +"description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", +"type": "boolean" +}, +"maxUtilization": { +"description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", +"format": "float", +"type": "number" +}, +"name": { +"description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"BackendService": { +"description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/beta/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/regionBackendServices) For more information, see Backend Services.", +"id": "BackendService", +"properties": { +"affinityCookieTtlSec": { +"description": "Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"backends": { +"description": "The list of backends that serve this BackendService.", +"items": { +"$ref": "Backend" +}, +"type": "array" +}, +"cdnPolicy": { +"$ref": "BackendServiceCdnPolicy", +"description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." +}, +"circuitBreakers": { +"$ref": "CircuitBreakers" +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"connectionDraining": { +"$ref": "ConnectionDraining" +}, +"connectionTrackingPolicy": { +"$ref": "BackendServiceConnectionTrackingPolicy", +"description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers." +}, +"consistentHash": { +"$ref": "ConsistentHashLoadBalancerSettings", +"description": "Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. " +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customMetrics": { +"description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", +"items": { +"$ref": "BackendServiceCustomMetric" +}, +"type": "array" +}, +"customRequestHeaders": { +"description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"customResponseHeaders": { +"description": "Headers that the load balancer adds to proxied responses. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend service.", +"type": "string" +}, +"enableCDN": { +"description": "If true, enables Cloud CDN for the backend service of a global external Application Load Balancer.", +"type": "boolean" +}, +"externalManagedMigrationState": { +"description": "Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", +"enum": [ +"PREPARE", +"TEST_ALL_TRAFFIC", +"TEST_BY_PERCENTAGE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"externalManagedMigrationTestingPercentage": { +"description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", +"format": "float", +"type": "number" +}, +"failoverPolicy": { +"$ref": "BackendServiceFailoverPolicy", +"description": "Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)." +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a BackendService.", +"format": "byte", +"type": "string" +}, +"healthChecks": { +"description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check.", +"items": { +"type": "string" +}, +"type": "array" +}, +"iap": { +"$ref": "BackendServiceIAP", +"description": "The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipAddressSelectionPolicy": { +"description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", +"enum": [ +"IPV4_ONLY", +"IPV6_ONLY", +"IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", +"PREFER_IPV6" +], +"enumDescriptions": [ +"Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", +"Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", +"Unspecified IP address selection policy.", +"Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." +], +"type": "string" +}, +"kind": { +"default": "compute#backendService", +"description": "[Output Only] Type of resource. Always compute#backendService for backend services.", +"type": "string" +}, +"loadBalancingScheme": { +"description": "Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID_LOAD_BALANCING_SCHEME" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", +"Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", +"Signifies that this will be used for internal passthrough Network Load Balancers.", +"Signifies that this will be used for internal Application Load Balancers.", +"Signifies that this will be used by Traffic Director.", +"" +], +"type": "string" +}, +"localityLbPolicies": { +"description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", +"items": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" +}, +"type": "array" +}, +"localityLbPolicy": { +"description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured\u2014that is, if session affinity remains at the default value of NONE\u2014then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV", +"WEIGHTED_ROUND_ROBIN" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", +"Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." +], +"type": "string" +}, +"logConfig": { +"$ref": "BackendServiceLogConfig", +"description": "This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH", +"type": "object" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", +"type": "string" +}, +"outlierDetection": { +"$ref": "OutlierDetection", +"description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"port": { +"deprecated": true, +"description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.", +"type": "string" +}, +"protocol": { +"description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", +"enum": [ +"GRPC", +"H2C", +"HTTP", +"HTTP2", +"HTTPS", +"SSL", +"TCP", +"UDP", +"UNSPECIFIED" +], +"enumDescriptions": [ +"gRPC (available for Traffic Director).", +"HTTP2 over cleartext", +"", +"HTTP/2 with SSL.", +"", +"TCP proxying with SSL.", +"TCP proxying or TCP pass-through.", +"UDP.", +"If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3/L4 Forwarding Rules." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this backend service.", +"type": "string" +}, +"securitySettings": { +"$ref": "SecuritySettings", +"description": "This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serviceBindings": { +"description": "URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceLbPolicy": { +"description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", +"type": "string" +}, +"sessionAffinity": { +"description": "Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +}, +"strongSessionAffinityCookie": { +"$ref": "BackendServiceHttpCookie", +"description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." +}, +"subsetting": { +"$ref": "Subsetting" +}, +"timeoutSec": { +"description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.", +"format": "int32", +"type": "integer" +}, +"tlsSettings": { +"$ref": "BackendServiceTlsSettings", +"description": "Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2." +}, +"usedBy": { +"description": "[Output Only] List of resources referencing given backend service.", +"items": { +"$ref": "BackendServiceUsedBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceAggregatedList": { +"description": "Contains a list of BackendServicesScopedList.", +"id": "BackendServiceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "BackendServicesScopedList", +"description": "Name of the scope containing this set of BackendServices." +}, +"description": "A list of BackendServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#backendServiceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend service.", +"id": "BackendServiceCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendServiceCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "CacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendServiceCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendServiceCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendServiceCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendServiceConnectionTrackingPolicy": { +"description": "Connection Tracking configuration for this BackendService.", +"id": "BackendServiceConnectionTrackingPolicy", +"properties": { +"connectionPersistenceOnUnhealthyBackends": { +"description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).", +"enum": [ +"ALWAYS_PERSIST", +"DEFAULT_FOR_PROTOCOL", +"NEVER_PERSIST" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"enableStrongAffinity": { +"description": "Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly.", +"type": "boolean" +}, +"idleTimeoutSec": { +"description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly.", +"format": "int32", +"type": "integer" +}, +"trackingMode": { +"description": "Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).", +"enum": [ +"INVALID_TRACKING_MODE", +"PER_CONNECTION", +"PER_SESSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceCustomMetric": { +"description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", +"id": "BackendServiceCustomMetric", +"properties": { +"dryRun": { +"description": "If true, the metric data is not used for load balancing.", +"type": "boolean" +}, +"name": { +"description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceFailoverPolicy": { +"description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", +"id": "BackendServiceFailoverPolicy", +"properties": { +"disableConnectionDrainOnFailover": { +"description": "This can be set to true only if the protocol is TCP. The default is false.", +"type": "boolean" +}, +"dropTrafficIfUnhealthy": { +"description": "If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.", +"type": "boolean" +}, +"failoverRatio": { +"description": "The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceGroupHealth": { +"id": "BackendServiceGroupHealth", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"healthStatus": { +"description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceGroupHealth", +"description": "[Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceHttpCookie": { +"description": "The HTTP cookie used for stateful session affinity.", +"id": "BackendServiceHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"BackendServiceIAP": { +"description": "Identity-Aware Proxy", +"id": "BackendServiceIAP", +"properties": { +"enabled": { +"description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.", +"type": "boolean" +}, +"oauth2ClientId": { +"description": "OAuth2 client ID to use for the authentication flow.", +"type": "string" +}, +"oauth2ClientSecret": { +"description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly", +"type": "string" +}, +"oauth2ClientSecretSha256": { +"description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceList": { +"description": "Contains a list of BackendService resources.", +"id": "BackendServiceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceList", +"description": "[Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceListUsable": { +"description": "Contains a list of usable BackendService resources.", +"id": "BackendServiceListUsable", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableBackendServiceList", +"description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfig": { +"description": "Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfig", +"properties": { +"customPolicy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy" +}, +"policy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy": { +"description": "The configuration for a custom policy implemented by the user and deployed with the client.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy", +"properties": { +"data": { +"description": "An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.", +"type": "string" +}, +"name": { +"description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigPolicy": { +"description": "The configuration for a built-in load balancing policy.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", +"properties": { +"name": { +"description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV", +"WEIGHTED_ROUND_ROBIN" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", +"Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLogConfig": { +"description": "The available logging options for the load balancer traffic served by this backend service.", +"id": "BackendServiceLogConfig", +"properties": { +"enable": { +"description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", +"type": "boolean" +}, +"optionalFields": { +"description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", +"items": { +"type": "string" +}, +"type": "array" +}, +"optionalMode": { +"description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", +"enum": [ +"CUSTOM", +"EXCLUDE_ALL_OPTIONAL", +"INCLUDE_ALL_OPTIONAL" +], +"enumDescriptions": [ +"A subset of optional fields.", +"None optional fields.", +"All optional fields." +], +"type": "string" +}, +"sampleRate": { +"description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceReference": { +"id": "BackendServiceReference", +"properties": { +"backendService": { +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceTlsSettings": { +"id": "BackendServiceTlsSettings", +"properties": { +"authenticationConfig": { +"description": "Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.", +"type": "string" +}, +"sni": { +"description": "Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", +"type": "string" +}, +"subjectAltNames": { +"description": "A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", +"items": { +"$ref": "BackendServiceTlsSettingsSubjectAltName" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceTlsSettingsSubjectAltName": { +"description": "A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6", +"id": "BackendServiceTlsSettingsSubjectAltName", +"properties": { +"dnsName": { +"description": "The SAN specified as a DNS Name.", +"type": "string" +}, +"uniformResourceIdentifier": { +"description": "The SAN specified as a URI.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceUsedBy": { +"id": "BackendServiceUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServicesGetEffectiveSecurityPoliciesResponse": { +"id": "BackendServicesGetEffectiveSecurityPoliciesResponse", +"properties": { +"securityPolicies": { +"description": "Effective security policies for the backend service.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServicesScopedList": { +"id": "BackendServicesScopedList", +"properties": { +"backendServices": { +"description": "A list of BackendServices contained in this scope.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BfdPacket": { +"id": "BfdPacket", +"properties": { +"authenticationPresent": { +"description": "The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"controlPlaneIndependent": { +"description": "The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"demand": { +"description": "The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"diagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"final": { +"description": "The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"length": { +"description": "The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minEchoRxIntervalMs": { +"description": "The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minRxIntervalMs": { +"description": "The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minTxIntervalMs": { +"description": "The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multiplier": { +"description": "The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multipoint": { +"description": "The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"myDiscriminator": { +"description": "The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"poll": { +"description": "The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"state": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"version": { +"description": "The version number of the BFD protocol, as specified in section 4.1 of RFC5880.", +"format": "uint32", +"type": "integer" +}, +"yourDiscriminator": { +"description": "The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"BfdStatus": { +"description": "Next free: 15", +"id": "BfdStatus", +"properties": { +"bfdSessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"configUpdateTimestampMicros": { +"description": "Unix timestamp of the most recent config update.", +"format": "int64", +"type": "string" +}, +"controlPacketCounts": { +"$ref": "BfdStatusPacketCounts", +"description": "Control packet counts for the current BFD session." +}, +"controlPacketIntervals": { +"description": "Inter-packet time interval statistics for control packets.", +"items": { +"$ref": "PacketIntervals" +}, +"type": "array" +}, +"localDiagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"localState": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"negotiatedLocalControlTxIntervalMs": { +"description": "Negotiated transmit interval for control packets.", +"format": "uint32", +"type": "integer" +}, +"rxPacket": { +"$ref": "BfdPacket", +"description": "The most recent Rx control packet for this BFD session." +}, +"txPacket": { +"$ref": "BfdPacket", +"description": "The most recent Tx control packet for this BFD session." +}, +"uptimeMs": { +"description": "Session uptime in milliseconds. Value will be 0 if session is not up.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"BfdStatusPacketCounts": { +"id": "BfdStatusPacketCounts", +"properties": { +"numRx": { +"description": "Number of packets received since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxRejected": { +"description": "Number of packets received that were rejected because of errors since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxSuccessful": { +"description": "Number of packets received that were successfully processed since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numTx": { +"description": "Number of packets transmitted since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"BgpRoute": { +"id": "BgpRoute", +"properties": { +"asPaths": { +"description": "[Output only] AS-PATH for the route", +"items": { +"$ref": "BgpRouteAsPath" +}, +"type": "array" +}, +"communities": { +"description": "[Output only] BGP communities in human-readable A:B format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destination": { +"$ref": "BgpRouteNetworkLayerReachabilityInformation", +"description": "[Output only] Destination IP range for the route, in human-readable CIDR format" +}, +"med": { +"description": "[Output only] BGP multi-exit discriminator", +"format": "uint32", +"type": "integer" +}, +"origin": { +"description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", +"enum": [ +"BGP_ORIGIN_EGP", +"BGP_ORIGIN_IGP", +"BGP_ORIGIN_INCOMPLETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BgpRouteAsPath": { +"id": "BgpRouteAsPath", +"properties": { +"asns": { +"description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"type": { +"description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", +"enum": [ +"AS_PATH_TYPE_SEQUENCE", +"AS_PATH_TYPE_SET" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BgpRouteNetworkLayerReachabilityInformation": { +"description": "Network Layer Reachability Information (NLRI) for a route.", +"id": "BgpRouteNetworkLayerReachabilityInformation", +"properties": { +"pathId": { +"description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", +"format": "uint32", +"type": "integer" +}, +"prefix": { +"description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BulkInsertDiskResource": { +"description": "A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.", +"id": "BulkInsertDiskResource", +"properties": { +"sourceConsistencyGroupPolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResource": { +"description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", +"id": "BulkInsertInstanceResource", +"properties": { +"count": { +"description": "The maximum number of instances to create.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." +}, +"locationPolicy": { +"$ref": "LocationPolicy", +"description": "Policy for choosing target zone. For more information, see Create VMs in bulk." +}, +"minCount": { +"description": "The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.", +"format": "int64", +"type": "string" +}, +"namePattern": { +"description": "The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters.", +"type": "string" +}, +"perInstanceProperties": { +"additionalProperties": { +"$ref": "BulkInsertInstanceResourcePerInstanceProperties" +}, +"description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used.", +"type": "object" +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional.", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResourcePerInstanceProperties": { +"description": "Per-instance properties to be set on individual instances. To be extended in the future.", +"id": "BulkInsertInstanceResourcePerInstanceProperties", +"properties": { +"hostname": { +"description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention", +"type": "string" +}, +"name": { +"description": "This field is only temporary. It will be removed. Do not use it.", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertOperationStatus": { +"id": "BulkInsertOperationStatus", +"properties": { +"createdVmCount": { +"description": "[Output Only] Count of VMs successfully created so far.", +"format": "int32", +"type": "integer" +}, +"deletedVmCount": { +"description": "[Output Only] Count of VMs that got deleted during rollback.", +"format": "int32", +"type": "integer" +}, +"failedToCreateVmCount": { +"description": "[Output Only] Count of VMs that started creating but encountered an error.", +"format": "int32", +"type": "integer" +}, +"status": { +"description": "[Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.", +"enum": [ +"CREATING", +"DONE", +"ROLLING_BACK", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"Rolling forward - creating VMs.", +"Done", +"Rolling back - cleaning up after an error.", +"" +], +"type": "string" +}, +"targetVmCount": { +"description": "[Output Only] Count of VMs originally planned to be created.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BundledLocalSsds": { +"id": "BundledLocalSsds", +"properties": { +"defaultInterface": { +"description": "The default disk interface if the interface is not specified.", +"type": "string" +}, +"partitionCount": { +"description": "The number of partitions.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CacheInvalidationRule": { +"id": "CacheInvalidationRule", +"properties": { +"host": { +"description": "If set, this invalidation rule will only apply to requests with a Host header matching host.", +"type": "string" +}, +"path": { +"type": "string" +} +}, +"type": "object" +}, +"CacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "CacheKeyPolicy", +"properties": { +"includeHost": { +"description": "If true, requests to different hosts will be cached separately.", +"type": "boolean" +}, +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeNamedCookies": { +"description": "Allows HTTP cookies (by name) to be used in the cache key. The name=value pair will be used in the cache key Cloud CDN generates.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeProtocol": { +"description": "If true, http and https requests will be cached separately.", +"type": "boolean" +}, +"includeQueryString": { +"description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely.", +"type": "boolean" +}, +"queryStringBlacklist": { +"description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CircuitBreakers": { +"description": "Settings controlling the volume of requests, connections and retries to this backend service.", +"id": "CircuitBreakers", +"properties": { +"connectTimeout": { +"$ref": "Duration", +"description": "The timeout for new network connections to hosts." +}, +"maxConnections": { +"description": "The maximum number of connections to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxPendingRequests": { +"description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRequests": { +"description": "The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.", +"format": "int32", +"type": "integer" +}, +"maxRequestsPerConnection": { +"description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRetries": { +"description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Commitment": { +"description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", +"id": "Commitment", +"properties": { +"autoRenew": { +"description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", +"type": "boolean" +}, +"category": { +"description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"LICENSE", +"MACHINE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customEndTimestamp": { +"description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"endTimestamp": { +"description": "[Output Only] Commitment end time in RFC3339 text format.", +"type": "string" +}, +"existingReservations": { +"description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#commitment", +"description": "[Output Only] Type of the resource. Always compute#commitment for commitments.", +"type": "string" +}, +"licenseResource": { +"$ref": "LicenseResourceCommitment", +"description": "The license specification required as part of a license commitment." +}, +"mergeSourceCommitments": { +"description": "List of source commitments to be merged into a new commitment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"plan": { +"description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", +"enum": [ +"INVALID", +"THIRTY_SIX_MONTH", +"TWELVE_MONTH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where this commitment may be used.", +"type": "string" +}, +"reservations": { +"description": "List of create-on-create reservations for this commitment.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "CommitmentResourceStatus", +"description": "[Output Only] Status information for Commitment resource." +}, +"resources": { +"description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", +"items": { +"$ref": "ResourceCommitment" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"splitSourceCommitment": { +"description": "Source commitment to be split into a new commitment.", +"type": "string" +}, +"startTimestamp": { +"description": "[Output Only] Commitment start time in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", +"enum": [ +"ACTIVE", +"CANCELLED", +"CREATING", +"EXPIRED", +"NOT_YET_ACTIVE" +], +"enumDescriptions": [ +"", +"Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.", +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"type": { +"description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", +"enum": [ +"ACCELERATOR_OPTIMIZED", +"ACCELERATOR_OPTIMIZED_A3", +"ACCELERATOR_OPTIMIZED_A3_MEGA", +"COMPUTE_OPTIMIZED", +"COMPUTE_OPTIMIZED_C2D", +"COMPUTE_OPTIMIZED_C3", +"COMPUTE_OPTIMIZED_C3D", +"COMPUTE_OPTIMIZED_H3", +"GENERAL_PURPOSE", +"GENERAL_PURPOSE_C4", +"GENERAL_PURPOSE_C4A", +"GENERAL_PURPOSE_E2", +"GENERAL_PURPOSE_N2", +"GENERAL_PURPOSE_N2D", +"GENERAL_PURPOSE_N4", +"GENERAL_PURPOSE_T2D", +"GRAPHICS_OPTIMIZED", +"MEMORY_OPTIMIZED", +"MEMORY_OPTIMIZED_M3", +"MEMORY_OPTIMIZED_X4_16TB", +"MEMORY_OPTIMIZED_X4_24TB", +"MEMORY_OPTIMIZED_X4_32TB", +"STORAGE_OPTIMIZED_Z3", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"CommitmentAggregatedList": { +"id": "CommitmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "CommitmentsScopedList", +"description": "[Output Only] Name of the scope containing this set of commitments." +}, +"description": "A list of CommitmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#commitmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"CommitmentList": { +"description": "Contains a list of Commitment resources.", +"id": "CommitmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Commitment resources.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"kind": { +"default": "compute#commitmentList", +"description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"CommitmentResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "CommitmentResourceStatus", +"properties": { +"customTermEligibilityEndTimestamp": { +"description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", +"type": "string" +} +}, +"type": "object" +}, +"CommitmentsScopedList": { +"id": "CommitmentsScopedList", +"properties": { +"commitments": { +"description": "[Output Only] A list of commitments contained in this scope.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", +"properties": { +"confidentialInstanceType": { +"description": "Defines the type of technology used by the confidential instance.", +"enum": [ +"CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", +"SEV", +"SEV_SNP", +"TDX" +], +"enumDescriptions": [ +"No type specified. Do not use this value.", +"AMD Secure Encrypted Virtualization.", +"AMD Secure Encrypted Virtualization - Secure Nested Paging.", +"Intel Trust Domain eXtension." +], +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConnectionDraining": { +"description": "Message containing connection draining configuration.", +"id": "ConnectionDraining", +"properties": { +"drainingTimeoutSec": { +"description": "Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettings": { +"description": "This message defines settings for a consistent hash style load balancer.", +"id": "ConsistentHashLoadBalancerSettings", +"properties": { +"httpCookie": { +"$ref": "ConsistentHashLoadBalancerSettingsHttpCookie", +"description": "Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"httpHeaderName": { +"description": "The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD.", +"type": "string" +}, +"minimumRingSize": { +"description": "The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettingsHttpCookie": { +"description": "The information about the HTTP Cookie on which the hash function is based for load balancing policies that use a consistent hash.", +"id": "ConsistentHashLoadBalancerSettingsHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"CorsPolicy": { +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard.", +"id": "CorsPolicy", +"properties": { +"allowCredentials": { +"description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false.", +"type": "boolean" +}, +"allowHeaders": { +"description": "Specifies the content for the Access-Control-Allow-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowMethods": { +"description": "Specifies the content for the Access-Control-Allow-Methods header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOriginRegexes": { +"description": "Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOrigins": { +"description": "Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disabled": { +"description": "If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect.", +"type": "boolean" +}, +"exposeHeaders": { +"description": "Specifies the content for the Access-Control-Expose-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"maxAge": { +"description": "Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CustomErrorResponsePolicy": { +"description": "Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.", +"id": "CustomErrorResponsePolicy", +"properties": { +"errorResponseRules": { +"description": "Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.", +"items": { +"$ref": "CustomErrorResponsePolicyCustomErrorResponseRule" +}, +"type": "array" +}, +"errorService": { +"description": "The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.", +"type": "string" +} +}, +"type": "object" +}, +"CustomErrorResponsePolicyCustomErrorResponseRule": { +"description": "Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.", +"id": "CustomErrorResponsePolicyCustomErrorResponseRule", +"properties": { +"matchResponseCodes": { +"description": "Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"overrideResponseCode": { +"description": "The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.", +"format": "int32", +"type": "integer" +}, +"path": { +"description": "The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKey": { +"id": "CustomerEncryptionKey", +"properties": { +"kmsKeyName": { +"description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 ", +"type": "string" +}, +"kmsKeyServiceAccount": { +"description": "The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: \"kmsKeyServiceAccount\": \"name@project_id.iam.gserviceaccount.com/ ", +"type": "string" +}, +"rawKey": { +"description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" ", +"type": "string" +}, +"rsaEncryptedKey": { +"description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem ", +"type": "string" +}, +"sha256": { +"description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKeyProtectedDisk": { +"id": "CustomerEncryptionKeyProtectedDisk", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with the disk with a customer-supplied encryption key." +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks. For example: \"source\": \"/compute/v1/projects/project_id/zones/zone/disks/ disk_name ", +"type": "string" +} +}, +"type": "object" +}, +"DeprecationStatus": { +"description": "Deprecation status for a public resource.", +"id": "DeprecationStatus", +"properties": { +"deleted": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"deprecated": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"obsolete": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"replacement": { +"description": "The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.", +"type": "string" +}, +"state": { +"description": "The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.", +"enum": [ +"ACTIVE", +"DELETED", +"DEPRECATED", +"OBSOLETE" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"stateOverride": { +"$ref": "RolloutPolicy", +"description": "The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." +} +}, +"type": "object" +}, +"Disk": { +"description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/beta/disks) * [Regional](/compute/docs/reference/rest/beta/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.", +"id": "Disk", +"properties": { +"accessMode": { +"description": "The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.", +"enum": [ +"READ_ONLY_MANY", +"READ_WRITE_MANY", +"READ_WRITE_SINGLE" +], +"enumDescriptions": [ +"The AccessMode means the disk can be attached to multiple instances in RO mode.", +"The AccessMode means the disk can be attached to multiple instances in RW mode.", +"The default AccessMode, means the disk can be attached to single instance in RW mode." +], +"type": "string" +}, +"architecture": { +"description": "The architecture of the disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"asyncPrimaryDisk": { +"$ref": "DiskAsyncReplication", +"description": "Disk asynchronously replicated into this disk." +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskAsyncReplicationList" +}, +"description": "[Output Only] A list of disks this disk is asynchronously replicated to.", +"type": "object" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: \"diskEncryptionKey.kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later." +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"eraseWindowsVssSignature": { +"description": "Specifies whether the disk restored from a source snapshot should erase Windows specific VSS signature.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interface": { +"deprecated": true, +"description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", +"enum": [ +"NVME", +"SCSI", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#disk", +"description": "[Output Only] Type of the resource. Always compute#disk for disks.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastAttachTimestamp": { +"description": "[Output Only] Last attach timestamp in RFC3339 text format.", +"type": "string" +}, +"lastDetachTimestamp": { +"description": "[Output Only] Last detach timestamp in RFC3339 text format.", +"type": "string" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this disk.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"locked": { +"description": "[Output Only] The field indicates if the disk is created from a locked source image. Attachment of a disk created from a locked source image will cause the following operations to become irreversibly prohibited: - R/W or R/O disk attachment to any other instance - Disk detachment. And the disk can only be deleted when the instance is deleted - Creation of images or snapshots - Disk cloning Furthermore, the instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Further attachment of secondary disks. - Detachment of any disks - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true for locked disks - Attach a locked disk with --auto-delete parameter set to false ", +"type": "boolean" +}, +"multiWriter": { +"description": "Indicates whether or not the disk can be read/write attached to more than one instance.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"options": { +"description": "Internal use only.", +"type": "string" +}, +"params": { +"$ref": "DiskParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"physicalBlockSizeBytes": { +"description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", +"format": "int64", +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1.", +"format": "int64", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"replicaZones": { +"description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "DiskResourceStatus", +"description": "[Output Only] Status information for the disk resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"sizeGb": { +"description": "Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0.", +"format": "int64", +"type": "string" +}, +"sourceConsistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceConsistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", +"type": "string" +}, +"sourceImage": { +"description": "The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshot": { +"description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.", +"type": "string" +}, +"sourceStorageObject": { +"description": "The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"type": "string" +}, +"storageType": { +"description": "[Deprecated] Storage type of the persistent disk.", +"enum": [ +"HDD", +"SSD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types.", +"type": "string" +}, +"userLicenses": { +"description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", +"items": { +"type": "string" +}, +"type": "array" +}, +"users": { +"description": "[Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAggregatedList": { +"id": "DiskAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DisksScopedList", +"description": "[Output Only] Name of the scope containing this set of disks." +}, +"description": "A list of DisksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskAggregatedList for aggregated lists of persistent disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskAsyncReplication": { +"id": "DiskAsyncReplication", +"properties": { +"consistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"consistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"disk": { +"description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +}, +"diskId": { +"description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAsyncReplicationList": { +"id": "DiskAsyncReplicationList", +"properties": { +"asyncReplicationDisk": { +"$ref": "DiskAsyncReplication" +} +}, +"type": "object" +}, +"DiskInstantiationConfig": { +"description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", +"id": "DiskInstantiationConfig", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"customImage": { +"description": "The custom source image to be used to restore this disk when instantiating this instance template.", +"type": "string" +}, +"deviceName": { +"description": "Specifies the device name of the disk to which the configurations apply to.", +"type": "string" +}, +"instantiateFrom": { +"description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", +"enum": [ +"ATTACH_READ_ONLY", +"BLANK", +"CUSTOM_IMAGE", +"DEFAULT", +"DO_NOT_INCLUDE", +"SOURCE_IMAGE", +"SOURCE_IMAGE_FAMILY" +], +"enumDescriptions": [ +"Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", +"Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", +"Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", +"Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", +"Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", +"Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskList": { +"description": "A list of Disk resources.", +"id": "DiskList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Disk resources.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskList", +"description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskMoveRequest": { +"id": "DiskMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the disk. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetDisk": { +"description": "The URL of the target disk to move. This can be a full or partial URL. For example, the following are all valid URLs to a disk: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DiskParams": { +"description": "Additional disk params.", +"id": "DiskParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"DiskResourceStatus": { +"id": "DiskResourceStatus", +"properties": { +"asyncPrimaryDisk": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"description": "Key: disk, value: AsyncReplicationStatus message", +"type": "object" +} +}, +"type": "object" +}, +"DiskResourceStatusAsyncReplicationStatus": { +"id": "DiskResourceStatusAsyncReplicationStatus", +"properties": { +"state": { +"enum": [ +"ACTIVE", +"CREATED", +"STARTING", +"STATE_UNSPECIFIED", +"STOPPED", +"STOPPING" +], +"enumDescriptions": [ +"Replication is active.", +"Secondary disk is created and is waiting for replication to start.", +"Replication is starting.", +"", +"Replication is stopped.", +"Replication is stopping." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskType": { +"description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/beta/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/beta/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", +"id": "DiskType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultDiskSizeGb": { +"description": "[Output Only] Server-defined default disk size in GB.", +"format": "int64", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this disk type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#diskType", +"description": "[Output Only] Type of the resource. Always compute#diskType for disk types.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk type resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"validDiskSize": { +"description": "[Output Only] An optional textual description of the valid disk size, such as \"10GB-10TB\".", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskTypeAggregatedList": { +"id": "DiskTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DiskTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of disk types." +}, +"description": "A list of DiskTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskTypeAggregatedList.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskTypeList": { +"description": "Contains a list of disk types.", +"id": "DiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskTypeList", +"description": "[Output Only] Type of resource. Always compute#diskTypeList for disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskTypesScopedList": { +"id": "DiskTypesScopedList", +"properties": { +"diskTypes": { +"description": "[Output Only] A list of disk types contained in this scope.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disk types when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DisksAddResourcePoliciesRequest": { +"id": "DisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Full or relative path to the resource policy to be added to this disk. You can only specify one resource policy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksRemoveResourcePoliciesRequest": { +"id": "DisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksResizeRequest": { +"id": "DisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DisksScopedList": { +"id": "DisksScopedList", +"properties": { +"disks": { +"description": "[Output Only] A list of disks contained in this scope.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disks when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DisksStartAsyncReplicationRequest": { +"id": "DisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DisksStopGroupAsyncReplicationResource": { +"description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", +"id": "DisksStopGroupAsyncReplicationResource", +"properties": { +"resourcePolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", +"properties": { +"enableDisplay": { +"description": "Defines whether the instance has Display enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"DistributionPolicy": { +"id": "DistributionPolicy", +"properties": { +"targetShape": { +"description": "The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED", +"EVEN" +], +"enumDescriptions": [ +"The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.", +"The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.", +"The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads." +], +"type": "string" +}, +"zones": { +"description": "Zones where the regional managed instance group will create and manage its instances.", +"items": { +"$ref": "DistributionPolicyZoneConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"DistributionPolicyZoneConfiguration": { +"id": "DistributionPolicyZoneConfiguration", +"properties": { +"zone": { +"annotations": { +"required": [ +"compute.regionInstanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.update" +] +}, +"description": "The URL of the zone. The zone must exist in the region where the managed instance group is located.", +"type": "string" +} +}, +"type": "object" +}, +"Duration": { +"description": "A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", +"id": "Duration", +"properties": { +"nanos": { +"description": "Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ErrorInfo": { +"description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", +"id": "ErrorInfo", +"properties": { +"domain": { +"description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", +"type": "string" +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", +"type": "object" +}, +"reason": { +"description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", +"type": "string" +} +}, +"type": "object" +}, +"ExchangedPeeringRoute": { +"id": "ExchangedPeeringRoute", +"properties": { +"destRange": { +"description": "The destination range of the route.", +"type": "string" +}, +"imported": { +"description": "True if the peering route has been imported from a peer. The actual import happens if the field networkPeering.importCustomRoutes is true for this network, and networkPeering.exportCustomRoutes is true for the peer network, and the import does not result in a route conflict.", +"type": "boolean" +}, +"nextHopRegion": { +"description": "The region of peering route next hop, only applies to dynamic routes.", +"type": "string" +}, +"priority": { +"description": "The priority of the peering route.", +"format": "uint32", +"type": "integer" +}, +"type": { +"description": "The type of the peering route.", +"enum": [ +"DYNAMIC_PEERING_ROUTE", +"STATIC_PEERING_ROUTE", +"SUBNET_PEERING_ROUTE" +], +"enumDescriptions": [ +"For routes exported from local network.", +"The peering route.", +"The peering route corresponding to subnetwork range." +], +"type": "string" +} +}, +"type": "object" +}, +"ExchangedPeeringRoutesList": { +"id": "ExchangedPeeringRoutesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExchangedPeeringRoute resources.", +"items": { +"$ref": "ExchangedPeeringRoute" +}, +"type": "array" +}, +"kind": { +"default": "compute#exchangedPeeringRoutesList", +"description": "[Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for exchanged peering routes lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"ExternalVpnGateway": { +"description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", +"id": "ExternalVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", +"items": { +"$ref": "ExternalVpnGatewayInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGateway", +"description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.externalVpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"redundancyType": { +"description": "Indicates the user-supplied redundancy type of this external VPN gateway.", +"enum": [ +"FOUR_IPS_REDUNDANCY", +"SINGLE_IP_INTERNALLY_REDUNDANT", +"TWO_IPS_REDUNDANCY" +], +"enumDescriptions": [ +"The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", +"The external VPN gateway has only one public IP address which internally provide redundancy or failover.", +"The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayInterface": { +"description": "The interface for the external VPN gateway.", +"id": "ExternalVpnGatewayInterface", +"properties": { +"id": { +"description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", +"format": "uint32", +"type": "integer" +}, +"ipAddress": { +"description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", +"type": "string" +}, +"ipv6Address": { +"description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayList": { +"description": "Response to the list request, and contains a list of externalVpnGateways.", +"id": "ExternalVpnGatewayList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExternalVpnGateway resources.", +"items": { +"$ref": "ExternalVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FileContentBuffer": { +"id": "FileContentBuffer", +"properties": { +"content": { +"description": "The raw content in the secure keys file.", +"format": "byte", +"type": "string" +}, +"fileType": { +"description": "The file type of source file.", +"enum": [ +"BIN", +"UNDEFINED", +"X509" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Firewall": { +"description": "Represents a Firewall Rule resource. Firewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", +"id": "Firewall", +"properties": { +"allowed": { +"description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"denied": { +"description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destinationRanges": { +"description": "If destination ranges are specified, the firewall rule applies only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Indicates that firewall should apply to outgoing traffic.", +"Indicates that firewall should apply to incoming traffic." +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall rule is disabled. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.", +"type": "boolean" +}, +"enableLogging": { +"deprecated": true, +"description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewall", +"description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.", +"type": "string" +}, +"logConfig": { +"$ref": "FirewallLogConfig", +"description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." +}, +"name": { +"annotations": { +"required": [ +"compute.firewalls.insert", +"compute.firewalls.patch" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default ", +"type": "string" +}, +"priority": { +"description": "Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sourceRanges": { +"description": "If source ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both fields are set, the rule applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the rule to apply. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceServiceAccounts": { +"description": "If source service accounts are specified, the firewall rules apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall applies to traffic that has a source IP address within the sourceRanges OR a source IP that belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both fields for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceTags": { +"description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetTags": { +"description": "A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallList": { +"description": "Contains a list of firewalls.", +"id": "FirewallList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Firewall resources.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallList", +"description": "[Output Only] Type of resource. Always compute#firewallList for lists of firewalls.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallLogConfig": { +"description": "The available logging options for a firewall rule.", +"id": "FirewallLogConfig", +"properties": { +"enable": { +"description": "This field denotes whether to enable logging for a particular firewall rule.", +"type": "boolean" +}, +"metadata": { +"description": "This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.", +"enum": [ +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesListAssociationsResponse": { +"id": "FirewallPoliciesListAssociationsResponse", +"properties": { +"associations": { +"description": "A list of associations.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPoliciesListAssociationsResponse", +"description": "[Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesScopedList": { +"id": "FirewallPoliciesScopedList", +"properties": { +"firewallPolicies": { +"description": "A list of firewall policies contained in this scope.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of firewall policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallPolicy": { +"description": "Represents a Firewall Policy resource.", +"id": "FirewallPolicy", +"properties": { +"associations": { +"description": "A list of associations that belong to this firewall policy.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewallPolicy", +"description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", +"type": "string" +}, +"name": { +"description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "A list of packet mirroring rules that belong to this policy.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"parent": { +"description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shortName": { +"description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyAssociation": { +"id": "FirewallPolicyAssociation", +"properties": { +"attachmentTarget": { +"description": "The target that the firewall policy is attached to.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", +"type": "string" +}, +"firewallPolicyId": { +"description": "[Output Only] The firewall policy ID of the association.", +"type": "string" +}, +"name": { +"description": "The name for an association.", +"type": "string" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy of the association.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyList": { +"id": "FirewallPolicyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of FirewallPolicy resources.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPolicyList", +"description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "FirewallPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: \"allow\", \"deny\", \"apply_security_profile_group\" and \"goto_next\". Valid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\" and \"goto_next\".", +"type": "string" +}, +"description": { +"description": "An optional description for this resource.", +"type": "string" +}, +"direction": { +"description": "The direction in which this rule applies.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", +"type": "boolean" +}, +"enableLogging": { +"description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", +"type": "boolean" +}, +"kind": { +"default": "compute#firewallPolicyRule", +"description": "[Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.", +"type": "string" +}, +"match": { +"$ref": "FirewallPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"ruleName": { +"description": "An optional name for the rule. This field is not a unique identifier and can be updated.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", +"format": "int32", +"type": "integer" +}, +"securityProfileGroup": { +"description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.", +"type": "string" +}, +"targetResources": { +"description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSecureTags": { +"description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating the sets of instances that are applied with this rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tlsInspect": { +"description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.", +"type": "boolean" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "FirewallPolicyRuleMatcher", +"properties": { +"destAddressGroups": { +"description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destIpRanges": { +"description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destNetworkScope": { +"description": "Network scope of the traffic destination.", +"enum": [ +"INTERNET", +"INTRA_VPC", +"NON_INTERNET", +"UNSPECIFIED", +"VPC_NETWORKS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"destRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.", +"items": { +"type": "string" +}, +"type": "array" +}, +"layer4Configs": { +"description": "Pairs of IP protocols and ports that the rule should match.", +"items": { +"$ref": "FirewallPolicyRuleMatcherLayer4Config" +}, +"type": "array" +}, +"srcAddressGroups": { +"description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcNetworkScope": { +"description": "Network scope of the traffic source.", +"enum": [ +"INTERNET", +"INTRA_VPC", +"NON_INTERNET", +"UNSPECIFIED", +"VPC_NETWORKS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"srcNetworks": { +"description": "Networks of the traffic source. It can be either a full or partial url.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcSecureTags": { +"description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"srcThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcherLayer4Config": { +"id": "FirewallPolicyRuleMatcherLayer4Config", +"properties": { +"ipProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleSecureTag": { +"id": "FirewallPolicyRuleSecureTag", +"properties": { +"name": { +"description": "Name of the secure tag, created with TagManager's TagValue API.", +"pattern": "tagValues/[0-9]+", +"type": "string" +}, +"state": { +"description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", +"enum": [ +"EFFECTIVE", +"INEFFECTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FixedOrPercent": { +"description": "Encapsulates numeric value that can be either absolute or relative.", +"id": "FixedOrPercent", +"properties": { +"calculated": { +"description": "[Output Only] Absolute value of VM instances calculated based on the specific mode. - If the value is fixed, then the calculated value is equal to the fixed value. - If the value is a percent, then the calculated value is percent/100 * targetSize. For example, the calculated value of a 80% of a managed instance group with 150 instances would be (80/100 * 150) = 120 VM instances. If there is a remainder, the number is rounded. ", +"format": "int32", +"type": "integer" +}, +"fixed": { +"description": "Specifies a fixed number of VM instances. This must be a positive integer.", +"format": "int32", +"type": "integer" +}, +"percent": { +"description": "Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ForwardingRule": { +"description": "Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/beta/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding.", +"id": "ForwardingRule", +"properties": { +"IPAddress": { +"description": "IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number.", +"type": "string" +}, +"IPProtocol": { +"description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).", +"enum": [ +"AH", +"ESP", +"ICMP", +"L3_DEFAULT", +"SCTP", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"allPorts": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. ", +"type": "boolean" +}, +"allowGlobalAccess": { +"description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", +"type": "boolean" +}, +"allowPscGlobalAccess": { +"description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", +"type": "boolean" +}, +"allowPscPacketInjection": { +"description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", +"type": "boolean" +}, +"backendService": { +"description": "Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types.", +"type": "string" +}, +"baseForwardingRule": { +"description": "[Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"externalManagedBackendBucketMigrationState": { +"description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", +"enum": [ +"PREPARE", +"TEST_ALL_TRAFFIC", +"TEST_BY_PERCENTAGE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"externalManagedBackendBucketMigrationTestingPercentage": { +"description": "Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", +"format": "float", +"type": "number" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipCollection": { +"description": "Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. Use one of the following formats to specify a sub-PDP when creating an IPv6 NetLB forwarding rule using BYOIP: Full resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region /publicDelegatedPrefixes/sub-pdp-name Partial URL, as in: - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", +"type": "string" +}, +"ipVersion": { +"description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"isMirroringCollector": { +"description": "Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL.", +"type": "boolean" +}, +"kind": { +"default": "compute#forwardingRule", +"description": "[Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"loadBalancingScheme": { +"description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"noAutomateDnsZone": { +"description": "This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable.", +"type": "boolean" +}, +"portRange": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)?", +"type": "string" +}, +"ports": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)?", +"items": { +"type": "string" +}, +"type": "array" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC forwarding rule.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serviceDirectoryRegistrations": { +"description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.", +"items": { +"$ref": "ForwardingRuleServiceDirectoryRegistration" +}, +"type": "array" +}, +"serviceLabel": { +"description": "An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"serviceName": { +"description": "[Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing.", +"type": "string" +}, +"sourceIpRanges": { +"description": "If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).", +"items": { +"type": "string" +}, +"type": "array" +}, +"subnetwork": { +"description": "This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6.", +"type": "string" +}, +"target": { +"description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleAggregatedList": { +"id": "ForwardingRuleAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ForwardingRulesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of ForwardingRulesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#forwardingRuleAggregatedList", +"description": "[Output Only] Type of resource. Always compute#forwardingRuleAggregatedList for lists of forwarding rules.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ForwardingRuleList": { +"description": "Contains a list of ForwardingRule resources.", +"id": "ForwardingRuleList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ForwardingRule resources.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"kind": { +"default": "compute#forwardingRuleList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ForwardingRuleReference": { +"id": "ForwardingRuleReference", +"properties": { +"forwardingRule": { +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleServiceDirectoryRegistration": { +"description": "Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule.", +"id": "ForwardingRuleServiceDirectoryRegistration", +"properties": { +"namespace": { +"description": "Service Directory namespace to register the forwarding rule under.", +"type": "string" +}, +"service": { +"description": "Service Directory service to register the forwarding rule under.", +"type": "string" +}, +"serviceDirectoryRegion": { +"description": "[Optional] Service Directory region to register this global forwarding rule under. Default to \"us-central1\". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region.", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRulesScopedList": { +"id": "ForwardingRulesScopedList", +"properties": { +"forwardingRules": { +"description": "A list of forwarding rules contained in this scope.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of forwarding rules when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FutureReservation": { +"id": "FutureReservation", +"properties": { +"autoCreatedReservationsDeleteTime": { +"description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", +"type": "string" +}, +"autoCreatedReservationsDuration": { +"$ref": "Duration", +"description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." +}, +"autoDeleteAutoCreatedReservations": { +"description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", +"type": "boolean" +}, +"commitmentInfo": { +"$ref": "FutureReservationCommitmentInfo", +"description": "If not present, then FR will not deliver a new commitment or update an existing commitment." +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", +"type": "string" +}, +"deploymentType": { +"description": "Type of the deployment requested as part of future reservation.", +"enum": [ +"DENSE", +"DEPLOYMENT_TYPE_UNSPECIFIED", +"FLEXIBLE" +], +"enumDescriptions": [ +"The reserved capacity is made up of densely deployed reservation blocks.", +"", +"The reserved capacity is made up of highly flexible, logical reservation blocks." +], +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the future reservation.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#futureReservation", +"description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namePrefix": { +"description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", +"type": "string" +}, +"planningStatus": { +"description": "Planning state before being submitted for evaluation", +"enum": [ +"DRAFT", +"PLANNING_STATUS_UNSPECIFIED", +"SUBMITTED" +], +"enumDescriptions": [ +"Future Reservation is being drafted.", +"", +"Future Reservation has been submitted for evaluation by GCP." +], +"type": "string" +}, +"reservationName": { +"description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", +"type": "string" +}, +"schedulingType": { +"description": "Maintenance information for this reservation", +"enum": [ +"GROUPED", +"GROUP_MAINTENANCE_TYPE_UNSPECIFIED", +"INDEPENDENT" +], +"enumDescriptions": [ +"Maintenance on all reserved instances in the reservation is synchronized.", +"Unknown maintenance type.", +"Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "List of Projects/Folders to share with." +}, +"specificReservationRequired": { +"description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation.", +"type": "boolean" +}, +"specificSkuProperties": { +"$ref": "FutureReservationSpecificSKUProperties", +"description": "Future Reservation configuration to indicate instance properties and total count." +}, +"status": { +"$ref": "FutureReservationStatus", +"description": "[Output only] Status of the Future Reservation" +}, +"timeWindow": { +"$ref": "FutureReservationTimeWindow", +"description": "Time window for this Future Reservation." +}, +"zone": { +"description": "[Output Only] URL of the Zone where this future reservation resides.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationCommitmentInfo": { +"id": "FutureReservationCommitmentInfo", +"properties": { +"commitmentName": { +"description": "name of the commitment where capacity is being delivered to.", +"type": "string" +}, +"commitmentPlan": { +"description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", +"enum": [ +"INVALID", +"THIRTY_SIX_MONTH", +"TWELVE_MONTH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"previousCommitmentTerms": { +"description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", +"enum": [ +"EXTEND", +"PREVIOUSCOMMITMENTTERM_UNSPECIFIED" +], +"enumDescriptions": [ +"All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", +"No changes to associated parents Committed Used Discount(s) terms." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationSpecificSKUProperties": { +"id": "FutureReservationSpecificSKUProperties", +"properties": { +"instanceProperties": { +"$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"description": "Properties of the SKU instances being reserved." +}, +"sourceInstanceTemplate": { +"description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", +"type": "string" +}, +"totalCount": { +"description": "Total number of instances for which capacity assurance is requested at a future time period.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatus": { +"description": "[Output only] Represents status related to the future reservation.", +"id": "FutureReservationStatus", +"properties": { +"amendmentStatus": { +"description": "[Output Only] The current status of the requested amendment.", +"enum": [ +"AMENDMENT_APPROVED", +"AMENDMENT_DECLINED", +"AMENDMENT_IN_REVIEW", +"AMENDMENT_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The requested amendment to the Future Resevation has been approved and applied by GCP.", +"The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", +"The requested amendment to the Future Reservation is currently being reviewd by GCP.", +"" +], +"type": "string" +}, +"autoCreatedReservations": { +"description": "Fully qualified urls of the automatically created reservations at start_time.", +"items": { +"type": "string" +}, +"type": "array" +}, +"existingMatchingUsageInfo": { +"$ref": "FutureReservationStatusExistingMatchingUsageInfo", +"description": "[Output Only] Represents the existing matching usage for the future reservation." +}, +"fulfilledCount": { +"description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", +"format": "int64", +"type": "string" +}, +"lastKnownGoodState": { +"$ref": "FutureReservationStatusLastKnownGoodState", +"description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." +}, +"lockTime": { +"description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", +"type": "string" +}, +"procurementStatus": { +"description": "Current state of this Future Reservation", +"enum": [ +"APPROVED", +"CANCELLED", +"COMMITTED", +"DECLINED", +"DRAFTING", +"FAILED", +"FAILED_PARTIALLY_FULFILLED", +"FULFILLED", +"PENDING_AMENDMENT_APPROVAL", +"PENDING_APPROVAL", +"PROCUREMENT_STATUS_UNSPECIFIED", +"PROCURING", +"PROVISIONING" +], +"enumDescriptions": [ +"Future reservation is approved by GCP.", +"Future reservation is cancelled by the customer.", +"Future reservation is committed by the customer.", +"Future reservation is rejected by GCP.", +"Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", +"Future reservation failed. No additional reservations were provided.", +"Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", +"Future reservation is fulfilled completely.", +"An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", +"Future reservation is pending approval by GCP.", +"", +"Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", +"Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." +], +"type": "string" +}, +"specificSkuProperties": { +"$ref": "FutureReservationStatusSpecificSKUProperties" +} +}, +"type": "object" +}, +"FutureReservationStatusExistingMatchingUsageInfo": { +"description": "[Output Only] Represents the existing matching usage for the future reservation.", +"id": "FutureReservationStatusExistingMatchingUsageInfo", +"properties": { +"count": { +"description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", +"format": "int64", +"type": "string" +}, +"timestamp": { +"description": "Timestamp when the matching usage was calculated", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatusLastKnownGoodState": { +"description": "The state that the future reservation will be reverted to should the amendment be declined.", +"id": "FutureReservationStatusLastKnownGoodState", +"properties": { +"description": { +"description": "[Output Only] The description of the FutureReservation before an amendment was requested.", +"type": "string" +}, +"existingMatchingUsageInfo": { +"$ref": "FutureReservationStatusExistingMatchingUsageInfo", +"description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." +}, +"futureReservationSpecs": { +"$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" +}, +"lockTime": { +"description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", +"type": "string" +}, +"namePrefix": { +"description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", +"type": "string" +}, +"procurementStatus": { +"description": "[Output Only] The status of the last known good state for the Future Reservation.", +"enum": [ +"APPROVED", +"CANCELLED", +"COMMITTED", +"DECLINED", +"DRAFTING", +"FAILED", +"FAILED_PARTIALLY_FULFILLED", +"FULFILLED", +"PENDING_AMENDMENT_APPROVAL", +"PENDING_APPROVAL", +"PROCUREMENT_STATUS_UNSPECIFIED", +"PROCURING", +"PROVISIONING" +], +"enumDescriptions": [ +"Future reservation is approved by GCP.", +"Future reservation is cancelled by the customer.", +"Future reservation is committed by the customer.", +"Future reservation is rejected by GCP.", +"Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", +"Future reservation failed. No additional reservations were provided.", +"Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", +"Future reservation is fulfilled completely.", +"An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", +"Future reservation is pending approval by GCP.", +"", +"Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", +"Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { +"description": "The properties of the last known good state for the Future Reservation.", +"id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", +"properties": { +"shareSettings": { +"$ref": "ShareSettings", +"description": "[Output Only] The previous share settings of the Future Reservation." +}, +"specificSkuProperties": { +"$ref": "FutureReservationSpecificSKUProperties", +"description": "[Output Only] The previous instance related properties of the Future Reservation." +}, +"timeWindow": { +"$ref": "FutureReservationTimeWindow", +"description": "[Output Only] The previous time window of the Future Reservation." +} +}, +"type": "object" +}, +"FutureReservationStatusSpecificSKUProperties": { +"description": "Properties to be set for the Future Reservation.", +"id": "FutureReservationStatusSpecificSKUProperties", +"properties": { +"sourceInstanceTemplateId": { +"description": "ID of the instance template used to populate the Future Reservation properties.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationTimeWindow": { +"id": "FutureReservationTimeWindow", +"properties": { +"duration": { +"$ref": "Duration" +}, +"endTime": { +"type": "string" +}, +"startTime": { +"description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationsAggregatedListResponse": { +"description": "Contains a list of future reservations.", +"id": "FutureReservationsAggregatedListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "FutureReservationsScopedList", +"description": "Name of the scope containing this set of future reservations." +}, +"description": "A list of Future reservation resources.", +"type": "object" +}, +"kind": { +"default": "compute#futureReservationsAggregatedListResponse", +"description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FutureReservationsListResponse": { +"id": "FutureReservationsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of future reservation resources.", +"items": { +"$ref": "FutureReservation" +}, +"type": "array" +}, +"kind": { +"default": "compute#futureReservationsListResponse", +"description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FutureReservationsScopedList": { +"id": "FutureReservationsScopedList", +"properties": { +"futureReservations": { +"description": "A list of future reservations contained in this scope.", +"items": { +"$ref": "FutureReservation" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of future reservations when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"GRPCHealthCheck": { +"id": "GRPCHealthCheck", +"properties": { +"grpcServiceName": { +"description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +} +}, +"type": "object" +}, +"GlobalAddressesMoveRequest": { +"id": "GlobalAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalOrganizationSetPolicyRequest": { +"id": "GlobalOrganizationSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"GlobalSetLabelsRequest": { +"id": "GlobalSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels, otherwise the request will fail with error 412 conditionNotMet. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A list of labels to apply for this resource. Each label must comply with the requirements for labels. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").", +"type": "object" +} +}, +"type": "object" +}, +"GlobalSetPolicyRequest": { +"id": "GlobalSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"GroupMaintenanceInfo": { +"description": "Maintenance Info for ReservationBlocks.", +"id": "GroupMaintenanceInfo", +"properties": { +"maintenanceOngoingCount": { +"description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenancePendingCount": { +"description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance.", +"format": "int32", +"type": "integer" +}, +"schedulingType": { +"description": "The type of maintenance for the reservation.", +"enum": [ +"GROUPED", +"GROUP_MAINTENANCE_TYPE_UNSPECIFIED", +"INDEPENDENT" +], +"enumDescriptions": [ +"Maintenance on all reserved instances in the reservation is synchronized.", +"Unknown maintenance type.", +"Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." +], +"type": "string" +}, +"upcomingGroupMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "Maintenance information on this group of VMs." +} +}, +"type": "object" +}, +"GuestAttributes": { +"description": "A guest attributes entry.", +"id": "GuestAttributes", +"properties": { +"kind": { +"default": "compute#guestAttributes", +"description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", +"type": "string" +}, +"queryPath": { +"description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", +"type": "string" +}, +"queryValue": { +"$ref": "GuestAttributesValue", +"description": "[Output Only] The value of the requested queried path." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"variableKey": { +"description": "The key to search for.", +"type": "string" +}, +"variableValue": { +"description": "[Output Only] The value found for the requested key.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributesEntry": { +"description": "A guest attributes namespace/key/value entry.", +"id": "GuestAttributesEntry", +"properties": { +"key": { +"description": "Key for the guest attribute entry.", +"type": "string" +}, +"namespace": { +"description": "Namespace for the guest attribute entry.", +"type": "string" +}, +"value": { +"description": "Value for the guest attribute entry.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributesValue": { +"description": "Array of guest attribute namespace/key/value tuples.", +"id": "GuestAttributesValue", +"properties": { +"items": { +"items": { +"$ref": "GuestAttributesEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GuestOsFeature": { +"description": "Guest OS features.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", +"enum": [ +"FEATURE_TYPE_UNSPECIFIED", +"GVNIC", +"IDPF", +"MULTI_IP_SUBNET", +"SECURE_BOOT", +"SEV_CAPABLE", +"SEV_LIVE_MIGRATABLE", +"SEV_LIVE_MIGRATABLE_V2", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"UEFI_COMPATIBLE", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"HTTP2HealthCheck": { +"id": "HTTP2HealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP/2 health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HTTPHealthCheck": { +"id": "HTTPHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HTTPSHealthCheck": { +"id": "HTTPSHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HealthCheck": { +"description": "Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/beta/regionHealthChecks) * [Global](/compute/docs/reference/rest/beta/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview.", +"id": "HealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in 3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcHealthCheck": { +"$ref": "GRPCHealthCheck" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"http2HealthCheck": { +"$ref": "HTTP2HealthCheck" +}, +"httpHealthCheck": { +"$ref": "HTTPHealthCheck" +}, +"httpsHealthCheck": { +"$ref": "HTTPSHealthCheck" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheck", +"description": "Type of the resource.", +"type": "string" +}, +"logConfig": { +"$ref": "HealthCheckLogConfig", +"description": "Configure logging on this health check." +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] Region where the health check resides. Not applicable to global health checks.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sourceRegions": { +"description": "The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslHealthCheck": { +"$ref": "SSLHealthCheck" +}, +"tcpHealthCheck": { +"$ref": "TCPHealthCheck" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", +"enum": [ +"GRPC", +"HTTP", +"HTTP2", +"HTTPS", +"INVALID", +"SSL", +"TCP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HealthCheckList": { +"description": "Contains a list of HealthCheck resources.", +"id": "HealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheck resources.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthCheckLogConfig": { +"description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", +"id": "HealthCheckLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", +"type": "boolean" +} +}, +"type": "object" +}, +"HealthCheckReference": { +"description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"id": "HealthCheckReference", +"properties": { +"healthCheck": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckService": { +"description": "Represents a Health-Check as a Service resource.", +"id": "HealthCheckService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", +"format": "byte", +"type": "string" +}, +"healthChecks": { +"description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthStatusAggregationPolicy": { +"description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", +"enum": [ +"AND", +"NO_AGGREGATION" +], +"enumDescriptions": [ +"If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", +"An EndpointHealth message is returned for each backend in the health check service." +], +"type": "string" +}, +"healthStatusAggregationStrategy": { +"deprecated": true, +"description": "This field is deprecated. Use health_status_aggregation_policy instead. Policy for how the results from multiple health checks for the same endpoint are aggregated. - NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. - AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", +"enum": [ +"AND", +"NO_AGGREGATION" +], +"enumDescriptions": [ +"This is deprecated. Use health_status_aggregation_policy instead. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", +"This is deprecated. Use health_status_aggregation_policy instead. An EndpointHealth message is returned for each backend in the health check service." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheckService", +"description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", +"type": "string" +}, +"name": { +"description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkEndpointGroups": { +"description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notificationEndpoints": { +"description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServiceReference": { +"description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", +"id": "HealthCheckServiceReference", +"properties": { +"healthCheckService": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServicesList": { +"id": "HealthCheckServicesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheckService resources.", +"items": { +"$ref": "HealthCheckService" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckServicesList", +"description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthChecksAggregatedList": { +"id": "HealthChecksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "HealthChecksScopedList", +"description": "Name of the scope containing this set of HealthChecks." +}, +"description": "A list of HealthChecksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#healthChecksAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthChecksScopedList": { +"id": "HealthChecksScopedList", +"properties": { +"healthChecks": { +"description": "A list of HealthChecks contained in this scope.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthStatus": { +"id": "HealthStatus", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations for network endpoint.", +"type": "object" +}, +"forwardingRule": { +"description": "URL of the forwarding rule associated with the health status of the instance.", +"type": "string" +}, +"forwardingRuleIp": { +"description": "A forwarding rule IP address assigned to this instance.", +"type": "string" +}, +"healthState": { +"description": "Health state of the IPv4 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"instance": { +"description": "URL of the instance resource.", +"type": "string" +}, +"ipAddress": { +"description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", +"type": "string" +}, +"ipv6Address": { +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the IPv6 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"port": { +"description": "The named port of the instance group, not necessarily the port that is health-checked.", +"format": "int32", +"type": "integer" +}, +"weight": { +"type": "string" +}, +"weightError": { +"enum": [ +"INVALID_WEIGHT", +"MISSING_WEIGHT", +"UNAVAILABLE_WEIGHT", +"WEIGHT_NONE" +], +"enumDescriptions": [ +"The response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).", +"The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.", +"This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.", +"This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight." +], +"type": "string" +} +}, +"type": "object" +}, +"HealthStatusForNetworkEndpoint": { +"id": "HealthStatusForNetworkEndpoint", +"properties": { +"backendService": { +"$ref": "BackendServiceReference", +"description": "URL of the backend service associated with the health state of the network endpoint." +}, +"forwardingRule": { +"$ref": "ForwardingRuleReference", +"description": "URL of the forwarding rule associated with the health state of the network endpoint." +}, +"healthCheck": { +"$ref": "HealthCheckReference", +"description": "URL of the health check associated with the health state of the network endpoint." +}, +"healthCheckService": { +"$ref": "HealthCheckServiceReference", +"description": "URL of the health check service associated with the health state of the network endpoint." +}, +"healthState": { +"description": "Health state of the network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"type": "string" +} +}, +"type": "object" +}, +"Help": { +"description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", +"id": "Help", +"properties": { +"links": { +"description": "URL(s) pointing to additional information on handling the current error.", +"items": { +"$ref": "HelpLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"HelpLink": { +"description": "Describes a URL link.", +"id": "HelpLink", +"properties": { +"description": { +"description": "Describes what the link offers.", +"type": "string" +}, +"url": { +"description": "The URL of the link.", +"type": "string" +} +}, +"type": "object" +}, +"HostRule": { +"description": "UrlMaps A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.", +"id": "HostRule", +"properties": { +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"hosts": { +"description": "The list of host patterns to match. They must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). In that case, * must be the first character, and if followed by anything, the immediate following character must be either - or .. * based matching is not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pathMatcher": { +"description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.", +"type": "string" +} +}, +"type": "object" +}, +"HttpFaultAbort": { +"description": "Specification for how requests are aborted as part of fault injection.", +"id": "HttpFaultAbort", +"properties": { +"httpStatus": { +"description": "The HTTP status code used to abort the request. The value must be from 200 to 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.", +"format": "uint32", +"type": "integer" +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests that is aborted as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultDelay": { +"description": "Specifies the delay introduced by the load balancer before forwarding the request to the backend service as part of fault injection.", +"id": "HttpFaultDelay", +"properties": { +"fixedDelay": { +"$ref": "Duration", +"description": "Specifies the value of the fixed delay interval." +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests for which a delay is introduced as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultInjection": { +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests.", +"id": "HttpFaultInjection", +"properties": { +"abort": { +"$ref": "HttpFaultAbort", +"description": "The specification for how client requests are aborted as part of fault injection." +}, +"delay": { +"$ref": "HttpFaultDelay", +"description": "The specification for how client requests are delayed as part of fault injection, before being sent to a backend service." +} +}, +"type": "object" +}, +"HttpFilterConfig": { +"description": "HttpFilterConfiguration supplies additional contextual settings for networkservices.HttpFilter resources enabled by Traffic Director.", +"id": "HttpFilterConfig", +"properties": { +"config": { +"description": "The configuration needed to enable the networkservices.HttpFilter resource. The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl", +"type": "string" +}, +"configTypeUrl": { +"description": "The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings, for example: type.googleapis.com/google.protobuf.Struct", +"type": "string" +}, +"filterName": { +"description": "Name of the networkservices.HttpFilter resource this configuration belongs to. This name must be known to the xDS client. Example: envoy.wasm", +"type": "string" +} +}, +"type": "object" +}, +"HttpHeaderAction": { +"description": "The request and response header transformations that take effect before the request is passed along to the selected backendService.", +"id": "HttpHeaderAction", +"properties": { +"requestHeadersToAdd": { +"description": "Headers to add to a matching request before forwarding the request to the backendService.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"requestHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.", +"items": { +"type": "string" +}, +"type": "array" +}, +"responseHeadersToAdd": { +"description": "Headers to add the response before sending the response back to the client.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"responseHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the response before sending the response back to the client.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpHeaderMatch": { +"description": "matchRule criteria for request header matches.", +"id": "HttpHeaderMatch", +"properties": { +"exactMatch": { +"description": "The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"headerName": { +"description": "The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the `content-type` header are supported. The following transport-level headers cannot be used in header matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-bin`.", +"type": "string" +}, +"invertMatch": { +"description": "If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. ", +"type": "boolean" +}, +"prefixMatch": { +"description": "The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"presentMatch": { +"description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "boolean" +}, +"rangeMatch": { +"$ref": "Int64RangeMatch", +"description": "The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL." +}, +"regexMatch": { +"description": "The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +}, +"suffixMatch": { +"description": "The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +} +}, +"type": "object" +}, +"HttpHeaderOption": { +"description": "Specification determining how headers are added to requests or responses.", +"id": "HttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header.", +"type": "string" +}, +"headerValue": { +"description": "The value of the header to add.", +"type": "string" +}, +"replace": { +"description": "If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpHealthCheck": { +"description": "Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are now only required by target pool-based network load balancers. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpHealthCheck", +"description": "[Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTP health check request. The default value is 80.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpHealthCheckList": { +"description": "Contains a list of HttpHealthCheck resources.", +"id": "HttpHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpHealthCheck resources.", +"items": { +"$ref": "HttpHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HttpQueryParameterMatch": { +"description": "HttpRouteRuleMatch criteria for a request's query parameter.", +"id": "HttpQueryParameterMatch", +"properties": { +"exactMatch": { +"description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "string" +}, +"name": { +"description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", +"type": "string" +}, +"presentMatch": { +"description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "boolean" +}, +"regexMatch": { +"description": "The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, exactMatch, or regexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. ", +"type": "string" +} +}, +"type": "object" +}, +"HttpRedirectAction": { +"description": "Specifies settings for an HTTP redirect.", +"id": "HttpRedirectAction", +"properties": { +"hostRedirect": { +"description": "The host that is used in the redirect response instead of the one that was supplied in the request. The value must be from 1 to 255 characters.", +"type": "string" +}, +"httpsRedirect": { +"description": "If set to true, the URL scheme in the redirected request is set to HTTPS. If set to false, the URL scheme of the redirected request remains the same as that of the request. This must only be set for URL maps used in TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The default is set to false.", +"type": "boolean" +}, +"pathRedirect": { +"description": "The path that is used in the redirect response instead of the one that was supplied in the request. pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"prefixRedirect": { +"description": "The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"redirectResponseCode": { +"description": "The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. ", +"enum": [ +"FOUND", +"MOVED_PERMANENTLY_DEFAULT", +"PERMANENT_REDIRECT", +"SEE_OTHER", +"TEMPORARY_REDIRECT" +], +"enumDescriptions": [ +"Http Status Code 302 - Found.", +"Http Status Code 301 - Moved Permanently.", +"Http Status Code 308 - Permanent Redirect maintaining HTTP method.", +"Http Status Code 303 - See Other.", +"Http Status Code 307 - Temporary Redirect maintaining HTTP method." +], +"type": "string" +}, +"stripQuery": { +"description": "If set to true, any accompanying query portion of the original URL is removed before redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpRetryPolicy": { +"description": "The retry policy associates with HttpRouteRule", +"id": "HttpRetryPolicy", +"properties": { +"numRetries": { +"description": "Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.", +"format": "uint32", +"type": "integer" +}, +"perTryTimeout": { +"$ref": "Duration", +"description": "Specifies a non-zero timeout per retry attempt. If not specified, will use the timeout set in the HttpRouteAction field. If timeout in the HttpRouteAction field is not set, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryConditions": { +"description": "Specifies one or more conditions when this retry policy applies. Valid values are: - 5xx: retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams. - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. - connect-failure: a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts. - retriable-4xx: a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409. - refused-stream: a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: a retry is attempted if the gRPC status code in the response header is set to cancelled. - deadline-exceeded: a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded. - internal: a retry is attempted if the gRPC status code in the response header is set to internal. - resource-exhausted: a retry is attempted if the gRPC status code in the response header is set to resource-exhausted. - unavailable: a retry is attempted if the gRPC status code in the response header is set to unavailable. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true. - cancelled - deadline-exceeded - internal - resource-exhausted - unavailable ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteAction": { +"id": "HttpRouteAction", +"properties": { +"corsPolicy": { +"$ref": "CorsPolicy", +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy." +}, +"faultInjectionPolicy": { +"$ref": "HttpFaultInjection", +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED." +}, +"requestMirrorPolicy": { +"$ref": "RequestMirrorPolicy", +"description": "Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryPolicy": { +"$ref": "HttpRetryPolicy", +"description": "Specifies the retry policy associated with this route." +}, +"timeout": { +"$ref": "Duration", +"description": "Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"urlRewrite": { +"$ref": "UrlRewrite", +"description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"weightedBackendServices": { +"description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", +"items": { +"$ref": "WeightedBackendService" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteRule": { +"description": "The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.", +"id": "HttpRouteRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"description": { +"description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"httpFilterConfigs": { +"description": "Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director. httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "HttpFilterConfig" +}, +"type": "array" +}, +"httpFilterMetadata": { +"description": "Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director. httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. The only configTypeUrl supported is type.googleapis.com/google.protobuf.Struct Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "HttpFilterConfig" +}, +"type": "array" +}, +"matchRules": { +"description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", +"items": { +"$ref": "HttpRouteRuleMatch" +}, +"type": "array" +}, +"priority": { +"description": "For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", +"format": "int32", +"type": "integer" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"HttpRouteRuleMatch": { +"description": "HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur.", +"id": "HttpRouteRuleMatch", +"properties": { +"fullPathMatch": { +"description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"headerMatches": { +"description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", +"items": { +"$ref": "HttpHeaderMatch" +}, +"type": "array" +}, +"ignoreCase": { +"description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy.", +"type": "boolean" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"pathTemplateMatch": { +"description": "If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash (\"/\") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.", +"type": "string" +}, +"prefixMatch": { +"description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"queryParameterMatches": { +"description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy.", +"items": { +"$ref": "HttpQueryParameterMatch" +}, +"type": "array" +}, +"regexMatch": { +"description": "For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"HttpsHealthCheck": { +"description": "Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks have been deprecated. If you are using a target pool-based network load balancer, you must use a legacy HTTP (not HTTPS) health check. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpsHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpsHealthCheck", +"description": "Type of the resource.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTPS health check request. The default value is 443.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is \"/\". Must comply with RFC3986.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpsHealthCheckList": { +"description": "Contains a list of HttpsHealthCheck resources.", +"id": "HttpsHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpsHealthCheck resources.", +"items": { +"$ref": "HttpsHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpsHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Image": { +"description": "Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.", +"id": "Image", +"properties": { +"architecture": { +"description": "The architecture of the image. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"archiveSizeBytes": { +"description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "The deprecation status associated with this image." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "Size of the image when restored onto a persistent disk (in GB).", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"family": { +"description": "The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"imageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later." +}, +"kind": { +"default": "compute#image", +"description": "[Output Only] Type of the resource. Always compute#image for images.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this image. These can be later modified by the setLabels method.", +"type": "object" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this image.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "Any applicable license URI.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locked": { +"description": "A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true ", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"rawDisk": { +"description": "The parameters of the raw disk image.", +"properties": { +"containerType": { +"description": "The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.", +"enum": [ +"TAR" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"sha1Checksum": { +"deprecated": true, +"description": "[Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.", +"pattern": "[a-f0-9]{40}", +"type": "string" +}, +"source": { +"description": "The full Google Cloud Storage URL where the raw disk image archive is stored. The following are valid formats for the URL: - https://storage.googleapis.com/bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/folder_name/ image_archive_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +} +}, +"type": "object" +}, +"rolloutOverride": { +"$ref": "RolloutPolicy", +"description": "A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "Set the secure boot keys of shielded instance." +}, +"sourceDisk": { +"description": "URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceImage": { +"description": "URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.", +"type": "string" +}, +"sourceSnapshot": { +"description": "URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.", +"type": "string" +}, +"sourceType": { +"default": "RAW", +"description": "The type of the image used to create this disk. The default and only valid value is RAW.", +"enum": [ +"RAW" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.", +"enum": [ +"DELETING", +"FAILED", +"PENDING", +"READY" +], +"enumDescriptions": [ +"Image is deleting.", +"Image creation failed due to an error.", +"Image hasn't been created as yet.", +"Image has been successfully created." +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the image (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +}, +"userLicenses": { +"description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ImageFamilyView": { +"id": "ImageFamilyView", +"properties": { +"image": { +"$ref": "Image", +"description": "The latest image that is part of the specified image family in the requested location, and that is not deprecated." +} +}, +"type": "object" +}, +"ImageList": { +"description": "Contains a list of images.", +"id": "ImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Image resources.", +"items": { +"$ref": "Image" +}, +"type": "array" +}, +"kind": { +"default": "compute#imageList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InitialStateConfig": { +"description": "Initial State for shielded instance, these are public keys which are safe to store in public", +"id": "InitialStateConfig", +"properties": { +"dbs": { +"description": "The Key Database (db).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"dbxs": { +"description": "The forbidden key database (dbx).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"keks": { +"description": "The Key Exchange Key (KEK).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"pk": { +"$ref": "FileContentBuffer", +"description": "The Platform Key (PK)." +} +}, +"type": "object" +}, +"Instance": { +"description": "Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.", +"id": "Instance", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features." +}, +"canIpForward": { +"description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig" +}, +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this instance.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deletionProtection": { +"description": "Whether the resource should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"description": "Array of disks associated with this instance. Persistent disks must be created before you can assign them.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Enables display device for the instance." +}, +"eraseWindowsVssSignature": { +"description": "Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature.", +"type": "boolean" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation." +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"kind": { +"default": "compute#instance", +"description": "[Output Only] Type of the resource. Always compute#instance for instances.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this instance. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastStartTimestamp": { +"description": "[Output Only] Last start timestamp in RFC3339 text format.", +"type": "string" +}, +"lastStopTimestamp": { +"description": "[Output Only] Last stop timestamp in RFC3339 text format.", +"type": "string" +}, +"lastSuspendedTimestamp": { +"description": "[Output Only] Last suspended timestamp in RFC3339 text format.", +"type": "string" +}, +"machineType": { +"description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys." +}, +"minCpuPlatform": { +"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\".", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig" +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map.", +"type": "object" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that this instance can consume from." +}, +"resourcePolicies": { +"description": "Resource policies applied to this instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "ResourceStatus", +"description": "[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field." +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Sets the scheduling options for this instance." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"serviceAccounts": { +"description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig" +}, +"shieldedInstanceIntegrityPolicy": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"shieldedVmConfig": { +"$ref": "ShieldedVmConfig", +"description": "Deprecating, please use shielded_instance_config." +}, +"shieldedVmIntegrityPolicy": { +"$ref": "ShieldedVmIntegrityPolicy", +"description": "Deprecating, please use shielded_instance_integrity_policy." +}, +"sourceMachineImage": { +"description": "Source machine image", +"type": "string" +}, +"sourceMachineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Source machine image encryption key when creating an instance from a machine image." +}, +"startRestricted": { +"description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"tags": { +"$ref": "Tags", +"description": "Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field." +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceAggregatedList": { +"id": "InstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstancesScopedList", +"description": "[Output Only] Name of the scope containing this set of instances." +}, +"description": "An object that contains a list of instances scoped by zone.", +"type": "object" +}, +"kind": { +"default": "compute#instanceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instanceAggregatedList for aggregated lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceConsumptionData": { +"id": "InstanceConsumptionData", +"properties": { +"consumptionInfo": { +"$ref": "InstanceConsumptionInfo", +"description": "Resources consumed by the instance." +}, +"instance": { +"description": "Server-defined URL for the instance.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceConsumptionInfo": { +"id": "InstanceConsumptionInfo", +"properties": { +"guestCpus": { +"description": "The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"localSsdGb": { +"description": "The amount of local SSD storage available to the instance, defined in GiB.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "The amount of physical memory available to the instance, defined in MiB.", +"format": "int32", +"type": "integer" +}, +"minNodeCpus": { +"description": "The minimal guaranteed number of virtual CPUs that are reserved.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroup": { +"description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", +"id": "InstanceGroup", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance group, generated by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroup", +"description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroups.insert" +] +}, +"description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"network": { +"description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance group. The server generates this URL.", +"type": "string" +}, +"size": { +"description": "[Output Only] The total number of instances in the instance group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupAggregatedList": { +"id": "InstanceGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupsScopedList", +"description": "The name of the scope that contains this set of instance groups." +}, +"description": "A list of InstanceGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupList": { +"description": "A list of InstanceGroup resources.", +"id": "InstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupList for instance group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManager": { +"description": "Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.", +"id": "InstanceGroupManager", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerAllInstancesConfig", +"description": "Specifies configuration that overrides the instance template configuration for the group." +}, +"autoHealingPolicies": { +"description": "The autohealing policy for this managed instance group. You can specify only one value.", +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +}, +"baseInstanceName": { +"description": "The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of \"vm-###\" results in \"vm-001\" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\\\[[0-9]{1,10}\\\\])?))", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.", +"type": "string" +}, +"currentActions": { +"$ref": "InstanceGroupManagerActionsSummary", +"description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"distributionPolicy": { +"$ref": "DistributionPolicy", +"description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." +}, +"failoverAction": { +"description": "The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.", +"enum": [ +"NO_FAILOVER", +"UNKNOWN" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceFlexibilityPolicy": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", +"description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." +}, +"instanceGroup": { +"description": "[Output Only] The URL of the Instance Group resource.", +"type": "string" +}, +"instanceLifecyclePolicy": { +"$ref": "InstanceGroupManagerInstanceLifecyclePolicy", +"description": "The repair policy for this managed instance group." +}, +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroupManager", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.", +"type": "string" +}, +"listManagedInstancesResults": { +"description": "Pagination behavior of the listManagedInstances API method for this managed instance group.", +"enum": [ +"PAGELESS", +"PAGINATED" +], +"enumDescriptions": [ +"(Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.", +"Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected." +], +"type": "string" +}, +"multiMig": { +"description": "URL to the multi-MIG that this Managed Instance Group belongs to.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"params": { +"$ref": "InstanceGroupManagerParams", +"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +}, +"region": { +"description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", +"type": "string" +}, +"resourcePolicies": { +"$ref": "InstanceGroupManagerResourcePolicies", +"description": "Resource policies for this managed instance group." +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] The URL for this managed instance group. The server defines this URL.", +"type": "string" +}, +"serviceAccount": { +"description": "The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used.", +"type": "string" +}, +"standbyPolicy": { +"$ref": "InstanceGroupManagerStandbyPolicy", +"description": "Standby policy for stopped and suspended instances." +}, +"statefulPolicy": { +"$ref": "StatefulPolicy", +"description": "Stateful configuration for this Instanced Group Manager" +}, +"status": { +"$ref": "InstanceGroupManagerStatus", +"description": "[Output Only] The status of this managed instance group." +}, +"targetPools": { +"description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSize": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.", +"format": "int32", +"type": "integer" +}, +"targetStoppedSize": { +"description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"targetSuspendedSize": { +"description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"updatePolicy": { +"$ref": "InstanceGroupManagerUpdatePolicy", +"description": "The update policy for this managed instance group." +}, +"versions": { +"description": "Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.", +"items": { +"$ref": "InstanceGroupManagerVersion" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerActionsSummary": { +"id": "InstanceGroupManagerActionsSummary", +"properties": { +"abandoning": { +"description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", +"format": "int32", +"type": "integer" +}, +"creating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.", +"format": "int32", +"type": "integer" +}, +"creatingWithoutRetries": { +"description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", +"format": "int32", +"type": "integer" +}, +"deleting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", +"format": "int32", +"type": "integer" +}, +"none": { +"description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", +"format": "int32", +"type": "integer" +}, +"recreating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", +"format": "int32", +"type": "integer" +}, +"refreshing": { +"description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", +"format": "int32", +"type": "integer" +}, +"restarting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", +"format": "int32", +"type": "integer" +}, +"resuming": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.", +"format": "int32", +"type": "integer" +}, +"starting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.", +"format": "int32", +"type": "integer" +}, +"stopping": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.", +"format": "int32", +"type": "integer" +}, +"suspending": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.", +"format": "int32", +"type": "integer" +}, +"verifying": { +"description": "[Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerAggregatedList": { +"id": "InstanceGroupManagerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupManagersScopedList", +"description": "[Output Only] The name of the scope that contains this set of managed instance groups." +}, +"description": "A list of InstanceGroupManagersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupManagerAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerAllInstancesConfig": { +"id": "InstanceGroupManagerAllInstancesConfig", +"properties": { +"properties": { +"$ref": "InstancePropertiesPatch", +"description": "Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method." +} +}, +"type": "object" +}, +"InstanceGroupManagerAutoHealingPolicy": { +"id": "InstanceGroupManagerAutoHealingPolicy", +"properties": { +"healthCheck": { +"description": "The URL for the health check that signals autohealing.", +"type": "string" +}, +"initialDelaySec": { +"description": "The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicy": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicy", +"properties": { +"instanceSelections": { +"additionalProperties": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" +}, +"description": "Named instance selections configuring properties that the group will use when creating new VMs.", +"type": "object" +}, +"provisioningModelMix": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", +"description": "Provisioning model configuration used by this managed instance group to create instances." +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", +"properties": { +"machineTypes": { +"description": "Full machine-type names, e.g. \"n1-standard-16\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"rank": { +"description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", +"properties": { +"standardCapacityBase": { +"description": "The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity user needs. MIG will create only Standard VMs until it reaches standard_capacity_base and only then will start using standard_capacity_percent_above_base to mix Spot with Standard VMs.", +"format": "int32", +"type": "integer" +}, +"standardCapacityPercentAboveBase": { +"description": "The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceLifecyclePolicy": { +"id": "InstanceGroupManagerInstanceLifecyclePolicy", +"properties": { +"defaultActionOnFailure": { +"description": "The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. ", +"enum": [ +"DELETE", +"DO_NOTHING", +"REPAIR" +], +"enumDescriptions": [ +"MIG deletes a failed or an unhealthy VM. Deleting the VM decreases the target size of the MIG.", +"MIG does not repair a failed or an unhealthy VM.", +"(Default) MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG." +], +"type": "string" +}, +"forceUpdateOnRepair": { +"description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", +"enum": [ +"NO", +"YES" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerList": { +"description": "[Output Only] A list of managed instance groups.", +"id": "InstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerParams": { +"description": "Input only additional params for instance group manager creation.", +"id": "InstanceGroupManagerParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequest": { +"description": "InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager.", +"id": "InstanceGroupManagerResizeRequest", +"properties": { +"count": { +"deprecated": true, +"description": "This field is deprecated, please use resize_by instead. The count of instances to create as part of this resize request.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this resize request in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequest", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagerResizeRequests.insert" +] +}, +"description": "The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", +"type": "string" +}, +"requestedRunDuration": { +"$ref": "Duration", +"description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." +}, +"resizeBy": { +"description": "The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "[Output Only] The URL for this resize request. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"state": { +"description": "[Output only] Current state of the request.", +"enum": [ +"ACCEPTED", +"CANCELLED", +"CREATING", +"FAILED", +"PROVISIONING", +"STATE_UNSPECIFIED", +"SUCCEEDED" +], +"enumDeprecated": [ +false, +false, +false, +false, +true, +false, +false +], +"enumDescriptions": [ +"The request was created successfully and was accepted for provisioning when the capacity becomes available.", +"The request is cancelled.", +"Resize request is being created and may still fail creation.", +"The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.", +"The value is deprecated. ResizeRequests would stay in the ACCEPTED state during provisioning attempts. The target resource(s) are being provisioned.", +"Default value. This value should never be returned.", +"The request succeeded." +], +"type": "string" +}, +"status": { +"$ref": "InstanceGroupManagerResizeRequestStatus", +"description": "[Output only] Status of the request." +}, +"zone": { +"description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatus": { +"id": "InstanceGroupManagerResizeRequestStatus", +"properties": { +"error": { +"description": "[Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"lastAttempt": { +"$ref": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"description": "[Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the \"error\" field only." +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatusLastAttempt": { +"id": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"properties": { +"error": { +"description": "Errors that prevented the ResizeRequest to be fulfilled.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestsListResponse": { +"description": "[Output Only] A list of resize requests.", +"id": "InstanceGroupManagerResizeRequestsListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of resize request resources.", +"items": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequestList", +"description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResourcePolicies": { +"id": "InstanceGroupManagerResourcePolicies", +"properties": { +"workloadPolicy": { +"description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStandbyPolicy": { +"id": "InstanceGroupManagerStandbyPolicy", +"properties": { +"initialDelaySec": { +"description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", +"enum": [ +"MANUAL", +"SCALE_OUT_POOL" +], +"enumDescriptions": [ +"MIG does not automatically resume or start VMs in the standby pool when the group scales out.", +"MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatus": { +"id": "InstanceGroupManagerStatus", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerStatusAllInstancesConfig", +"description": "[Output only] Status of all-instances configuration on the group." +}, +"autoscaler": { +"description": "[Output Only] The URL of the Autoscaler that targets this instance group manager.", +"type": "string" +}, +"isStable": { +"description": "[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.", +"type": "boolean" +}, +"stateful": { +"$ref": "InstanceGroupManagerStatusStateful", +"description": "[Output Only] Stateful status of the given Instance Group Manager." +}, +"versionTarget": { +"$ref": "InstanceGroupManagerStatusVersionTarget", +"description": "[Output Only] A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusAllInstancesConfig": { +"id": "InstanceGroupManagerStatusAllInstancesConfig", +"properties": { +"currentRevision": { +"description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", +"type": "string" +}, +"effective": { +"description": "[Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStateful": { +"id": "InstanceGroupManagerStatusStateful", +"properties": { +"hasStatefulConfig": { +"description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.", +"type": "boolean" +}, +"isStateful": { +"deprecated": true, +"description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", +"type": "boolean" +}, +"perInstanceConfigs": { +"$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"description": "[Output Only] Status of per-instance configurations on the instances." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStatefulPerInstanceConfigs": { +"id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"properties": { +"allEffective": { +"description": "A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusVersionTarget": { +"id": "InstanceGroupManagerStatusVersionTarget", +"properties": { +"isReached": { +"description": "[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerUpdatePolicy": { +"id": "InstanceGroupManagerUpdatePolicy", +"properties": { +"instanceRedistributionType": { +"description": "The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. ", +"enum": [ +"NONE", +"PROACTIVE" +], +"enumDescriptions": [ +"No action is being proactively performed in order to bring this IGM to its target instance distribution.", +"This IGM will actively converge to its target instance distribution." +], +"type": "string" +}, +"maxSurge": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge." +}, +"maxUnavailable": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable." +}, +"minReadySec": { +"description": "Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600].", +"format": "int32", +"type": "integer" +}, +"minimalAction": { +"description": "Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. ", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"replacementMethod": { +"description": "What action should be used to replace instances. See minimal_action.REPLACE", +"enum": [ +"RECREATE", +"SUBSTITUTE" +], +"enumDescriptions": [ +"Instances will be recreated (with the same name)", +"Default option: instances will be deleted and created (with a new name)" +], +"type": "string" +}, +"type": { +"description": "The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.", +"enum": [ +"OPPORTUNISTIC", +"PROACTIVE" +], +"enumDescriptions": [ +"MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.", +"MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerVersion": { +"id": "InstanceGroupManagerVersion", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached.", +"type": "string" +}, +"name": { +"description": "Name of the version. Unique among all versions in the scope of this managed instance group.", +"type": "string" +}, +"targetSize": { +"$ref": "FixedOrPercent", +"description": "Specifies the intended number of instances to be created from the instanceTemplate. The final number of instances created from the template will be equal to: - If expressed as a fixed number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - if expressed as a percent, the targetSize would be (targetSize.percent/100 * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded. If unset, this version will update any remaining instances not updated by another version. Read Starting a canary update for more information." +} +}, +"type": "object" +}, +"InstanceGroupManagersAbandonInstancesRequest": { +"id": "InstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersApplyUpdatesRequest": { +"description": "InstanceGroupManagers.applyUpdatesToInstances", +"id": "InstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersCreateInstancesRequest": { +"description": "InstanceGroupManagers.createInstances", +"id": "InstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeleteInstancesRequest": { +"id": "InstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeletePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.deletePerInstanceConfigs", +"id": "InstanceGroupManagersDeletePerInstanceConfigsReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersListErrorsResponse": { +"id": "InstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListManagedInstancesResponse": { +"id": "InstanceGroupManagersListManagedInstancesResponse", +"properties": { +"managedInstances": { +"description": "[Output Only] The list of instances in the managed instance group.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListPerInstanceConfigsResp": { +"id": "InstanceGroupManagersListPerInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagersPatchPerInstanceConfigsReq": { +"description": "InstanceGroupManagers.patchPerInstanceConfigs", +"id": "InstanceGroupManagersPatchPerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersRecreateInstancesRequest": { +"id": "InstanceGroupManagersRecreateInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersResizeAdvancedRequest": { +"id": "InstanceGroupManagersResizeAdvancedRequest", +"properties": { +"noCreationRetries": { +"description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", +"type": "boolean" +}, +"targetSize": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagersResumeInstancesRequest": { +"id": "InstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersScopedList": { +"id": "InstanceGroupManagersScopedList", +"properties": { +"instanceGroupManagers": { +"description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetAutoHealingRequest": { +"id": "InstanceGroupManagersSetAutoHealingRequest", +"properties": { +"autoHealingPolicies": { +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetInstanceTemplateRequest": { +"id": "InstanceGroupManagersSetInstanceTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetTargetPoolsRequest": { +"id": "InstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStartInstancesRequest": { +"id": "InstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStopInstancesRequest": { +"id": "InstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersSuspendInstancesRequest": { +"id": "InstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersUpdatePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.updatePerInstanceConfigs", +"id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsAddInstancesRequest": { +"id": "InstanceGroupsAddInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to add to the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsListInstances": { +"id": "InstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupsListInstances", +"description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupsListInstancesRequest": { +"id": "InstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Includes all instances in the generated list regardless of their state.", +"Includes instances in the generated list only if they have a RUNNING state." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupsRemoveInstancesRequest": { +"id": "InstanceGroupsRemoveInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to remove from the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsScopedList": { +"id": "InstanceGroupsScopedList", +"properties": { +"instanceGroups": { +"description": "[Output Only] The list of instance groups that are contained in this scope.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupsSetNamedPortsRequest": { +"id": "InstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request. A request with an incorrect fingerprint will fail with error 412 conditionNotMet.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceList": { +"description": "Contains a list of instances.", +"id": "InstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Instance resources.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceList", +"description": "[Output Only] Type of resource. Always compute#instanceList for lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceListReferrers": { +"description": "Contains a list of instance referrers.", +"id": "InstanceListReferrers", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Reference resources.", +"items": { +"$ref": "Reference" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceListReferrers", +"description": "[Output Only] Type of resource. Always compute#instanceListReferrers for lists of Instance referrers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceManagedByIgmError": { +"id": "InstanceManagedByIgmError", +"properties": { +"error": { +"$ref": "InstanceManagedByIgmErrorManagedInstanceError", +"description": "[Output Only] Contents of the error." +}, +"instanceActionDetails": { +"$ref": "InstanceManagedByIgmErrorInstanceActionDetails", +"description": "[Output Only] Details of the instance action that triggered this error. May be null, if the error was not caused by an action on an instance. This field is optional." +}, +"timestamp": { +"description": "[Output Only] The time that this error occurred. This value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorInstanceActionDetails": { +"id": "InstanceManagedByIgmErrorInstanceActionDetails", +"properties": { +"action": { +"description": "[Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can be set even if the instance has not yet been created.", +"type": "string" +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Version this instance was created from, or was being created from, but the creation failed. Corresponds to one of the versions that were set on the Instance Group Manager resource at the time this instance was being created." +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorManagedInstanceError": { +"id": "InstanceManagedByIgmErrorManagedInstanceError", +"properties": { +"code": { +"description": "[Output Only] Error code.", +"type": "string" +}, +"message": { +"description": "[Output Only] Error message.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceMoveRequest": { +"id": "InstanceMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the instance. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetInstance": { +"description": "The URL of the target instance to move. This can be a full or partial URL. For example, the following are all valid URLs to an instance: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +} +}, +"type": "object" +}, +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceProperties": { +"id": "InstanceProperties", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet." +}, +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Specifies the Confidential Instance options. Note that for MachineImage, this is not supported yet." +}, +"description": { +"description": "An optional text description for the instances that are created from these properties.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from these properties.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer Note that for MachineImage, this is not supported yet." +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from these properties.", +"type": "object" +}, +"machineType": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"description": "The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.", +"type": "object" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet." +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"shieldedVmConfig": { +"$ref": "ShieldedVmConfig", +"description": "Specifies the Shielded VM options for the instances that are created from these properties." +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"InstancePropertiesPatch": { +"description": "Represents the change that you want to make to the instance properties.", +"id": "InstancePropertiesPatch", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The label key-value pairs that you want to patch onto the instance.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceReference": { +"id": "InstanceReference", +"properties": { +"instance": { +"description": "The URL for a specific instance. @required compute.instancegroups.addInstances/removeInstances", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettings": { +"description": "Represents a Instance Settings resource. You can use instance settings to configure default settings for Compute Engine VM instances. For example, you can use it to configure default machine type of Compute Engine VM instances.", +"id": "InstanceSettings", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for instance settings, which is essentially a hash of the instance settings resource's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance settings resource. You must always provide an up-to-date fingerprint hash in order to update or change the resource, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"kind": { +"default": "compute#instanceSettings", +"description": "[Output Only] Type of the resource. Always compute#instance_settings for instance settings.", +"type": "string" +}, +"metadata": { +"$ref": "InstanceSettingsMetadata", +"description": "The metadata key/value pairs assigned to all the instances in the corresponding scope." +}, +"zone": { +"description": "[Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettingsMetadata": { +"id": "InstanceSettingsMetadata", +"properties": { +"items": { +"additionalProperties": { +"type": "string" +}, +"description": "A metadata key/value items map. The total size of all keys and values must be less than 512KB.", +"type": "object" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceTemplate": { +"description": "Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/beta/instanceTemplates) * [Regional](/compute/docs/reference/rest/beta/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates.", +"id": "InstanceTemplate", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance template in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance template. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceTemplate", +"description": "[Output Only] The resource type, which is always compute#instanceTemplate for instance templates.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"properties": { +"$ref": "InstanceProperties", +"description": "The instance properties for this instance template." +}, +"region": { +"description": "[Output Only] URL of the region where the instance template resides. Only applicable for regional resources.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance template. The server defines this URL.", +"type": "string" +}, +"sourceInstance": { +"description": "The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceParams": { +"$ref": "SourceInstanceParams", +"description": "The source instance params to use to create this instance template." +} +}, +"type": "object" +}, +"InstanceTemplateAggregatedList": { +"description": "Contains a list of InstanceTemplatesScopedList.", +"id": "InstanceTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceTemplatesScopedList", +"description": "The name of the scope that contains this set of instance templates." +}, +"description": "A list of InstanceTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceTemplateAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceTemplateList": { +"description": "A list of instance templates.", +"id": "InstanceTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceTemplate resources.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceTemplateList", +"description": "[Output Only] The resource type, which is always compute#instanceTemplatesListResponse for instance template lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceTemplatesScopedList": { +"id": "InstanceTemplatesScopedList", +"properties": { +"instanceTemplates": { +"description": "[Output Only] A list of instance templates that are contained within the specified project and zone.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance templates when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceWithNamedPorts": { +"id": "InstanceWithNamedPorts", +"properties": { +"instance": { +"description": "[Output Only] The URL of the instance.", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] The named ports that belong to this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"status": { +"description": "[Output Only] The status of the instance.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesAddResourcePoliciesRequest": { +"id": "InstancesAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesBulkInsertOperationMetadata": { +"id": "InstancesBulkInsertOperationMetadata", +"properties": { +"perLocationStatus": { +"additionalProperties": { +"$ref": "BulkInsertOperationStatus" +}, +"description": "Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponse": { +"id": "InstancesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policies.", +"items": { +"$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the instance.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"organizationFirewalls": { +"description": "Effective firewalls from organization policies.", +"items": { +"$ref": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output Only] The packet mirroring rules that apply to the instance.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"SYSTEM_GLOBAL", +"SYSTEM_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { +"description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", +"id": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy", +"properties": { +"id": { +"description": "The unique identifier for the security policy. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"rules": { +"description": "The rules that apply to the network.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesRemoveResourcePoliciesRequest": { +"id": "InstancesRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesResumeRequest": { +"id": "InstancesResumeRequest", +"properties": { +"disks": { +"description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to resume the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", +"items": { +"$ref": "CustomerEncryptionKeyProtectedDisk" +}, +"type": "array" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance resume will not succeed." +} +}, +"type": "object" +}, +"InstancesScopedList": { +"id": "InstancesScopedList", +"properties": { +"instances": { +"description": "[Output Only] A list of instances contained in this scope.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instances when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstancesSetLabelsRequest": { +"id": "InstancesSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"InstancesSetMachineResourcesRequest": { +"id": "InstancesSetMachineResourcesRequest", +"properties": { +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesSetMachineTypeRequest": { +"id": "InstancesSetMachineTypeRequest", +"properties": { +"machineType": { +"description": "Full or partial URL of the machine type resource. See Machine Types for a full list of machine types. For example: zones/us-central1-f/machineTypes/n1-standard-1", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetMinCpuPlatformRequest": { +"id": "InstancesSetMinCpuPlatformRequest", +"properties": { +"minCpuPlatform": { +"description": "Minimum cpu/platform this instance should be started at.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetNameRequest": { +"id": "InstancesSetNameRequest", +"properties": { +"currentName": { +"description": "The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name.", +"type": "string" +}, +"name": { +"description": "The name to be applied to the instance. Needs to be RFC 1035 compliant.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetSecurityPolicyRequest": { +"id": "InstancesSetSecurityPolicyRequest", +"properties": { +"networkInterfaces": { +"description": "The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config.", +"items": { +"type": "string" +}, +"type": "array" +}, +"securityPolicy": { +"description": "A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetServiceAccountRequest": { +"id": "InstancesSetServiceAccountRequest", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesStartWithEncryptionKeyRequest": { +"id": "InstancesStartWithEncryptionKeyRequest", +"properties": { +"disks": { +"description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to start the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", +"items": { +"$ref": "CustomerEncryptionKeyProtectedDisk" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstantSnapshot": { +"description": "Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly..", +"id": "InstantSnapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instantSnapshot", +"description": "[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"resourceStatus": { +"$ref": "InstantSnapshotResourceStatus", +"description": "[Output Only] Status information for the instant snapshot resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sourceDisk": { +"description": "URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UNAVAILABLE" +], +"enumDescriptions": [ +"InstantSnapshot creation is in progress.", +"InstantSnapshot is currently being deleted.", +"InstantSnapshot creation failed.", +"InstantSnapshot has been created successfully.", +"InstantSnapshot is currently unavailable and cannot be used for Disk restoration" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotAggregatedList": { +"id": "InstantSnapshotAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstantSnapshotsScopedList", +"description": "[Output Only] Name of the scope containing this set of instantSnapshots." +}, +"description": "A list of InstantSnapshotsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instantSnapshotAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstantSnapshotList": { +"description": "Contains a list of InstantSnapshot resources.", +"id": "InstantSnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstantSnapshot resources.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#instantSnapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstantSnapshotResourceStatus": { +"id": "InstantSnapshotResourceStatus", +"properties": { +"storageSizeBytes": { +"description": "[Output Only] The storage size of this instant snapshot.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotsScopedList": { +"id": "InstantSnapshotsScopedList", +"properties": { +"instantSnapshots": { +"description": "[Output Only] A list of instantSnapshots contained in this scope.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Int64RangeMatch": { +"description": "HttpRouteRuleMatch criteria for field values that must stay within the specified integer range.", +"id": "Int64RangeMatch", +"properties": { +"rangeEnd": { +"description": "The end of the range (exclusive) in signed long integer format.", +"format": "int64", +"type": "string" +}, +"rangeStart": { +"description": "The start of the range (inclusive) in signed long integer format.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Interconnect": { +"description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", +"id": "Interconnect", +"properties": { +"aaiEnabled": { +"description": "Enable or disable the application awareness feature on this Cloud Interconnect.", +"type": "boolean" +}, +"adminEnabled": { +"description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", +"type": "boolean" +}, +"applicationAwareInterconnect": { +"$ref": "InterconnectApplicationAwareInterconnect", +"description": "Configuration information for application awareness on this Cloud Interconnect." +}, +"availableFeatures": { +"description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"circuitInfos": { +"description": "[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.", +"items": { +"$ref": "InterconnectCircuitInfo" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerName": { +"description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expectedOutages": { +"description": "[Output Only] A list of outages expected for this Interconnect.", +"items": { +"$ref": "InterconnectOutageNotification" +}, +"type": "array" +}, +"googleIpAddress": { +"description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests.", +"type": "string" +}, +"googleReferenceId": { +"description": "[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnectAttachments": { +"description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interconnectType": { +"description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", +"enum": [ +"DEDICATED", +"IT_PRIVATE", +"PARTNER" +], +"enumDescriptions": [ +"A dedicated physical interconnection with the customer.", +"[Deprecated] A private, physical interconnection with the customer.", +"A partner-managed interconnection shared between customers via partner." +], +"type": "string" +}, +"kind": { +"default": "compute#interconnect", +"description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"linkType": { +"description": "Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.", +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"location": { +"description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned.", +"type": "string" +}, +"macsec": { +"$ref": "InterconnectMacsec", +"description": "Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router." +}, +"macsecEnabled": { +"description": "Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.interconnects.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nocContactEmail": { +"description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +}, +"peerIpAddress": { +"description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.", +"type": "string" +}, +"provisionedLinkCount": { +"description": "[Output Only] Number of links actually provisioned in this interconnect.", +"format": "int32", +"type": "integer" +}, +"remoteLocation": { +"description": "Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.", +"type": "string" +}, +"requestedFeatures": { +"description": "Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"requestedLinkCount": { +"description": "Target number of physical links in the link bundle, as requested by the customer.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"ACTIVE", +"UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnect": { +"description": "Configuration information for application awareness on this Cloud Interconnect.", +"id": "InterconnectApplicationAwareInterconnect", +"properties": { +"bandwidthPercentagePolicy": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" +}, +"profileDescription": { +"description": "Description for the application awareness profile on this Cloud Interconnect.", +"type": "string" +}, +"shapeAveragePercentages": { +"description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", +"items": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" +}, +"type": "array" +}, +"strictPriorityPolicy": { +"$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectBandwidthPercentage": { +"description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", +"id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", +"properties": { +"percentage": { +"description": "Bandwidth percentage for a specific traffic class.", +"format": "uint32", +"type": "integer" +}, +"trafficClass": { +"description": "TrafficClass whose bandwidth percentage is being specified.", +"enum": [ +"TC1", +"TC2", +"TC3", +"TC4", +"TC5", +"TC6" +], +"enumDescriptions": [ +"Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", +"Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", +"Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", +"Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", +"Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", +"Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { +"id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", +"properties": { +"bandwidthPercentages": { +"description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", +"items": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { +"description": "Specify configuration for StrictPriorityPolicy.", +"id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", +"properties": {}, +"type": "object" +}, +"InterconnectAttachment": { +"description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", +"id": "InterconnectAttachment", +"properties": { +"adminEnabled": { +"description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", +"type": "boolean" +}, +"bandwidth": { +"description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", +"enum": [ +"BPS_100G", +"BPS_100M", +"BPS_10G", +"BPS_1G", +"BPS_200M", +"BPS_20G", +"BPS_2G", +"BPS_300M", +"BPS_400M", +"BPS_500M", +"BPS_50G", +"BPS_50M", +"BPS_5G" +], +"enumDescriptions": [ +"100 Gbit/s", +"100 Mbit/s", +"10 Gbit/s", +"1 Gbit/s", +"200 Mbit/s", +"20 Gbit/s", +"2 Gbit/s", +"300 Mbit/s", +"400 Mbit/s", +"500 Mbit/s", +"50 Gbit/s", +"50 Mbit/s", +"5 Gbit/s" +], +"type": "string" +}, +"candidateIpv6Subnets": { +"description": "This field is not available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"candidateSubnets": { +"description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cloudRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"configurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"dataplaneVersion": { +"description": "[Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"edgeAvailabilityDomain": { +"description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", +"enum": [ +"AVAILABILITY_DOMAIN_1", +"AVAILABILITY_DOMAIN_2", +"AVAILABILITY_DOMAIN_ANY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"encryption": { +"description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", +"enum": [ +"IPSEC", +"NONE" +], +"enumDescriptions": [ +"The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", +"This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." +], +"type": "string" +}, +"googleReferenceId": { +"deprecated": true, +"description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnect": { +"description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through.", +"type": "string" +}, +"ipsecInternalAddresses": { +"description": "A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachment", +"description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"mtu": { +"description": "Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"pairingKey": { +"description": "[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form \"XXXXX/region/domain\"", +"type": "string" +}, +"partnerAsn": { +"description": "Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.", +"format": "int64", +"type": "string" +}, +"partnerMetadata": { +"$ref": "InterconnectAttachmentPartnerMetadata", +"description": "Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED." +}, +"privateInterconnectInfo": { +"$ref": "InterconnectAttachmentPrivateInfo", +"description": "[Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED." +}, +"region": { +"description": "[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteService": { +"description": "[Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: \"Amazon Web Services\" \"Microsoft Azure\". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.", +"type": "string" +}, +"router": { +"description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"The interconnect attachment can have both IPv4 and IPv6 addresses.", +"The interconnect attachment will only be assigned IPv4 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. ", +"enum": [ +"ACTIVE", +"DEFUNCT", +"PARTNER_REQUEST_RECEIVED", +"PENDING_CUSTOMER", +"PENDING_PARTNER", +"STATE_UNSPECIFIED", +"UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.", +"A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.", +"PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.", +"A newly created PARTNER attachment that has not yet been configured on the Partner side.", +"", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"subnetLength": { +"description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. ", +"enum": [ +"DEDICATED", +"PARTNER", +"PARTNER_PROVIDER" +], +"enumDescriptions": [ +"Attachment to a dedicated interconnect.", +"Attachment to a partner interconnect, created by the customer.", +"Attachment to a partner interconnect, created by the partner." +], +"type": "string" +}, +"vlanTag8021q": { +"description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentAggregatedList": { +"id": "InterconnectAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InterconnectAttachmentsScopedList", +"description": "Name of the scope containing this set of interconnect attachments." +}, +"description": "A list of InterconnectAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#interconnectAttachmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectAttachmentConfigurationConstraints": { +"id": "InterconnectAttachmentConfigurationConstraints", +"properties": { +"bgpMd5": { +"description": "[Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.", +"enum": [ +"MD5_OPTIONAL", +"MD5_REQUIRED", +"MD5_UNSUPPORTED" +], +"enumDescriptions": [ +"MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.", +"MD5_REQUIRED: BGP MD5 authentication must be configured.", +"MD5_UNSUPPORTED: BGP MD5 authentication must not be configured" +], +"type": "string" +}, +"bgpPeerAsnRanges": { +"description": "[Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.", +"items": { +"$ref": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange": { +"id": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange", +"properties": { +"max": { +"format": "uint32", +"type": "integer" +}, +"min": { +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentList": { +"description": "Response to the list request, and contains a list of interconnect attachments.", +"id": "InterconnectAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectAttachment resources.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachmentList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectAttachmentPartnerMetadata": { +"description": "Informational metadata about Partner attachments from Partners to display to customers. These fields are propagated from PARTNER_PROVIDER attachments to their corresponding PARTNER attachments.", +"id": "InterconnectAttachmentPartnerMetadata", +"properties": { +"interconnectName": { +"description": "Plain text name of the Interconnect this attachment is connected to, as displayed in the Partner's portal. For instance \"Chicago 1\". This value may be validated to match approved Partner values.", +"type": "string" +}, +"partnerName": { +"description": "Plain text name of the Partner providing this attachment. This value may be validated to match approved Partner values.", +"type": "string" +}, +"portalUrl": { +"description": "URL of the Partner's portal for this Attachment. Partners may customise this to be a deep link to the specific resource on the Partner portal. This value may be validated to match approved Partner values.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentPrivateInfo": { +"description": "Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED.", +"id": "InterconnectAttachmentPrivateInfo", +"properties": { +"tag8021q": { +"description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentsScopedList": { +"id": "InterconnectAttachmentsScopedList", +"properties": { +"interconnectAttachments": { +"description": "A list of interconnect attachments contained in this scope.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectCircuitInfo": { +"description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", +"id": "InterconnectCircuitInfo", +"properties": { +"customerDemarcId": { +"description": "Customer-side demarc ID for this circuit.", +"type": "string" +}, +"googleCircuitId": { +"description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up.", +"type": "string" +}, +"googleDemarcId": { +"description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnostics": { +"description": "Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.", +"id": "InterconnectDiagnostics", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"bundleAggregationType": { +"description": "The aggregation type of the bundle interface.", +"enum": [ +"BUNDLE_AGGREGATION_TYPE_LACP", +"BUNDLE_AGGREGATION_TYPE_STATIC" +], +"enumDescriptions": [ +"LACP is enabled.", +"LACP is disabled." +], +"type": "string" +}, +"bundleOperationalStatus": { +"description": "The operational status of the bundle interface.", +"enum": [ +"BUNDLE_OPERATIONAL_STATUS_DOWN", +"BUNDLE_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", +"If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." +], +"type": "string" +}, +"links": { +"description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", +"items": { +"$ref": "InterconnectDiagnosticsLinkStatus" +}, +"type": "array" +}, +"macAddress": { +"description": "The MAC address of the Interconnect's bundle interface.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsARPEntry": { +"description": "Describing the ARP neighbor entries seen on this link", +"id": "InterconnectDiagnosticsARPEntry", +"properties": { +"ipAddress": { +"description": "The IP address of this ARP neighbor.", +"type": "string" +}, +"macAddress": { +"description": "The MAC address of this ARP neighbor.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkLACPStatus": { +"id": "InterconnectDiagnosticsLinkLACPStatus", +"properties": { +"googleSystemId": { +"description": "System ID of the port on Google's side of the LACP exchange.", +"type": "string" +}, +"neighborSystemId": { +"description": "System ID of the port on the neighbor's side of the LACP exchange.", +"type": "string" +}, +"state": { +"description": "The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. ", +"enum": [ +"ACTIVE", +"DETACHED" +], +"enumDescriptions": [ +"The link is configured and active within the bundle.", +"The link is not configured within the bundle, this means the rest of the object should be empty." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkOpticalPower": { +"id": "InterconnectDiagnosticsLinkOpticalPower", +"properties": { +"state": { +"description": "The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. ", +"enum": [ +"HIGH_ALARM", +"HIGH_WARNING", +"LOW_ALARM", +"LOW_WARNING", +"OK" +], +"enumDescriptions": [ +"The value has crossed above the high alarm threshold.", +"The value of the current optical power has crossed above the high warning threshold.", +"The value of the current optical power has crossed below the low alarm threshold.", +"The value of the current optical power has crossed below the low warning threshold.", +"The value of the current optical power has not crossed a warning threshold." +], +"type": "string" +}, +"value": { +"description": "Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkStatus": { +"id": "InterconnectDiagnosticsLinkStatus", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"circuitId": { +"description": "The unique ID for this link assigned during turn up by Google.", +"type": "string" +}, +"googleDemarc": { +"description": "The Demarc address assigned by Google and provided in the LoA.", +"type": "string" +}, +"lacpStatus": { +"$ref": "InterconnectDiagnosticsLinkLACPStatus" +}, +"macsec": { +"$ref": "InterconnectDiagnosticsMacsecStatus", +"description": "Describes the status of MACsec encryption on this link." +}, +"operationalStatus": { +"description": "The operational status of the link.", +"enum": [ +"LINK_OPERATIONAL_STATUS_DOWN", +"LINK_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"The interface is unable to communicate with the remote end.", +"The interface has low level communication with the remote end." +], +"type": "string" +}, +"receivingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." +}, +"transmittingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level." +} +}, +"type": "object" +}, +"InterconnectDiagnosticsMacsecStatus": { +"description": "Describes the status of MACsec encryption on the link.", +"id": "InterconnectDiagnosticsMacsecStatus", +"properties": { +"ckn": { +"description": "Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.", +"type": "string" +}, +"operational": { +"description": "Indicates whether or not MACsec is operational on this link.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectList": { +"description": "Response to the list request, and contains a list of interconnects.", +"id": "InterconnectList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Interconnect resources.", +"items": { +"$ref": "Interconnect" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectList", +"description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectLocation": { +"description": "Represents an Interconnect Attachment (VLAN) Location resource. You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read Creating VLAN Attachments.", +"id": "InterconnectLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"availabilityZone": { +"description": "[Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\".", +"type": "string" +}, +"availableFeatures": { +"description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"availableLinkTypes": { +"description": "[Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR ", +"items": { +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"type": "array" +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"C_AFRICA", +"C_ASIA_PAC", +"C_EUROPE", +"C_NORTH_AMERICA", +"C_SOUTH_AMERICA", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"regionInfos": { +"description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", +"items": { +"$ref": "InterconnectLocationRegionInfo" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectLocation is available for provisioning new Interconnects.", +"The InterconnectLocation is closed for provisioning new Interconnects." +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectLocationList": { +"description": "Response to the list request, and contains a list of interconnect locations.", +"id": "InterconnectLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectLocation resources.", +"items": { +"$ref": "InterconnectLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectLocationRegionInfo": { +"description": "Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.", +"id": "InterconnectLocationRegionInfo", +"properties": { +"expectedRttMs": { +"description": "Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.", +"format": "int64", +"type": "string" +}, +"locationPresence": { +"description": "Identifies the network presence of this location.", +"enum": [ +"GLOBAL", +"LOCAL_REGION", +"LP_GLOBAL", +"LP_LOCAL_REGION" +], +"enumDescriptions": [ +"This region is not in any common network presence with this InterconnectLocation.", +"This region shares the same regional network presence as this InterconnectLocation.", +"[Deprecated] This region is not in any common network presence with this InterconnectLocation.", +"[Deprecated] This region shares the same regional network presence as this InterconnectLocation." +], +"type": "string" +}, +"region": { +"description": "URL for the region of this location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsec": { +"description": "Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router.", +"id": "InterconnectMacsec", +"properties": { +"failOpen": { +"description": "If set to true, the Interconnect connection is configured with a should-secure MACsec security policy, that allows the Google router to fallback to cleartext traffic if the MKA session cannot be established. By default, the Interconnect connection is configured with a must-secure security policy that drops all traffic if the MKA session cannot be established with your router.", +"type": "boolean" +}, +"preSharedKeys": { +"description": "Required. A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfig": { +"description": "MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection.", +"id": "InterconnectMacsecConfig", +"properties": { +"preSharedKeys": { +"description": "A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecConfigPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfigPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecConfigPreSharedKey", +"properties": { +"cak": { +"description": "An auto-generated Connectivity Association Key (CAK) for this key.", +"type": "string" +}, +"ckn": { +"description": "An auto-generated Connectivity Association Key Name (CKN) for this key.", +"type": "string" +}, +"name": { +"description": "User provided name for this pre-shared key.", +"type": "string" +}, +"startTime": { +"description": "User provided timestamp on or after which this key is valid.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsecPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecPreSharedKey", +"properties": { +"name": { +"description": "Required. A name for this pre-shared key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"startTime": { +"description": "A RFC3339 timestamp on or after which the key is valid. startTime can be in the future. If the keychain has a single key, startTime can be omitted. If the keychain has multiple keys, startTime is mandatory for each key. The start times of keys must be in increasing order. The start times of two consecutive keys must be at least 6 hours apart.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectOutageNotification": { +"description": "Description of a planned outage on this Interconnect.", +"id": "InterconnectOutageNotification", +"properties": { +"affectedCircuits": { +"description": "If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be affected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "A description about the purpose of the outage.", +"type": "string" +}, +"endTime": { +"description": "Scheduled end time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"issueType": { +"description": "Form this outage is expected to take, which can take one of the following values: - OUTAGE: The Interconnect may be completely out of service for some or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain up, but with reduced bandwidth. Note that the versions of this enum prefixed with \"IT_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"IT_OUTAGE", +"IT_PARTIAL_OUTAGE", +"OUTAGE", +"PARTIAL_OUTAGE" +], +"enumDescriptions": [ +"[Deprecated] The Interconnect may be completely out of service for some or all of the specified window.", +"[Deprecated] Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth.", +"The Interconnect may be completely out of service for some or all of the specified window.", +"Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth." +], +"type": "string" +}, +"name": { +"description": "Unique identifier for this outage notification.", +"type": "string" +}, +"source": { +"description": "The party that generated this notification, which can take the following value: - GOOGLE: this notification as generated by Google. Note that the value of NSRC_GOOGLE has been deprecated in favor of GOOGLE.", +"enum": [ +"GOOGLE", +"NSRC_GOOGLE" +], +"enumDescriptions": [ +"This notification was generated by Google.", +"[Deprecated] This notification was generated by Google." +], +"type": "string" +}, +"startTime": { +"description": "Scheduled start time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"state": { +"description": "State of this notification, which can take one of the following values: - ACTIVE: This outage notification is active. The event could be in the past, present, or future. See start_time and end_time for scheduling. - CANCELLED: The outage associated with this notification was cancelled before the outage was due to start. - COMPLETED: The outage associated with this notification is complete. Note that the versions of this enum prefixed with \"NS_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"ACTIVE", +"CANCELLED", +"COMPLETED", +"NS_ACTIVE", +"NS_CANCELED" +], +"enumDescriptions": [ +"This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"The outage associated with this notification was cancelled before the outage was due to start.", +"The outage associated with this notification is complete.", +"[Deprecated] This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"[Deprecated] The outage associated with this notification was canceled before the outage was due to start." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocation": { +"description": "Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN).", +"id": "InterconnectRemoteLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"attachmentConfigurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location." +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"constraints": { +"$ref": "InterconnectRemoteLocationConstraints", +"description": "[Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments." +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectRemoteLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations.", +"type": "string" +}, +"lacp": { +"description": "[Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED", +"enum": [ +"LACP_SUPPORTED", +"LACP_UNSUPPORTED" +], +"enumDescriptions": [ +"LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.", +"LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port. GetDiagnostics shows bundleAggregationType as \"static\". GCP does not support LAGs without LACP, so requestedLinkCount must be 1." +], +"type": "string" +}, +"maxLagSize100Gbps": { +"description": "[Output Only] The maximum number of 100 Gbps ports supported in a link aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps.", +"format": "int32", +"type": "integer" +}, +"maxLagSize10Gbps": { +"description": "[Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"permittedConnections": { +"description": "[Output Only] Permitted connections.", +"items": { +"$ref": "InterconnectRemoteLocationPermittedConnections" +}, +"type": "array" +}, +"remoteService": { +"description": "[Output Only] Indicates the service provider present at the remote location. Example values: \"Amazon Web Services\", \"Microsoft Azure\".", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.", +"The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraints": { +"id": "InterconnectRemoteLocationConstraints", +"properties": { +"portPairRemoteLocation": { +"description": "[Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.", +"enum": [ +"PORT_PAIR_MATCHING_REMOTE_LOCATION", +"PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_REMOTE_LOCATION, the remote cloud provider allocates ports in pairs, and the user should choose the same remote location for both ports.", +"If PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, a user may opt to provision a redundant pair of Cross-Cloud Interconnects using two different remote locations in the same city." +], +"type": "string" +}, +"portPairVlan": { +"description": "[Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN", +"enum": [ +"PORT_PAIR_MATCHING_VLAN", +"PORT_PAIR_UNCONSTRAINED_VLAN" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_VLAN, the Interconnect for this attachment is part of a pair of ports that should have matching VLAN allocations. This occurs with Cross-Cloud Interconnect to Azure remote locations. While GCP's API does not explicitly group pairs of ports, the UI uses this field to ensure matching VLAN ids when configuring a redundant VLAN pair.", +"PORT_PAIR_UNCONSTRAINED_VLAN means there is no constraint." +], +"type": "string" +}, +"subnetLengthRange": { +"$ref": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"description": "[Output Only] [min-length, max-length] The minimum and maximum value (inclusive) for the IPv4 subnet length. For example, an interconnectRemoteLocation for Azure has {min: 30, max: 30} because Azure requires /30 subnets. This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be {min: 29, max: 30}. " +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraintsSubnetLengthRange": { +"id": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"properties": { +"max": { +"format": "int32", +"type": "integer" +}, +"min": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationList": { +"description": "Response to the list request, and contains a list of interconnect remote locations.", +"id": "InterconnectRemoteLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectRemoteLocation resources.", +"items": { +"$ref": "InterconnectRemoteLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectRemoteLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token lets you get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationPermittedConnections": { +"id": "InterconnectRemoteLocationPermittedConnections", +"properties": { +"interconnectLocation": { +"description": "[Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectsGetDiagnosticsResponse": { +"description": "Response for the InterconnectsGetDiagnosticsRequest.", +"id": "InterconnectsGetDiagnosticsResponse", +"properties": { +"result": { +"$ref": "InterconnectDiagnostics" +} +}, +"type": "object" +}, +"InterconnectsGetMacsecConfigResponse": { +"description": "Response for the InterconnectsGetMacsecConfigRequest.", +"id": "InterconnectsGetMacsecConfigResponse", +"properties": { +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +}, +"result": { +"$ref": "InterconnectMacsecConfig" +} +}, +"type": "object" +}, +"License": { +"description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "License", +"properties": { +"chargesUseFee": { +"description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#license", +"description": "[Output Only] Type of resource. Always compute#license for licenses.", +"type": "string" +}, +"licenseCode": { +"description": "[Output Only] The unique code used to attach this license to images, snapshots, and disks.", +"format": "uint64", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"description": "Name of the resource. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"resourceRequirements": { +"$ref": "LicenseResourceRequirements", +"description": "[Input Only] Deprecated." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"transferable": { +"description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", +"type": "boolean" +} +}, +"type": "object" +}, +"LicenseCode": { +"description": "Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "LicenseCode", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#licenseCode", +"description": "[Output Only] Type of resource. Always compute#licenseCode for licenses.", +"type": "string" +}, +"licenseAlias": { +"description": "[Output Only] URL and description aliases of Licenses with the same License Code.", +"items": { +"$ref": "LicenseCodeLicenseAlias" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.licenses.insert" +] +}, +"description": "[Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer.", +"pattern": "[0-9]{0,20}?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"state": { +"description": "[Output Only] Current state of this License Code.", +"enum": [ +"DISABLED", +"ENABLED", +"RESTRICTED", +"STATE_UNSPECIFIED", +"TERMINATED" +], +"enumDescriptions": [ +"Machines are not allowed to attach boot disks with this License Code. Requests to create new resources with this license will be rejected.", +"Use is allowed for anyone with USE_READ_ONLY access to this License Code.", +"Use of this license is limited to a project whitelist.", +"", +"Reserved state." +], +"type": "string" +}, +"transferable": { +"description": "[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred.", +"type": "boolean" +} +}, +"type": "object" +}, +"LicenseCodeLicenseAlias": { +"id": "LicenseCodeLicenseAlias", +"properties": { +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] URL of license corresponding to this License Code.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceCommitment": { +"description": "Commitment for a particular license resource.", +"id": "LicenseResourceCommitment", +"properties": { +"amount": { +"description": "The number of licenses purchased.", +"format": "int64", +"type": "string" +}, +"coresPerLicense": { +"description": "Specifies the core range of the instance for which this license applies.", +"type": "string" +}, +"license": { +"description": "Any applicable license URI.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceRequirements": { +"id": "LicenseResourceRequirements", +"properties": { +"minGuestCpuCount": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", +"format": "int32", +"type": "integer" +}, +"minMemoryMb": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"LicensesListResponse": { +"id": "LicensesListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of License resources.", +"items": { +"$ref": "License" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"LocalDisk": { +"id": "LocalDisk", +"properties": { +"diskCount": { +"description": "Specifies the number of such disks.", +"format": "int32", +"type": "integer" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int32", +"type": "integer" +}, +"diskType": { +"description": "Specifies the desired disk type on the node. This disk type must be a local storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be the name of the disk type and not its URL.", +"type": "string" +} +}, +"type": "object" +}, +"LocalizedMessage": { +"description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", +"id": "LocalizedMessage", +"properties": { +"locale": { +"description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", +"type": "string" +}, +"message": { +"description": "The localized error message in the above locale.", +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicy": { +"description": "Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).", +"id": "LocationPolicy", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "LocationPolicyLocation" +}, +"description": "Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.", +"type": "object" +}, +"targetShape": { +"description": "Strategy for distributing VMs across zones in a region.", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED" +], +"enumDescriptions": [ +"GCE picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"GCE always selects a single zone for all the VMs, optimizing for resource quotas, available reservations and general capacity. Recommended for batch workloads that cannot tollerate distribution over multiple zones. This the default shape in Bulk Insert and Capacity Advisor APIs.", +"GCE prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across allowed zones to minimize the impact of zonal failure. Recommended for highly available serving workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocation": { +"id": "LocationPolicyLocation", +"properties": { +"constraints": { +"$ref": "LocationPolicyLocationConstraints", +"description": "Constraints that the caller requires on the result distribution in this zone." +}, +"preference": { +"description": "Preference for a given location. Set to either ALLOW or DENY.", +"enum": [ +"ALLOW", +"DENY", +"PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"Location is allowed for use.", +"Location is prohibited.", +"Default value, unused." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocationConstraints": { +"description": "Per-zone constraints on location policy for this zone.", +"id": "LocationPolicyLocationConstraints", +"properties": { +"maxCount": { +"description": "Maximum number of items that are allowed to be placed in this zone. The value must be non-negative.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MachineImage": { +"description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", +"id": "MachineImage", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this machine image in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] A unique identifier for this machine image. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "[Output Only] Properties of source instance" +}, +"kind": { +"default": "compute#machineImage", +"description": "[Output Only] The resource type, which is always compute#machineImage for machine image.", +"type": "string" +}, +"machineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the machine image using a customer-supplied encryption key. After you encrypt a machine image using a customer-supplied key, you must provide the same key if you use the machine image later. For example, you must provide the encryption key when you create an instance from the encrypted machine image in a future request. Customer-supplied encryption keys do not protect access to metadata of the machine image. If you do not provide an encryption key when creating the machine image, then the machine image will be encrypted using an automatically generated key and you do not need to provide a key to use the machine image later." +}, +"name": { +"annotations": { +"required": [ +"compute.machineImages.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"savedDisks": { +"description": "An array of Machine Image specific properties for disks attached to the source instance", +"items": { +"$ref": "SavedDisk" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] The URL for this machine image. The server defines this URL.", +"type": "string" +}, +"sourceDiskEncryptionKeys": { +"description": "[Input Only] The customer-supplied encryption key of the disks attached to the source instance. Required if the source disk is protected by a customer-supplied encryption key.", +"items": { +"$ref": "SourceDiskEncryptionKey" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create the machine image. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceProperties": { +"$ref": "SourceInstanceProperties", +"description": "[Output Only] DEPRECATED: Please use instance_properties instead for source instance related properties. New properties will not be added to this field." +}, +"status": { +"description": "[Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"totalStorageBytes": { +"description": "[Output Only] Total size of the storage used by the machine image.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MachineImageList": { +"description": "A list of machine images.", +"id": "MachineImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineImage resources.", +"items": { +"$ref": "MachineImage" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineImageList", +"description": "[Output Only] The resource type, which is always compute#machineImagesListResponse for machine image lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineType": { +"description": "Represents a Machine Type resource. You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types.", +"id": "MachineType", +"properties": { +"accelerators": { +"description": "[Output Only] A list of accelerator configurations assigned to this machine type.", +"items": { +"properties": { +"guestAcceleratorCount": { +"description": "Number of accelerator cards exposed to the guest.", +"format": "int32", +"type": "integer" +}, +"guestAcceleratorType": { +"description": "The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"architecture": { +"description": "[Output Only] The architecture of the machine type.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"bundledLocalSsds": { +"$ref": "BundledLocalSsds", +"description": "[Output Only] The configuration of bundled local SSD for the machine type." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this machine type. Only applicable if the machine type is unavailable." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"isSharedCpu": { +"description": "[Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.", +"type": "boolean" +}, +"kind": { +"default": "compute#machineType", +"description": "[Output Only] The type of the resource. Always compute#machineType for machine types.", +"type": "string" +}, +"maximumPersistentDisks": { +"description": "[Output Only] Maximum persistent disks allowed.", +"format": "int32", +"type": "integer" +}, +"maximumPersistentDisksSizeGb": { +"description": "[Output Only] Maximum total persistent disks size (GB) allowed.", +"format": "int64", +"type": "string" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the instance, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the machine type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"MachineTypeAggregatedList": { +"id": "MachineTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "MachineTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of machine types." +}, +"description": "A list of MachineTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#machineTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#machineTypeAggregatedList for aggregated lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineTypeList": { +"description": "Contains a list of machine types.", +"id": "MachineTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineType resources.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineTypeList", +"description": "[Output Only] Type of resource. Always compute#machineTypeList for lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineTypesScopedList": { +"id": "MachineTypesScopedList", +"properties": { +"machineTypes": { +"description": "[Output Only] A list of machine types contained in this scope.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the machine types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ManagedInstance": { +"description": "A Managed Instance resource.", +"id": "ManagedInstance", +"properties": { +"allInstancesConfig": { +"$ref": "ManagedInstanceAllInstancesConfig", +"description": "[Output Only] Current all-instances configuration revision applied to this instance." +}, +"currentAction": { +"description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: - NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. - CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased instead. - RECREATING The managed instance group is recreating this instance. - DELETING The managed instance group is permanently deleting this instance. - ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. - RESTARTING The managed instance group is restarting the instance. - REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance. - VERIFYING The managed instance group has created the instance and it is in the process of being verified. ", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"id": { +"description": "[Output only] The unique identifier for this resource. This field is empty when instance does not exist.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can exist even if the instance has not yet been created.", +"type": "string" +}, +"instanceHealth": { +"description": "[Output Only] Health state of the instance per health-check.", +"items": { +"$ref": "ManagedInstanceInstanceHealth" +}, +"type": "array" +}, +"instanceStatus": { +"description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"lastAttempt": { +"$ref": "ManagedInstanceLastAttempt", +"description": "[Output Only] Information about the last attempt to create or delete the instance." +}, +"name": { +"description": "[Output Only] The name of the instance. The name always exists even if the instance has not yet been created.", +"type": "string" +}, +"preservedStateFromConfig": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state applied from per-instance config for this instance." +}, +"preservedStateFromPolicy": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state generated based on stateful policy for this instance." +}, +"propertiesFromFlexibilityPolicy": { +"$ref": "ManagedInstancePropertiesFromFlexibilityPolicy", +"description": "[Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy." +}, +"targetStatus": { +"description": "[Output Only] The eventual status of the instance. The instance group manager will not be identified as stable till each managed instance reaches its targetStatus.", +"enum": [ +"ABANDONED", +"DELETED", +"RUNNING", +"STOPPED", +"SUSPENDED" +], +"enumDescriptions": [ +"The managed instance will eventually be ABANDONED, i.e. dissociated from the managed instance group.", +"The managed instance will eventually be DELETED.", +"The managed instance will eventually reach status RUNNING.", +"The managed instance will eventually reach status TERMINATED.", +"The managed instance will eventually reach status SUSPENDED." +], +"type": "string" +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Intended version of this instance." +} +}, +"type": "object" +}, +"ManagedInstanceAllInstancesConfig": { +"id": "ManagedInstanceAllInstancesConfig", +"properties": { +"revision": { +"description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceInstanceHealth": { +"id": "ManagedInstanceInstanceHealth", +"properties": { +"detailedHealthState": { +"description": "[Output Only] The current detailed instance health state.", +"enum": [ +"DRAINING", +"HEALTHY", +"TIMEOUT", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"The instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.", +"The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.", +"The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout.", +"The instance is reachable, but does not conform to the requirements defined by the health check.", +"The health checking system is aware of the instance but its health is not known at the moment." +], +"type": "string" +}, +"healthCheck": { +"description": "[Output Only] The URL for the health check that verifies whether the instance is healthy.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceLastAttempt": { +"id": "ManagedInstanceLastAttempt", +"properties": { +"errors": { +"description": "[Output Only] Encountered errors during the last attempt to create or delete the instance.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ManagedInstancePropertiesFromFlexibilityPolicy": { +"id": "ManagedInstancePropertiesFromFlexibilityPolicy", +"properties": { +"machineType": { +"description": "The machine type to be used for this instance.", +"type": "string" +}, +"provisioningModel": { +"description": "The provisioning model to be used for this instance.", +"enum": [ +"RESERVATION_BOUND", +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Bound to the lifecycle of the reservation in which it is provisioned.", +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceVersion": { +"id": "ManagedInstanceVersion", +"properties": { +"instanceTemplate": { +"description": "[Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING }.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the version.", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", +"items": { +"description": "Metadata", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.", +"pattern": "[a-zA-Z0-9-_]{1,128}", +"type": "string" +}, +"value": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilter": { +"description": "Opaque filter criteria used by load balancers to restrict routing configuration to a limited set of load balancing proxies. Proxies and sidecars involved in load balancing would typically present metadata to the load balancers that need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. An example for using metadataFilters would be: if load balancing involves Envoys, they receive routing configuration when values in metadataFilters match values supplied in of their XDS requests to loadbalancers.", +"id": "MetadataFilter", +"properties": { +"filterLabels": { +"description": "The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.", +"items": { +"$ref": "MetadataFilterLabelMatch" +}, +"type": "array" +}, +"filterMatchCriteria": { +"description": "Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata. ", +"enum": [ +"MATCH_ALL", +"MATCH_ANY", +"NOT_SET" +], +"enumDescriptions": [ +"Specifies that all filterLabels must match for the metadataFilter to be considered a match.", +"Specifies that any filterLabel must match for the metadataFilter to be considered a match.", +"Indicates that the match criteria was not set. A metadataFilter must never be created with this value." +], +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilterLabelMatch": { +"description": "MetadataFilter label name value pairs that are expected to match corresponding labels presented as metadata to the load balancer.", +"id": "MetadataFilterLabelMatch", +"properties": { +"name": { +"description": "Name of metadata label. The name can have a maximum length of 1024 characters and must be at least 1 character long.", +"type": "string" +}, +"value": { +"description": "The value of the label must match the specified value. value can have a maximum length of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"MultiMig": { +"description": "Multi-MIG represents a group of managed instance groups.", +"id": "MultiMig", +"properties": { +"creationTimestamp": { +"description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#multiMig", +"description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", +"type": "string" +}, +"name": { +"description": "The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", +"type": "string" +}, +"resourcePolicies": { +"$ref": "MultiMigResourcePolicies", +"description": "Resource policies for this multi-MIG." +}, +"selfLink": { +"description": "[Output only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"MultiMigResourcePolicies": { +"description": "Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG.", +"id": "MultiMigResourcePolicies", +"properties": { +"workloadPolicy": { +"description": "The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"MultiMigsList": { +"id": "MultiMigsList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of multi-MIGs in the specified project and region.", +"items": { +"$ref": "MultiMig" +}, +"type": "array" +}, +"kind": { +"default": "compute#multiMigList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NamedPort": { +"description": "The named port. For example: <\"http\", 80>.", +"id": "NamedPort", +"properties": { +"name": { +"description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.", +"type": "string" +}, +"port": { +"description": "The port number, which can be a value between 1 and 65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NatIpInfo": { +"description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).", +"id": "NatIpInfo", +"properties": { +"natIpInfoMappings": { +"description": "A list of all NAT IPs assigned to this NAT config.", +"items": { +"$ref": "NatIpInfoNatIpInfoMapping" +}, +"type": "array" +}, +"natName": { +"description": "Name of the NAT config which the NAT IP belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoNatIpInfoMapping": { +"description": "Contains information of a NAT IP.", +"id": "NatIpInfoNatIpInfoMapping", +"properties": { +"mode": { +"description": "Specifies whether NAT IP is auto or manual.", +"enum": [ +"AUTO", +"MANUAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"natIp": { +"description": "NAT IP address. For example: 203.0.113.11.", +"type": "string" +}, +"usage": { +"description": "Specifies whether NAT IP is currently serving at least one endpoint or not.", +"enum": [ +"IN_USE", +"UNUSED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoResponse": { +"id": "NatIpInfoResponse", +"properties": { +"result": { +"description": "[Output Only] A list of NAT IP information.", +"items": { +"$ref": "NatIpInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"Network": { +"description": "Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Network", +"properties": { +"IPv4Range": { +"deprecated": true, +"description": "Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", +"type": "string" +}, +"autoCreateSubnetworks": { +"description": "Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"enableUlaInternalIpv6": { +"description": "Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. .", +"type": "boolean" +}, +"firewallPolicy": { +"description": "[Output Only] URL of the firewall policy the network is associated with.", +"type": "string" +}, +"gatewayIPv4": { +"description": "[Output Only] The gateway address for default routing out of the network, selected by Google Cloud.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Range": { +"description": "When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. .", +"type": "string" +}, +"kind": { +"default": "compute#network", +"description": "[Output Only] Type of the resource. Always compute#network for networks.", +"type": "string" +}, +"mtu": { +"description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", +"format": "int32", +"type": "integer" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkFirewallPolicyEnforcementOrder": { +"description": "The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified.", +"enum": [ +"AFTER_CLASSIC_FIREWALL", +"BEFORE_CLASSIC_FIREWALL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"networkProfile": { +"description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", +"type": "string" +}, +"peerings": { +"description": "[Output Only] A list of network peerings for the resource.", +"items": { +"$ref": "NetworkPeering" +}, +"type": "array" +}, +"routingConfig": { +"$ref": "NetworkRoutingConfig", +"description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"subnetworks": { +"description": "[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachment": { +"description": "NetworkAttachments A network attachment resource ...", +"id": "NetworkAttachment", +"properties": { +"connectionEndpoints": { +"description": "[Output Only] An array of connections for all the producers connected to this network attachment.", +"items": { +"$ref": "NetworkAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkAttachment", +"description": "[Output Only] Type of the resource.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.networkAttachments.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "[Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.", +"type": "string" +}, +"producerAcceptLists": { +"description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerRejectLists": { +"description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"subnetworks": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachmentAggregatedList": { +"description": "Contains a list of NetworkAttachmentsScopedList.", +"id": "NetworkAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkAttachmentsScopedList", +"description": "Name of the scope containing this set of NetworkAttachments." +}, +"description": "A list of NetworkAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkAttachmentAggregatedList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this network attachment.", +"id": "NetworkAttachmentConnectedEndpoint", +"properties": { +"ipAddress": { +"description": "The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.", +"type": "string" +}, +"ipv6Address": { +"description": "The IPv6 address assigned to the producer instance network interface. This is only assigned when the stack types of both the instance network interface and the consumer subnet are IPv4_IPv6.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number of the interface to which the IP was assigned.", +"type": "string" +}, +"secondaryIpCidrRanges": { +"description": "Alias IP ranges from the same subnetwork.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "The status of a connected endpoint to this network attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The consumer allows traffic from the producer to reach its VPC.", +"The consumer network attachment no longer exists.", +"The consumer needs to take further action before traffic can be served.", +"The consumer neither allows nor prohibits traffic from the producer to reach its VPC.", +"The consumer prohibits traffic from the producer to reach its VPC.", +"" +], +"type": "string" +}, +"subnetwork": { +"description": "The subnetwork used to assign the IP to the producer instance network interface.", +"type": "string" +}, +"subnetworkCidrRange": { +"description": "[Output Only] The CIDR range of the subnet from which the IPv4 internal IP was allocated from.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAttachmentList": { +"id": "NetworkAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkAttachment resources.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkAttachmentList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkAttachmentsScopedList": { +"id": "NetworkAttachmentsScopedList", +"properties": { +"networkAttachments": { +"description": "A list of NetworkAttachments contained in this scope.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of network attachments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityService": { +"description": "Represents a Google Cloud Armor network edge security service resource.", +"id": "NetworkEdgeSecurityService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEdgeSecurityService", +"description": "[Output only] Type of the resource. Always compute#networkEdgeSecurityService for NetworkEdgeSecurityServices", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the network edge security service associated with this network edge security service.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityServiceAggregatedList": { +"id": "NetworkEdgeSecurityServiceAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEdgeSecurityServicesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of NetworkEdgeSecurityServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEdgeSecurityServiceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security Services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityServicesScopedList": { +"id": "NetworkEdgeSecurityServicesScopedList", +"properties": { +"networkEdgeSecurityServices": { +"description": "A list of NetworkEdgeSecurityServices contained in this scope.", +"items": { +"$ref": "NetworkEdgeSecurityService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpoint": { +"description": "The network endpoint.", +"id": "NetworkEndpoint", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint.", +"type": "object" +}, +"clientDestinationPort": { +"description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", +"format": "int32", +"type": "integer" +}, +"fqdn": { +"description": "Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.", +"type": "string" +}, +"instance": { +"description": "The name or a URL of VM instance of this network endpoint. This field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", +"type": "string" +}, +"ipAddress": { +"description": "Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.", +"type": "string" +}, +"ipv6Address": { +"description": "Optional IPv6 address of network endpoint.", +"type": "string" +}, +"port": { +"description": "Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NetworkEndpointGroup": { +"description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.", +"id": "NetworkEndpointGroup", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"appEngine": { +"$ref": "NetworkEndpointGroupAppEngine", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudFunction": { +"$ref": "NetworkEndpointGroupCloudFunction", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudRun": { +"$ref": "NetworkEndpointGroupCloudRun", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultPort": { +"description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEndpointGroup", +"description": "[Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group.", +"type": "string" +}, +"loadBalancer": { +"$ref": "NetworkEndpointGroupLbNetworkEndpointGroup", +"deprecated": true, +"description": "This field is only valid when the network endpoint group is used for load balancing. [Deprecated] This field is deprecated." +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"network": { +"description": "The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified.", +"type": "string" +}, +"networkEndpointType": { +"description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", +"enum": [ +"GCE_VM_IP", +"GCE_VM_IP_PORT", +"GCE_VM_IP_PORTMAP", +"INTERNET_FQDN_PORT", +"INTERNET_IP_PORT", +"NON_GCP_PRIVATE_IP_PORT", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS" +], +"enumDescriptions": [ +"The network endpoint is represented by an IP address.", +"The network endpoint is represented by IP address and port pair.", +"The network endpoint is represented by an IP, Port and Client Destination Port.", +"The network endpoint is represented by fully qualified domain name and port.", +"The network endpoint is represented by an internet IP address and port.", +"The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer's on-premises.", +"The network endpoint is either public Google APIs or services exposed by other GCP Project with a Service Attachment. The connection is set up by private service connect", +"The network endpoint is handled by specified serverless infrastructure." +], +"type": "string" +}, +"pscData": { +"$ref": "NetworkEndpointGroupPscData" +}, +"pscTargetService": { +"description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the network endpoint group is located.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serverlessDeployment": { +"$ref": "NetworkEndpointGroupServerlessDeployment", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine, cloudFunction or serverlessDeployment may be set." +}, +"size": { +"description": "[Output only] Number of network endpoints in the network endpoint group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the network endpoint group is located.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupAggregatedList": { +"id": "NetworkEndpointGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEndpointGroupsScopedList", +"description": "The name of the scope that contains this set of network endpoint groups." +}, +"description": "A list of NetworkEndpointGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEndpointGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupAggregatedList for aggregated lists of network endpoint groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupAppEngine": { +"description": "Configuration for an App Engine network endpoint group (NEG). The service is optional, may be provided explicitly or in the URL mask. The version is optional and can only be provided explicitly or in the URL mask when service is present. Note: App Engine service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupAppEngine", +"properties": { +"service": { +"description": "Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: default, my-service.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLs foo1-dot-appname.appspot.com/v1 and foo1-dot-appname.appspot.com/v2 can be backed by the same Serverless NEG with URL mask -dot-appname.appspot.com/. The URL mask will parse them to { service = \"foo1\", version = \"v1\" } and { service = \"foo1\", version = \"v2\" } respectively.", +"type": "string" +}, +"version": { +"description": "Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: v1, v2.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudFunction": { +"description": "Configuration for a Cloud Function network endpoint group (NEG). The function must be provided explicitly or in the URL mask. Note: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudFunction", +"properties": { +"function": { +"description": "A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: func1.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs mydomain.com/function1 and mydomain.com/function2 can be backed by the same Serverless NEG with URL mask /. The URL mask will parse them to { function = \"function1\" } and { function = \"function2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudRun": { +"description": "Configuration for a Cloud Run network endpoint group (NEG). The service must be provided explicitly or in the URL mask. The tag is optional, may be provided explicitly or in the URL mask. Note: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudRun", +"properties": { +"service": { +"description": "Cloud Run service is the main resource of Cloud Run. The service must be 1-63 characters long, and comply with RFC1035. Example value: \"run-service\".", +"type": "string" +}, +"tag": { +"description": "Optional Cloud Run tag represents the \"named-revision\" to provide additional fine-grained traffic routing information. The tag must be 1-63 characters long, and comply with RFC1035. Example value: \"revision-0010\".", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse and fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs foo1.domain.com/bar1 and foo1.domain.com/bar2 can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask .domain.com/. The URL mask will parse them to { service=\"bar1\", tag=\"foo1\" } and { service=\"bar2\", tag=\"foo2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupLbNetworkEndpointGroup": { +"description": "Load balancing specific fields for network endpoint group.", +"id": "NetworkEndpointGroupLbNetworkEndpointGroup", +"properties": { +"defaultPort": { +"deprecated": true, +"description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified. [Deprecated] This field is deprecated.", +"format": "int32", +"type": "integer" +}, +"network": { +"deprecated": true, +"description": "The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified. [Deprecated] This field is deprecated.", +"type": "string" +}, +"subnetwork": { +"deprecated": true, +"description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong. [Deprecated] This field is deprecated.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "[Output Only] The URL of the zone where the network endpoint group is located. [Deprecated] This field is deprecated.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupList": { +"id": "NetworkEndpointGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointGroup resources.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupList for network endpoint group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupPscData": { +"description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", +"id": "NetworkEndpointGroupPscData", +"properties": { +"consumerPscAddress": { +"description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", +"type": "string" +}, +"producerPort": { +"description": "The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type", +"format": "int32", +"type": "integer" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"description": "[Output Only] The connection status of the PSC Forwarding Rule.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupServerlessDeployment": { +"description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupServerlessDeployment", +"properties": { +"platform": { +"description": "The platform of the backend target(s) of this NEG. The only supported value is API Gateway: apigateway.googleapis.com.", +"type": "string" +}, +"resource": { +"description": "The user-defined name of the workload/instance. This value must be provided explicitly or in the urlMask. The resource identified by this value is platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run: The service name ", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows: 1. API Gateway: The gateway ID 2. App Engine: The service and version 3. Cloud Functions: The function name 4. Cloud Run: The service and tag ", +"type": "string" +}, +"version": { +"description": "The optional resource version. The version identified by this value is platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag ", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsAttachEndpointsRequest": { +"id": "NetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsDetachEndpointsRequest": { +"id": "NetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListEndpointsRequest": { +"id": "NetworkEndpointGroupsListEndpointsRequest", +"properties": { +"endpointFilters": { +"description": "Optional list of endpoints to query. This is a more efficient but also limited version of filter parameter. Endpoints in the filter must have ip_address and port fields populated, other fields are not supported.", +"items": { +"$ref": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter" +}, +"type": "array" +}, +"healthStatus": { +"description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", +"enum": [ +"SHOW", +"SKIP" +], +"enumDescriptions": [ +"Show the health status for each network endpoint. Impacts latency of the call.", +"Health status for network endpoints will not be provided." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter": { +"id": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter", +"properties": { +"networkEndpoint": { +"$ref": "NetworkEndpoint" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListNetworkEndpoints": { +"id": "NetworkEndpointGroupsListNetworkEndpoints", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointWithHealthStatus resources.", +"items": { +"$ref": "NetworkEndpointWithHealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupsListNetworkEndpoints", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsScopedList": { +"id": "NetworkEndpointGroupsScopedList", +"properties": { +"networkEndpointGroups": { +"description": "[Output Only] The list of network endpoint groups that are contained in this scope.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointWithHealthStatus": { +"id": "NetworkEndpointWithHealthStatus", +"properties": { +"healths": { +"description": "[Output only] The health status of network endpoint;", +"items": { +"$ref": "HealthStatusForNetworkEndpoint" +}, +"type": "array" +}, +"networkEndpoint": { +"$ref": "NetworkEndpoint", +"description": "[Output only] The network endpoint;" +} +}, +"type": "object" +}, +"NetworkFirewallPolicyAggregatedList": { +"id": "NetworkFirewallPolicyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "FirewallPoliciesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of FirewallPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkFirewallPolicyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkInterface": { +"description": "A network interface resource attached to an instance.", +"id": "NetworkInterface", +"properties": { +"accessConfigs": { +"description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"aliasIpRanges": { +"description": "An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"items": { +"$ref": "AliasIpRange" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.", +"format": "byte", +"type": "string" +}, +"internalIpv6PrefixLength": { +"description": "The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" +}, +"ipv6AccessConfigs": { +"description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"ipv6AccessType": { +"description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"This network interface can have external IPv6.", +"This network interface can have internal IPv6." +], +"type": "string" +}, +"ipv6Address": { +"description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"kind": { +"default": "compute#networkInterface", +"description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.", +"type": "string" +}, +"network": { +"description": "URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default ", +"type": "string" +}, +"networkAttachment": { +"description": "The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, +"networkIP": { +"description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", +"type": "string" +}, +"nicType": { +"description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"queueCount": { +"description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"The network interface can have both IPv4 and IPv6 addresses.", +"The network interface will only be assigned IPv4 addresses.", +"The network interface will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", +"type": "string" +} +}, +"type": "object" +}, +"NetworkList": { +"description": "Contains a list of networks.", +"id": "NetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Network resources.", +"items": { +"$ref": "Network" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkList", +"description": "[Output Only] Type of resource. Always compute#networkList for lists of networks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkPeering": { +"description": "A network peering attached to a network resource. The message includes the peering name, peer network, peering state, and a flag indicating whether Google Compute Engine should automatically create routes for the peering.", +"id": "NetworkPeering", +"properties": { +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exchangeSubnetRoutes": { +"description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exportCustomRoutes": { +"description": "Whether to export the custom routes to peer network. The default value is false.", +"type": "boolean" +}, +"exportSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are exported. The default value is true, all subnet routes are exported. IPv4 special-use ranges are always exported to peers and are not controlled by this field.", +"type": "boolean" +}, +"importCustomRoutes": { +"description": "Whether to import the custom routes from peer network. The default value is false.", +"type": "boolean" +}, +"importSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are imported. The default value is false. IPv4 special-use ranges are always imported from peers and are not controlled by this field.", +"type": "boolean" +}, +"name": { +"description": "Name of this peering. Provided by the client when the peering is created. The name must comply with RFC1035. Specifically, the name must be 1-63 characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all the following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"network": { +"description": "The URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +}, +"peerMtu": { +"description": "Maximum Transmission Unit in bytes.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", +"This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." +], +"type": "string" +}, +"state": { +"description": "[Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The peering is `ACTIVE` when there's a matching configuration in the peer network.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Matching configuration exists on the peer.", +"There is no matching configuration on the peer, including the case when peer does not exist." +], +"type": "string" +}, +"stateDetails": { +"description": "[Output Only] Details about the current state of the peering.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkPerformanceConfig": { +"id": "NetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"enum": [ +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfile": { +"description": "NetworkProfile represents a Google managed network profile resource.", +"id": "NetworkProfile", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"features": { +"$ref": "NetworkProfileNetworkFeatures", +"description": "[Output Only] Features supported by the network." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkProfile", +"description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", +"type": "string" +}, +"location": { +"$ref": "NetworkProfileLocation", +"description": "[Output Only] Location to which the network is restricted." +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"zone": { +"description": "[Output Only] Zone to which the network is restricted.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileLocation": { +"id": "NetworkProfileLocation", +"properties": { +"name": { +"type": "string" +}, +"scope": { +"enum": [ +"REGION", +"ZONE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileNetworkFeatures": { +"id": "NetworkProfileNetworkFeatures", +"properties": { +"addressPurposes": { +"description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", +"items": { +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"IP range for peer networks." +], +"type": "string" +}, +"type": "array" +}, +"allowAliasIpRanges": { +"description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", +"enum": [ +"ALIAS_IP_RANGES_ALLOWED", +"ALIAS_IP_RANGES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowAutoModeSubnet": { +"description": "Specifies whether auto mode subnet creation is allowed.", +"enum": [ +"AUTO_MODE_SUBNET_ALLOWED", +"AUTO_MODE_SUBNET_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowClassDFirewalls": { +"description": "Specifies whether firewalls for Class D address ranges are supported.", +"enum": [ +"CLASS_D_FIREWALLS_ALLOWED", +"CLASS_D_FIREWALLS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudNat": { +"description": "Specifies whether cloud NAT creation is allowed.", +"enum": [ +"CLOUD_NAT_ALLOWED", +"CLOUD_NAT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudRouter": { +"description": "Specifies whether cloud router creation is allowed.", +"enum": [ +"CLOUD_ROUTER_ALLOWED", +"CLOUD_ROUTER_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowExternalIpAccess": { +"description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", +"enum": [ +"EXTERNAL_IP_ACCESS_ALLOWED", +"EXTERNAL_IP_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowInterconnect": { +"description": "Specifies whether Cloud Interconnect creation is allowed.", +"enum": [ +"INTERCONNECT_ALLOWED", +"INTERCONNECT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowLoadBalancing": { +"description": "Specifies whether cloud load balancing is allowed.", +"enum": [ +"LOAD_BALANCING_ALLOWED", +"LOAD_BALANCING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowMultiNicInSameNetwork": { +"description": "Specifies whether multi-nic in the same network is allowed.", +"enum": [ +"MULTI_NIC_IN_SAME_NETWORK_ALLOWED", +"MULTI_NIC_IN_SAME_NETWORK_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPacketMirroring": { +"description": "Specifies whether Packet Mirroring 1.0 is supported.", +"enum": [ +"PACKET_MIRRORING_ALLOWED", +"PACKET_MIRRORING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPrivateGoogleAccess": { +"description": "Specifies whether private Google access is allowed.", +"enum": [ +"PRIVATE_GOOGLE_ACCESS_ALLOWED", +"PRIVATE_GOOGLE_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPsc": { +"description": "Specifies whether PSC creation is allowed.", +"enum": [ +"PSC_ALLOWED", +"PSC_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSameNetworkUnicast": { +"description": "Specifies whether unicast within the same network is allowed.", +"enum": [ +"SAME_NETWORK_UNICAST_ALLOWED", +"SAME_NETWORK_UNICAST_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowStaticRoutes": { +"description": "Specifies whether static route creation is allowed.", +"enum": [ +"STATIC_ROUTES_ALLOWED", +"STATIC_ROUTES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSubInterfaces": { +"description": "Specifies whether sub interfaces are allowed.", +"enum": [ +"SUBINTERFACES_ALLOWED", +"SUBINTERFACES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpcPeering": { +"description": "Specifies whether VPC peering is allowed.", +"enum": [ +"VPC_PEERING_ALLOWED", +"VPC_PEERING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpn": { +"description": "Specifies whether VPN creation is allowed.", +"enum": [ +"VPN_ALLOWED", +"VPN_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"interfaceTypes": { +"description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", +"items": { +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"type": "array" +}, +"subnetPurposes": { +"description": "Specifies which subnetwork purposes are supported.", +"items": { +"enum": [ +"SUBNET_PURPOSE_CUSTOM_HARDWARE", +"SUBNET_PURPOSE_PRIVATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"subnetStackTypes": { +"description": "Specifies which subnetwork stack types are supported.", +"items": { +"enum": [ +"SUBNET_STACK_TYPE_IPV4_IPV6", +"SUBNET_STACK_TYPE_IPV4_ONLY", +"SUBNET_STACK_TYPE_IPV6_ONLY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"unicast": { +"description": "Specifies which type of unicast is supported.", +"enum": [ +"UNICAST_SDN", +"UNICAST_ULL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfilesListResponse": { +"description": "Contains a list of network profiles.", +"id": "NetworkProfilesListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkProfile resources.", +"items": { +"$ref": "NetworkProfile" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkProfileList", +"description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkRoutingConfig": { +"description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", +"id": "NetworkRoutingConfig", +"properties": { +"bgpAlwaysCompareMed": { +"description": "Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm.", +"type": "boolean" +}, +"bgpBestPathSelectionMode": { +"description": "The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.", +"enum": [ +"LEGACY", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"bgpInterRegionCost": { +"description": "Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"effectiveBgpAlwaysCompareMed": { +"description": "[Output Only] Effective value of the bgp_always_compare_med field.", +"type": "boolean" +}, +"effectiveBgpInterRegionCost": { +"description": "[Output Only] Effective value of the bgp_inter_region_cost field.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"routingMode": { +"description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", +"enum": [ +"GLOBAL", +"REGIONAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksAddPeeringRequest": { +"id": "NetworksAddPeeringRequest", +"properties": { +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use exchange_subnet_routes in network_peering instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.addPeering" +] +}, +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +}, +"networkPeering": { +"$ref": "NetworkPeering", +"description": "Network peering parameters. In order to specify route policies for peering using import and export custom routes, you must specify all peering related parameters (name, peer network, exchange_subnet_routes) in the network_peering field. The corresponding fields in NetworksAddPeeringRequest will be deprecated soon." +}, +"peerNetwork": { +"description": "URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponse": { +"id": "NetworksGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", +"items": { +"$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"organizationFirewalls": { +"description": "Effective firewalls from organization policies.", +"items": { +"$ref": "NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output Only] The packet mirroring rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy.", +"enum": [ +"HIERARCHY", +"NETWORK", +"SYSTEM", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { +"description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", +"id": "NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the security policy. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"rules": { +"description": "The rules that apply to the network.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworksRemovePeeringRequest": { +"id": "NetworksRemovePeeringRequest", +"properties": { +"name": { +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksUpdatePeeringRequest": { +"id": "NetworksUpdatePeeringRequest", +"properties": { +"networkPeering": { +"$ref": "NetworkPeering" +} +}, +"type": "object" +}, +"NodeGroup": { +"description": "Represents a sole-tenant Node Group resource. A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, read Sole-tenant nodes.", +"id": "NodeGroup", +"properties": { +"autoscalingPolicy": { +"$ref": "NodeGroupAutoscalingPolicy", +"description": "Specifies how autoscaling should behave." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeGroup", +"description": "[Output Only] The type of the resource. Always compute#nodeGroup for node group.", +"type": "string" +}, +"locationHint": { +"description": "An opaque location hint used to place the Node close to other resources. This field is for use by internal tools that use the public API. The location hint here on the NodeGroup overrides any location_hint present in the NodeTemplate.", +"type": "string" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `AS_NEEDED` and `RECURRENT`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"maintenancePolicy": { +"description": "Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies.", +"enum": [ +"DEFAULT", +"MAINTENANCE_POLICY_UNSPECIFIED", +"MIGRATE_WITHIN_NODE_GROUP", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Allow the node and corresponding instances to retain default maintenance behavior.", +"", +"When maintenance must be done on a node, the instances on that node will be moved to other nodes in the group. Instances with onHostMaintenance = MIGRATE will live migrate to their destinations while instances with onHostMaintenance = TERMINATE will terminate and then restart on their destination nodes if automaticRestart = true.", +"Instances in this group will restart on the same node when maintenance has completed. Instances must have onHostMaintenance = TERMINATE, and they will only restart if automaticRestart = true." +], +"type": "string" +}, +"maintenanceWindow": { +"$ref": "NodeGroupMaintenanceWindow" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"nodeTemplate": { +"description": "URL of the node template to create the node group from.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Share-settings for the node group" +}, +"size": { +"description": "[Output Only] The total number of nodes in the node group.", +"format": "int32", +"type": "integer" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node group resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupAggregatedList": { +"id": "NodeGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeGroupsScopedList", +"description": "[Output Only] Name of the scope containing this set of node groups." +}, +"description": "A list of NodeGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeGroupAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupAggregatedList for aggregated lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupAutoscalingPolicy": { +"id": "NodeGroupAutoscalingPolicy", +"properties": { +"maxNodes": { +"description": "The maximum number of nodes that the group should have. Must be set if autoscaling is enabled. Maximum value allowed is 100.", +"format": "int32", +"type": "integer" +}, +"minNodes": { +"description": "The minimum number of nodes that the group should have.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", +"enum": [ +"MODE_UNSPECIFIED", +"OFF", +"ON", +"ONLY_SCALE_OUT" +], +"enumDescriptions": [ +"", +"Autoscaling is disabled.", +"Autocaling is fully enabled.", +"Autoscaling will only scale out and will not remove nodes." +], +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupList": { +"description": "Contains a list of nodeGroups.", +"id": "NodeGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeGroup resources.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupList for lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupMaintenanceWindow": { +"description": "Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window.", +"id": "NodeGroupMaintenanceWindow", +"properties": { +"maintenanceDuration": { +"$ref": "Duration", +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario." +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupNode": { +"id": "NodeGroupNode", +"properties": { +"accelerators": { +"description": "Accelerators for this node.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"consumedResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Node resources that are reserved by all instances." +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"disks": { +"description": "Local disk configurations.", +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"instanceConsumptionData": { +"description": "Instance data that shows consumed resources on the node.", +"items": { +"$ref": "InstanceConsumptionData" +}, +"type": "array" +}, +"instances": { +"description": "Instances scheduled on this node.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of the node.", +"type": "string" +}, +"nodeType": { +"description": "The type of this node.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Binding properties for the physical server." +}, +"serverId": { +"description": "Server ID associated with this node.", +"type": "string" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"REPAIRING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"totalResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Total amount of available resources on the node." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "[Output Only] The information about an upcoming maintenance event." +} +}, +"type": "object" +}, +"NodeGroupsAddNodesRequest": { +"id": "NodeGroupsAddNodesRequest", +"properties": { +"additionalNodeCount": { +"description": "Count of additional nodes to be added to the node group.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NodeGroupsDeleteNodesRequest": { +"id": "NodeGroupsDeleteNodesRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to delete.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeGroupsListNodes": { +"id": "NodeGroupsListNodes", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Node resources.", +"items": { +"$ref": "NodeGroupNode" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupsListNodes", +"description": "[Output Only] The resource type, which is always compute.nodeGroupsListNodes for the list of nodes in the specified node group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupsPerformMaintenanceRequest": { +"id": "NodeGroupsPerformMaintenanceRequest", +"properties": { +"nodes": { +"description": "[Required] List of nodes affected by the call.", +"items": { +"type": "string" +}, +"type": "array" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsScopedList": { +"id": "NodeGroupsScopedList", +"properties": { +"nodeGroups": { +"description": "[Output Only] A list of node groups contained in this scope.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the nodeGroup list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupsSetNodeTemplateRequest": { +"id": "NodeGroupsSetNodeTemplateRequest", +"properties": { +"nodeTemplate": { +"description": "Full or partial URL of the node template resource to be updated for this node group.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsSimulateMaintenanceEventRequest": { +"id": "NodeGroupsSimulateMaintenanceEventRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to go under maintenance simulation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeTemplate": { +"description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", +"id": "NodeTemplate", +"properties": { +"accelerators": { +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeTemplate", +"description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", +"type": "string" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"nodeAffinityLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to use for node affinity, which will be used in instance scheduling.", +"type": "object" +}, +"nodeType": { +"description": "The node type to use for nodes group that are created from this template.", +"type": "string" +}, +"nodeTypeFlexibility": { +"$ref": "NodeTemplateNodeTypeFlexibility", +"description": "Do not use. Instead, use the node_type property." +}, +"region": { +"description": "[Output Only] The name of the region where the node template resides, such as us-central1.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." +}, +"status": { +"description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resources are being allocated.", +"The node template is currently being deleted.", +"Invalid status.", +"The node template is ready." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplateAggregatedList": { +"id": "NodeTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTemplatesScopedList", +"description": "[Output Only] Name of the scope containing this set of node templates." +}, +"description": "A list of NodeTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTemplateAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTemplateList": { +"description": "Contains a list of node templates.", +"id": "NodeTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeTemplate resources.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTemplateList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateList for lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTemplateNodeTypeFlexibility": { +"id": "NodeTemplateNodeTypeFlexibility", +"properties": { +"cpus": { +"type": "string" +}, +"localSsd": { +"type": "string" +}, +"memory": { +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplatesScopedList": { +"id": "NodeTemplatesScopedList", +"properties": { +"nodeTemplates": { +"description": "[Output Only] A list of node templates contained in this scope.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node templates list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeType": { +"description": "Represent a sole-tenant Node Type resource. Each node within a node group must have a node type. A node type specifies the total amount of cores and memory for that node. Currently, the only available node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory, available in multiple zones. For more information read Node types.", +"id": "NodeType", +"properties": { +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this node type.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this node type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the node type.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeType", +"description": "[Output Only] The type of the resource. Always compute#nodeType for node types.", +"type": "string" +}, +"localSsdGb": { +"description": "[Output Only] Local SSD available to the node type, defined in GB.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the node type, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTypeAggregatedList": { +"id": "NodeTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of node types." +}, +"description": "A list of NodeTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTypeAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeAggregatedList for aggregated lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTypeList": { +"description": "Contains a list of node types.", +"id": "NodeTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeType resources.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTypeList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeList for lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTypesScopedList": { +"id": "NodeTypesScopedList", +"properties": { +"nodeTypes": { +"description": "[Output Only] A list of node types contained in this scope.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NotificationEndpoint": { +"description": "Represents a notification endpoint. A notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service. For more information, see Health checks overview.", +"id": "NotificationEndpoint", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcSettings": { +"$ref": "NotificationEndpointGrpcSettings", +"description": "Settings of the gRPC notification endpoint including the endpoint URL and the retry duration." +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#notificationEndpoint", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the notification endpoint resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"NotificationEndpointGrpcSettings": { +"description": "Represents a gRPC setting that describes one gRPC notification endpoint and the retry duration attempting to send notification to this endpoint.", +"id": "NotificationEndpointGrpcSettings", +"properties": { +"authority": { +"description": "Optional. If specified, this field is used to set the authority header by the sender of notifications. See https://tools.ietf.org/html/rfc7540#section-8.1.2.3", +"type": "string" +}, +"endpoint": { +"description": "Endpoint to which gRPC notifications are sent. This must be a valid gRPCLB DNS name.", +"type": "string" +}, +"payloadName": { +"description": "Optional. If specified, this field is used to populate the \"name\" field in gRPC requests.", +"type": "string" +}, +"resendInterval": { +"$ref": "Duration", +"description": "Optional. This field is used to configure how often to send a full update of all non-healthy backends. If unspecified, full updates are not sent. If specified, must be in the range between 600 seconds to 3600 seconds. Nanos are disallowed. Can only be set for regional notification endpoints." +}, +"retryDurationSec": { +"description": "How much time (in seconds) is spent attempting notification retries until a successful response is received. Default is 30s. Limit is 20m (1200s). Must be a positive number.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"NotificationEndpointList": { +"id": "NotificationEndpointList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NotificationEndpoint resources.", +"items": { +"$ref": "NotificationEndpoint" +}, +"type": "array" +}, +"kind": { +"default": "compute#notificationEndpointList", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Operation": { +"description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/beta/globalOperations) * [Regional](/compute/docs/reference/rest/beta/regionOperations) * [Zonal](/compute/docs/reference/rest/beta/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period.", +"id": "Operation", +"properties": { +"clientOperationId": { +"description": "[Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Deprecated] This field is deprecated.", +"type": "string" +}, +"description": { +"description": "[Output Only] A textual description of the operation, which is set when the operation is created.", +"type": "string" +}, +"endTime": { +"description": "[Output Only] The time that this operation was completed. This value is in RFC3339 text format.", +"type": "string" +}, +"error": { +"description": "[Output Only] If errors are generated during processing of the operation, this field will be populated.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"httpErrorMessage": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", +"type": "string" +}, +"httpErrorStatusCode": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "[Output Only] The time that this operation was requested. This value is in RFC3339 text format.", +"type": "string" +}, +"instancesBulkInsertOperationMetadata": { +"$ref": "InstancesBulkInsertOperationMetadata" +}, +"kind": { +"default": "compute#operation", +"description": "[Output Only] Type of the resource. Always `compute#operation` for Operation resources.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the operation.", +"type": "string" +}, +"operationGroupId": { +"description": "[Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.", +"type": "string" +}, +"operationType": { +"description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", +"type": "string" +}, +"progress": { +"description": "[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"setCommonInstanceMetadataOperationMetadata": { +"$ref": "SetCommonInstanceMetadataOperationMetadata", +"description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." +}, +"startTime": { +"description": "[Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", +"enum": [ +"DONE", +"PENDING", +"RUNNING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional textual description of the current status of the operation.", +"type": "string" +}, +"targetId": { +"description": "[Output Only] The unique target ID, which identifies a specific incarnation of the target resource.", +"format": "uint64", +"type": "string" +}, +"targetLink": { +"description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", +"type": "string" +}, +"user": { +"description": "[Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.", +"type": "string" +}, +"warnings": { +"description": "[Output Only] If warning messages are generated during processing of the operation, this field will be populated.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", +"type": "string" +} +}, +"type": "object" +}, +"OperationAggregatedList": { +"id": "OperationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "OperationsScopedList", +"description": "[Output Only] Name of the scope containing this set of operations." +}, +"description": "[Output Only] A map of scoped operation lists.", +"type": "object" +}, +"kind": { +"default": "compute#operationAggregatedList", +"description": "[Output Only] Type of resource. Always `compute#operationAggregatedList` for aggregated lists of operations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OperationList": { +"description": "Contains a list of Operation resources.", +"id": "OperationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"kind": { +"default": "compute#operationList", +"description": "[Output Only] Type of resource. Always `compute#operations` for Operations resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OperationsScopedList": { +"id": "OperationsScopedList", +"properties": { +"operations": { +"description": "[Output Only] A list of operations contained in this scope.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of operations when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OrganizationSecurityPoliciesListAssociationsResponse": { +"id": "OrganizationSecurityPoliciesListAssociationsResponse", +"properties": { +"associations": { +"description": "A list of associations.", +"items": { +"$ref": "SecurityPolicyAssociation" +}, +"type": "array" +}, +"kind": { +"default": "compute#organizationSecurityPoliciesListAssociationsResponse", +"description": "[Output Only] Type of securityPolicy associations. Always compute#organizationSecurityPoliciesListAssociations for lists of securityPolicy associations.", +"type": "string" +} +}, +"type": "object" +}, +"OutlierDetection": { +"description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.", +"id": "OutlierDetection", +"properties": { +"baseEjectionTime": { +"$ref": "Duration", +"description": "The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s." +}, +"consecutiveErrors": { +"description": "Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.", +"format": "int32", +"type": "integer" +}, +"consecutiveGatewayFailure": { +"description": "The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveErrors": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveGatewayFailure": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.", +"format": "int32", +"type": "integer" +}, +"enforcingSuccessRate": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"interval": { +"$ref": "Duration", +"description": "Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second." +}, +"maxEjectionPercent": { +"description": "Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.", +"format": "int32", +"type": "integer" +}, +"successRateMinimumHosts": { +"description": "The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateRequestVolume": { +"description": "The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateStdevFactor": { +"description": "This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PacketIntervals": { +"description": "Next free: 7", +"id": "PacketIntervals", +"properties": { +"avgMs": { +"description": "Average observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"duration": { +"description": "From how long ago in the past these intervals were observed.", +"enum": [ +"DURATION_UNSPECIFIED", +"HOUR", +"MAX", +"MINUTE" +], +"enumDescriptions": [ +"", +"", +"From BfdSession object creation time.", +"" +], +"type": "string" +}, +"maxMs": { +"description": "Maximum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"minMs": { +"description": "Minimum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"numIntervals": { +"description": "Number of inter-packet intervals from which these statistics were derived.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The type of packets for which inter-packet intervals were computed.", +"enum": [ +"LOOPBACK", +"RECEIVE", +"TRANSMIT", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Only applies to Echo packets. This shows the intervals between sending and receiving the same packet.", +"Intervals between received packets.", +"Intervals between transmitted packets.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroring": { +"description": "Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of specified instances in your Virtual Private Cloud (VPC) network and forwards it to a collector destination, such as an instance group of an internal TCP/UDP load balancer, for analysis or examination. For more information about setting up Packet Mirroring, see Using Packet Mirroring.", +"id": "PacketMirroring", +"properties": { +"collectorIlb": { +"$ref": "PacketMirroringForwardingRuleInfo", +"description": "The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be used as collector for mirrored traffic. The specified forwarding rule must have isMirroringCollector set to true." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enable": { +"description": "Indicates whether or not this packet mirroring takes effect. If set to FALSE, this packet mirroring policy will not be enforced on the network. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"filter": { +"$ref": "PacketMirroringFilter", +"description": "Filter for mirrored traffic. If unspecified, all IPv4 traffic is mirrored." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#packetMirroring", +"description": "[Output Only] Type of the resource. Always compute#packetMirroring for packet mirrorings.", +"type": "string" +}, +"mirroredResources": { +"$ref": "PacketMirroringMirroredResourceInfo", +"description": "PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of mirrored VM instances, subnetworks and/or tags for which traffic from/to all VM instances will be mirrored." +}, +"name": { +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"$ref": "PacketMirroringNetworkInfo", +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"description": "Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network." +}, +"priority": { +"description": "The priority of applying this configuration. Priority is used to break ties in cases where there is more than one matching rule. In the case of two rules that apply for a given Instance, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535.", +"format": "uint32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URI of the region where the packetMirroring resides.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringAggregatedList": { +"description": "Contains a list of packetMirrorings.", +"id": "PacketMirroringAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PacketMirroringsScopedList", +"description": "Name of the scope containing this set of packetMirrorings." +}, +"description": "A list of PacketMirroring resources.", +"type": "object" +}, +"kind": { +"default": "compute#packetMirroringAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PacketMirroringFilter": { +"id": "PacketMirroringFilter", +"properties": { +"IPProtocols": { +"description": "Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cidrRanges": { +"description": "One or more IPv4 or IPv6 CIDR ranges that apply as filters on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH.", +"enum": [ +"BOTH", +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Default, both directions are mirrored.", +"Only egress traffic is mirrored.", +"Only ingress traffic is mirrored." +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringForwardingRuleInfo": { +"id": "PacketMirroringForwardingRuleInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the forwarding rule; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the forwarding rule representing the ILB configured as destination of the mirrored traffic.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringList": { +"description": "Contains a list of PacketMirroring resources.", +"id": "PacketMirroringList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PacketMirroring resources.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"kind": { +"default": "compute#packetMirroringList", +"description": "[Output Only] Type of resource. Always compute#packetMirroring for packetMirrorings.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfo": { +"id": "PacketMirroringMirroredResourceInfo", +"properties": { +"instances": { +"description": "A set of virtual machine instances that are being mirrored. They must live in zones contained in the same region as this packetMirroring. Note that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring. You may specify a maximum of 50 Instances.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoInstanceInfo" +}, +"type": "array" +}, +"subnetworks": { +"description": "A set of subnetworks for which traffic from/to all VM instances will be mirrored. They must live in the same region as this packetMirroring. You may specify a maximum of 5 subnetworks.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoSubnetInfo" +}, +"type": "array" +}, +"tags": { +"description": "A set of mirrored tags. Traffic from/to all VM instances that have one or more of these tags will be mirrored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoInstanceInfo": { +"id": "PacketMirroringMirroredResourceInfoInstanceInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the instance; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the virtual machine instance which is being mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoSubnetInfo": { +"id": "PacketMirroringMirroredResourceInfoSubnetInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the subnetwork; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the subnetwork for which traffic from/to all VM instances will be mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringNetworkInfo": { +"id": "PacketMirroringNetworkInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the network; defined by the server.", +"type": "string" +}, +"url": { +"description": "URL of the network resource.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringsScopedList": { +"id": "PacketMirroringsScopedList", +"properties": { +"packetMirrorings": { +"description": "A list of packetMirrorings contained in this scope.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of packetMirrorings when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PartnerMetadata": { +"description": "Model definition of partner_metadata field. To be used in dedicated Partner Metadata methods and to be inlined in the Instance and InstanceTemplate resources.", +"id": "PartnerMetadata", +"properties": { +"fingerprint": { +"description": "Instance-level hash to be used for optimistic locking.", +"format": "byte", +"type": "string" +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance. A map from a subdomain to entries map. Subdomain name must be compliant with RFC1035 definition. The total size of all keys and values must be less than 2MB. Subdomain 'metadata.compute.googleapis.com' is reserverd for instance's metadata.", +"type": "object" +} +}, +"type": "object" +}, +"PathMatcher": { +"description": "A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default service is used.", +"id": "PathMatcher", +"properties": { +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." +}, +"defaultService": { +"description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backend service. HeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"name": { +"description": "The name to which this PathMatcher is referred by the HostRule.", +"type": "string" +}, +"pathRules": { +"description": "The list of path rules. Use this list instead of routeRules when routing based on simple path matching is all that's required. The order by which path rules are specified does not matter. Matches are always done on the longest-path-first basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/* irrespective of the order in which those paths appear in this list. Within a given pathMatcher, only one of pathRules or routeRules must be set.", +"items": { +"$ref": "PathRule" +}, +"type": "array" +}, +"routeRules": { +"description": "The list of HTTP route rules. Use this list instead of pathRules when advanced route matching and routing actions are desired. routeRules are evaluated in order of priority, from the lowest to highest number. Within a given pathMatcher, you can set only one of pathRules or routeRules.", +"items": { +"$ref": "HttpRouteRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"PathRule": { +"description": "A path-matching rule for a URL. If matched, will use the specified BackendService to handle the traffic arriving at this URL.", +"id": "PathRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"paths": { +"description": "The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"PerInstanceConfig": { +"id": "PerInstanceConfig", +"properties": { +"fingerprint": { +"description": "Fingerprint of this per-instance config. This field can be used in optimistic locking. It is ignored when inserting a per-instance config. An up-to-date fingerprint must be provided in order to update an existing per-instance configuration or the field needs to be unset.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", +"type": "string" +}, +"preservedState": { +"$ref": "PreservedState", +"description": "The intended preserved state for the given instance. Does not contain preserved state generated from a stateful policy." +}, +"status": { +"description": "The status of applying this per-instance configuration on the corresponding managed instance.", +"enum": [ +"APPLYING", +"DELETING", +"EFFECTIVE", +"NONE", +"UNAPPLIED", +"UNAPPLIED_DELETION" +], +"enumDescriptions": [ +"The per-instance configuration is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration is effective on the instance, meaning that all disks, ips and metadata specified in this configuration are attached or set on the instance.", +"*[Default]* The default status, when no per-instance configuration exists.", +"The per-instance configuration is set on an instance but not been applied yet.", +"The per-instance configuration has been deleted, but the deletion is not yet applied." +], +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PreconfiguredWafSet": { +"id": "PreconfiguredWafSet", +"properties": { +"expressionSets": { +"description": "List of entities that are currently supported for WAF rules.", +"items": { +"$ref": "WafExpressionSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"PreservedState": { +"description": "Preserved state for a given instance.", +"id": "PreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "PreservedStatePreservedDisk" +}, +"description": "Preserved disks defined for this instance. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Preserved metadata defined for this instance.", +"type": "object" +} +}, +"type": "object" +}, +"PreservedStatePreservedDisk": { +"id": "PreservedStatePreservedDisk", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update, instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple VM instances can use a disk in READ_ONLY mode at a time.", +"*[Default]* Attaches this disk in READ_WRITE mode. Only one VM instance at a time can be attached to a disk in READ_WRITE mode." +], +"type": "string" +}, +"source": { +"description": "The URL of the disk resource that is stateful and should be attached to the VM instance.", +"type": "string" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIp": { +"id": "PreservedStatePreservedNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"ipAddress": { +"$ref": "PreservedStatePreservedNetworkIpIpAddress", +"description": "Ip address representation" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIpIpAddress": { +"id": "PreservedStatePreservedNetworkIpIpAddress", +"properties": { +"address": { +"description": "The URL of the reservation for this IP address.", +"type": "string" +}, +"literal": { +"description": "An IPv4 internal network address to assign to the instance for this network interface.", +"type": "string" +} +}, +"type": "object" +}, +"Project": { +"description": "Represents a Project resource. A project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy.", +"id": "Project", +"properties": { +"cloudArmorTier": { +"description": "[Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +}, +"commonInstanceMetadata": { +"$ref": "Metadata", +"description": "Metadata key/value pairs available to all instances contained in this project. See Custom metadata for more information." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultNetworkTier": { +"description": "This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"defaultServiceAccount": { +"description": "[Output Only] Default service account used by VMs running in this project.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "An optional list of restricted features enabled for use on this project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server. This is *not* the project ID, and is just a unique ID used by Compute Engine to identify resources.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#project", +"description": "[Output Only] Type of the resource. Always compute#project for projects.", +"type": "string" +}, +"managedProtectionTier": { +"description": "[Output Only] The Cloud Armor Managed Protection (CAMP) tier for this project. It can be one of the following values: CA_STANDARD, CAMP_PLUS_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.", +"enum": [ +"CAMP_PLUS_ANNUAL", +"CAMP_PLUS_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Plus tier protection annual.", +"Plus tier protection monthly.", +"Standard protection." +], +"type": "string" +}, +"name": { +"description": "The project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine.", +"type": "string" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this project.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"usageExportLocation": { +"$ref": "UsageExportLocation", +"description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." +}, +"vmDnsSetting": { +"description": "[Output Only] Default internal DNS setting used by VMs running in this project.", +"enum": [ +"GLOBAL_DEFAULT", +"UNSPECIFIED_VM_DNS_SETTING", +"ZONAL_DEFAULT", +"ZONAL_ONLY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"xpnProjectStatus": { +"description": "[Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated.", +"enum": [ +"HOST", +"UNSPECIFIED_XPN_PROJECT_STATUS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsDisableXpnResourceRequest": { +"id": "ProjectsDisableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsEnableXpnResourceRequest": { +"id": "ProjectsEnableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsGetXpnResources": { +"id": "ProjectsGetXpnResources", +"properties": { +"kind": { +"default": "compute#projectsGetXpnResources", +"description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"resources": { +"description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", +"items": { +"$ref": "XpnResourceId" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectsListXpnHostsRequest": { +"id": "ProjectsListXpnHostsRequest", +"properties": { +"organization": { +"description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project.", +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetCloudArmorTierRequest": { +"id": "ProjectsSetCloudArmorTierRequest", +"properties": { +"cloudArmorTier": { +"description": "Managed protection tier to be set.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetDefaultNetworkTierRequest": { +"id": "ProjectsSetDefaultNetworkTierRequest", +"properties": { +"networkTier": { +"description": "Default network tier to be set.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetManagedProtectionTierRequest": { +"id": "ProjectsSetManagedProtectionTierRequest", +"properties": { +"managedProtectionTier": { +"description": "Managed protection tier to be set.", +"enum": [ +"CAMP_PLUS_ANNUAL", +"CAMP_PLUS_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Plus tier protection annual.", +"Plus tier protection monthly.", +"Standard protection." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefix": { +"description": "A public advertised prefix represents an aggregated IP prefix or netblock which customers bring to cloud. The IP prefix is a single unit of route advertisement and is announced globally to the internet.", +"id": "PublicAdvertisedPrefix", +"properties": { +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public advertised prefix can be used to create both regional and global public delegated prefixes. It usually takes 4 weeks to create or delete a public delegated prefix. The BGP status cannot be changed.", +"This public advertised prefix can only be used to create regional public delegated prefixes. Public delegated prefix creation and deletion takes minutes and the BGP status can be modified." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"dnsVerificationIp": { +"description": "The address to be used for reverse DNS verification.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The address range, in CIDR format, represented by this public advertised prefix.", +"type": "string" +}, +"kind": { +"default": "compute#publicAdvertisedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicAdvertisedPrefixes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pdpScope": { +"description": "Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. ", +"enum": [ +"GLOBAL", +"GLOBAL_AND_REGIONAL", +"REGIONAL" +], +"enumDescriptions": [ +"The public delegated prefix is global only. The provisioning will take ~4 weeks.", +"The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.", +"The public delegated prefix is regional only. The provisioning will take a few minutes." +], +"type": "string" +}, +"publicDelegatedPrefixs": { +"description": "[Output Only] The list of public delegated prefixes that exist for this public advertised prefix.", +"items": { +"$ref": "PublicAdvertisedPrefixPublicDelegatedPrefix" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "[Output Only] The shared secret to be used for reverse DNS verification.", +"type": "string" +}, +"status": { +"description": "The status of the public advertised prefix. Possible values include: - `INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. ", +"enum": [ +"ANNOUNCED_TO_INTERNET", +"INITIAL", +"PREFIX_CONFIGURATION_COMPLETE", +"PREFIX_CONFIGURATION_IN_PROGRESS", +"PREFIX_REMOVAL_IN_PROGRESS", +"PTR_CONFIGURED", +"READY_TO_ANNOUNCE", +"REVERSE_DNS_LOOKUP_FAILED", +"VALIDATED" +], +"enumDescriptions": [ +"The prefix is announced to Internet.", +"RPKI validation is complete.", +"The prefix is fully configured.", +"The prefix is being configured.", +"The prefix is being removed.", +"User has configured the PTR.", +"The prefix is currently withdrawn but ready to be announced.", +"Reverse DNS lookup failed.", +"Reverse DNS lookup is successful." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefixList": { +"id": "PublicAdvertisedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicAdvertisedPrefix resources.", +"items": { +"$ref": "PublicAdvertisedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicAdvertisedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefixPublicDelegatedPrefix": { +"description": "Represents a CIDR range which can be used to assign addresses.", +"id": "PublicAdvertisedPrefixPublicDelegatedPrefix", +"properties": { +"ipRange": { +"description": "The IP address range of the public delegated prefix", +"type": "string" +}, +"name": { +"description": "The name of the public delegated prefix", +"type": "string" +}, +"project": { +"description": "The project number of the public delegated prefix", +"type": "string" +}, +"region": { +"description": "The region of the public delegated prefix if it is regional. If absent, the prefix is global.", +"type": "string" +}, +"status": { +"description": "The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.", +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefix": { +"description": "A PublicDelegatedPrefix resource represents an IP block within a PublicAdvertisedPrefix that is configured within a single cloud scope (global or region). IPs in the block can be allocated to resources within that scope. Public delegated prefixes may be further broken up into smaller IP blocks in the same scope as the parent block.", +"id": "PublicDelegatedPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.", +"format": "int32", +"type": "integer" +}, +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.", +"This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this public delegated prefix.", +"type": "string" +}, +"isLiveMigration": { +"description": "If true, the prefix will be live migrated.", +"type": "boolean" +}, +"kind": { +"default": "compute#publicDelegatedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes.", +"type": "string" +}, +"mode": { +"description": "The public delegated prefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION", +"EXTERNAL_IPV6_SUBNETWORK_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", +"The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicDelegatedPrefixes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"parentPrefix": { +"description": "The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.", +"type": "string" +}, +"publicDelegatedSubPrefixs": { +"description": "The list of sub public delegated prefixes that exist for this public delegated prefix.", +"items": { +"$ref": "PublicDelegatedPrefixPublicDelegatedSubPrefix" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. ", +"enum": [ +"ANNOUNCED", +"ANNOUNCED_TO_GOOGLE", +"ANNOUNCED_TO_INTERNET", +"DELETING", +"INITIALIZING", +"READY_TO_ANNOUNCE" +], +"enumDescriptions": [ +"The public delegated prefix is active.", +"The prefix is announced within Google network.", +"The prefix is announced to Internet and within Google.", +"The public delegated prefix is being deprovsioned.", +"The public delegated prefix is being initialized and addresses cannot be created yet.", +"The public delegated prefix is currently withdrawn but ready to be announced." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixAggregatedList": { +"id": "PublicDelegatedPrefixAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PublicDelegatedPrefixesScopedList", +"description": "[Output Only] Name of the scope containing this set of PublicDelegatedPrefixes." +}, +"description": "A list of PublicDelegatedPrefixesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#publicDelegatedPrefixAggregatedList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixAggregatedList for aggregated lists of public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixList": { +"id": "PublicDelegatedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicDelegatedPrefix resources.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicDelegatedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixList for public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixPublicDelegatedSubPrefix": { +"description": "Represents a sub PublicDelegatedPrefix.", +"id": "PublicDelegatedPrefixPublicDelegatedSubPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this PublicDelegatedSubPrefix.", +"format": "int32", +"type": "integer" +}, +"delegateeProject": { +"description": "Name of the project scoping this PublicDelegatedSubPrefix.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this sub public delegated prefix.", +"type": "string" +}, +"isAddress": { +"description": "Whether the sub prefix is delegated to create Address resources in the delegatee project.", +"type": "boolean" +}, +"mode": { +"description": "The PublicDelegatedSubPrefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION", +"EXTERNAL_IPV6_SUBNETWORK_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", +"The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"description": "The name of the sub public delegated prefix.", +"type": "string" +}, +"region": { +"description": "[Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the sub public delegated prefix.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixesScopedList": { +"id": "PublicDelegatedPrefixesScopedList", +"properties": { +"publicDelegatedPrefixes": { +"description": "[Output Only] A list of PublicDelegatedPrefixes contained in this scope.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of public delegated prefixes when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Quota": { +"description": "A quotas entry.", +"id": "Quota", +"properties": { +"limit": { +"description": "[Output Only] Quota limit for this metric.", +"format": "double", +"type": "number" +}, +"metric": { +"description": "[Output Only] Name of the quota metric.", +"enum": [ +"A2_CPUS", +"AFFINITY_GROUPS", +"AUTOSCALERS", +"BACKEND_BUCKETS", +"BACKEND_SERVICES", +"C2D_CPUS", +"C2_CPUS", +"C3_CPUS", +"COMMITMENTS", +"COMMITTED_A2_CPUS", +"COMMITTED_C2D_CPUS", +"COMMITTED_C2_CPUS", +"COMMITTED_C3_CPUS", +"COMMITTED_CPUS", +"COMMITTED_E2_CPUS", +"COMMITTED_LICENSES", +"COMMITTED_LOCAL_SSD_TOTAL_GB", +"COMMITTED_M3_CPUS", +"COMMITTED_MEMORY_OPTIMIZED_CPUS", +"COMMITTED_N2A_CPUS", +"COMMITTED_N2D_CPUS", +"COMMITTED_N2_CPUS", +"COMMITTED_NVIDIA_A100_80GB_GPUS", +"COMMITTED_NVIDIA_A100_GPUS", +"COMMITTED_NVIDIA_H100_GPUS", +"COMMITTED_NVIDIA_K80_GPUS", +"COMMITTED_NVIDIA_L4_GPUS", +"COMMITTED_NVIDIA_P100_GPUS", +"COMMITTED_NVIDIA_P4_GPUS", +"COMMITTED_NVIDIA_T4_GPUS", +"COMMITTED_NVIDIA_V100_GPUS", +"COMMITTED_T2A_CPUS", +"COMMITTED_T2D_CPUS", +"COMMITTED_Z3_CPUS", +"CPUS", +"CPUS_ALL_REGIONS", +"DISKS_TOTAL_GB", +"E2_CPUS", +"EXTERNAL_MANAGED_FORWARDING_RULES", +"EXTERNAL_NETWORK_LB_FORWARDING_RULES", +"EXTERNAL_PROTOCOL_FORWARDING_RULES", +"EXTERNAL_VPN_GATEWAYS", +"FIREWALLS", +"FORWARDING_RULES", +"GLOBAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_EXTERNAL_MANAGED_FORWARDING_RULES", +"GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES", +"GLOBAL_INTERNAL_ADDRESSES", +"GLOBAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"GPUS_ALL_REGIONS", +"HDB_TOTAL_GB", +"HDB_TOTAL_IOPS", +"HDB_TOTAL_THROUGHPUT", +"HEALTH_CHECKS", +"IMAGES", +"INSTANCES", +"INSTANCE_GROUPS", +"INSTANCE_GROUP_MANAGERS", +"INSTANCE_TEMPLATES", +"INTERCONNECTS", +"INTERCONNECT_ATTACHMENTS_PER_REGION", +"INTERCONNECT_ATTACHMENTS_TOTAL_MBPS", +"INTERCONNECT_TOTAL_GBPS", +"INTERNAL_ADDRESSES", +"INTERNAL_TRAFFIC_DIRECTOR_FORWARDING_RULES", +"IN_PLACE_SNAPSHOTS", +"IN_USE_ADDRESSES", +"IN_USE_BACKUP_SCHEDULES", +"IN_USE_SNAPSHOT_SCHEDULES", +"LOCAL_SSD_TOTAL_GB", +"M1_CPUS", +"M2_CPUS", +"M3_CPUS", +"MACHINE_IMAGES", +"N2A_CPUS", +"N2D_CPUS", +"N2_CPUS", +"NETWORKS", +"NETWORK_ATTACHMENTS", +"NETWORK_ENDPOINT_GROUPS", +"NETWORK_FIREWALL_POLICIES", +"NET_LB_SECURITY_POLICIES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION", +"NODE_GROUPS", +"NODE_TEMPLATES", +"NVIDIA_A100_80GB_GPUS", +"NVIDIA_A100_GPUS", +"NVIDIA_K80_GPUS", +"NVIDIA_L4_GPUS", +"NVIDIA_P100_GPUS", +"NVIDIA_P100_VWS_GPUS", +"NVIDIA_P4_GPUS", +"NVIDIA_P4_VWS_GPUS", +"NVIDIA_T4_GPUS", +"NVIDIA_T4_VWS_GPUS", +"NVIDIA_V100_GPUS", +"PACKET_MIRRORINGS", +"PD_EXTREME_TOTAL_PROVISIONED_IOPS", +"PREEMPTIBLE_CPUS", +"PREEMPTIBLE_LOCAL_SSD_GB", +"PREEMPTIBLE_NVIDIA_A100_80GB_GPUS", +"PREEMPTIBLE_NVIDIA_A100_GPUS", +"PREEMPTIBLE_NVIDIA_H100_GPUS", +"PREEMPTIBLE_NVIDIA_K80_GPUS", +"PREEMPTIBLE_NVIDIA_L4_GPUS", +"PREEMPTIBLE_NVIDIA_P100_GPUS", +"PREEMPTIBLE_NVIDIA_P100_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_P4_GPUS", +"PREEMPTIBLE_NVIDIA_P4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_T4_GPUS", +"PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_V100_GPUS", +"PREEMPTIBLE_TPU_LITE_DEVICE_V5", +"PREEMPTIBLE_TPU_LITE_PODSLICE_V5", +"PREEMPTIBLE_TPU_PODSLICE_V4", +"PRIVATE_V6_ACCESS_SUBNETWORKS", +"PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", +"PSC_INTERNAL_LB_FORWARDING_RULES", +"PUBLIC_ADVERTISED_PREFIXES", +"PUBLIC_DELEGATED_PREFIXES", +"REGIONAL_AUTOSCALERS", +"REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES", +"REGIONAL_INSTANCE_GROUP_MANAGERS", +"REGIONAL_INTERNAL_LB_BACKEND_SERVICES", +"REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"RESERVATIONS", +"RESOURCE_POLICIES", +"ROUTERS", +"ROUTES", +"SECURITY_POLICIES", +"SECURITY_POLICIES_PER_REGION", +"SECURITY_POLICY_ADVANCED_RULES_PER_REGION", +"SECURITY_POLICY_CEVAL_RULES", +"SECURITY_POLICY_RULES", +"SECURITY_POLICY_RULES_PER_REGION", +"SERVICE_ATTACHMENTS", +"SNAPSHOTS", +"SSD_TOTAL_GB", +"SSL_CERTIFICATES", +"SSL_POLICIES", +"STATIC_ADDRESSES", +"STATIC_BYOIP_ADDRESSES", +"STATIC_EXTERNAL_IPV6_ADDRESS_RANGES", +"SUBNETWORKS", +"T2A_CPUS", +"T2D_CPUS", +"TARGET_HTTPS_PROXIES", +"TARGET_HTTP_PROXIES", +"TARGET_INSTANCES", +"TARGET_POOLS", +"TARGET_SSL_PROXIES", +"TARGET_TCP_PROXIES", +"TARGET_VPN_GATEWAYS", +"TPU_LITE_DEVICE_V5", +"TPU_LITE_PODSLICE_V5", +"TPU_PODSLICE_V4", +"URL_MAPS", +"VARIABLE_IPV6_PUBLIC_DELEGATED_PREFIXES", +"VPN_GATEWAYS", +"VPN_TUNNELS", +"XPN_SERVICE_PROJECTS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"Guest CPUs", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"The total number of snapshots allowed for a single project.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"owner": { +"description": "[Output Only] Owning resource. This is the resource on which this quota is applied.", +"type": "string" +}, +"usage": { +"description": "[Output Only] Current usage of this metric.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"QuotaExceededInfo": { +"description": "Additional details for quota exceeded error for resource quota.", +"id": "QuotaExceededInfo", +"properties": { +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": "The map holding related quota dimensions.", +"type": "object" +}, +"futureLimit": { +"description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limit": { +"description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limitName": { +"description": "The name of the quota limit.", +"type": "string" +}, +"metricName": { +"description": "The Compute Engine quota metric name.", +"type": "string" +}, +"rolloutStatus": { +"description": "Rollout status of the future quota limit.", +"enum": [ +"IN_PROGRESS", +"ROLLOUT_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"IN_PROGRESS - A rollout is in process which will change the limit value to future limit.", +"ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value." +], +"type": "string" +} +}, +"type": "object" +}, +"Reference": { +"description": "Represents a reference to a resource.", +"id": "Reference", +"properties": { +"kind": { +"default": "compute#reference", +"description": "[Output Only] Type of the resource. Always compute#reference for references.", +"type": "string" +}, +"referenceType": { +"description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", +"type": "string" +}, +"referrer": { +"description": "URL of the resource which refers to the target.", +"type": "string" +}, +"target": { +"description": "URL of the resource to which this reference points.", +"type": "string" +} +}, +"type": "object" +}, +"Region": { +"description": "Represents a Region resource. A region is a geographical area where a resource is located. For more information, read Regions and Zones.", +"id": "Region", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this region." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#region", +"description": "[Output Only] Type of the resource. Always compute#region for regions.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"quotaStatusWarning": { +"description": "[Output Only] Warning of fetching the `quotas` field for this region. This field is populated only if fetching of the `quotas` field fails.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this region.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the region, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"zones": { +"description": "[Output Only] A list of zones available in this region, in the form of resource URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionAddressesMoveRequest": { +"id": "RegionAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project/regions/region /addresses/address - projects/project/regions/region/addresses/address Note that destination project must be different from the source project. So /regions/region/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"RegionAutoscalerList": { +"description": "Contains a list of autoscalers.", +"id": "RegionAutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionAutoscalerList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionCommitmentsUpdateReservationsRequest": { +"id": "RegionCommitmentsUpdateReservationsRequest", +"properties": { +"reservations": { +"description": "A list of two reservations to transfer GPUs and local SSD between.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDiskTypeList": { +"id": "RegionDiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionDiskTypeList", +"description": "[Output Only] Type of resource. Always compute#regionDiskTypeList for region disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionDisksAddResourcePoliciesRequest": { +"id": "RegionDisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksRemoveResourcePoliciesRequest": { +"id": "RegionDisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksResizeRequest": { +"id": "RegionDisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the regional persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RegionDisksStartAsyncReplicationRequest": { +"id": "RegionDisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupList": { +"description": "Contains a list of InstanceGroup resources.", +"id": "RegionInstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupList", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerDeleteInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.deletePerInstanceConfigs", +"id": "RegionInstanceGroupManagerDeleteInstanceConfigReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerList": { +"description": "Contains a list of managed instance groups.", +"id": "RegionInstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerPatchInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.patchPerInstanceConfigs", +"id": "RegionInstanceGroupManagerPatchInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerResizeRequestsListResponse": { +"id": "RegionInstanceGroupManagerResizeRequestsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Resize Request resources.", +"items": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupManagerResizeRequestList", +"description": "[Output Only] Type of the resource. Always compute#regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerUpdateInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.updatePerInstanceConfigs", +"id": "RegionInstanceGroupManagerUpdateInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersAbandonInstancesRequest": { +"id": "RegionInstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersApplyUpdatesRequest": { +"description": "RegionInstanceGroupManagers.applyUpdatesToInstances", +"id": "RegionInstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersCreateInstancesRequest": { +"description": "RegionInstanceGroupManagers.createInstances", +"id": "RegionInstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersDeleteInstancesRequest": { +"id": "RegionInstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListErrorsResponse": { +"id": "RegionInstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListInstanceConfigsResp": { +"id": "RegionInstanceGroupManagersListInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListInstancesResponse": { +"id": "RegionInstanceGroupManagersListInstancesResponse", +"properties": { +"managedInstances": { +"description": "A list of managed instances.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersRecreateRequest": { +"id": "RegionInstanceGroupManagersRecreateRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersResizeAdvancedRequest": { +"id": "RegionInstanceGroupManagersResizeAdvancedRequest", +"properties": { +"noCreationRetries": { +"description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances ar being created in which mode by calling the get or listManagedInstances API.", +"type": "boolean" +}, +"targetSize": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersResumeInstancesRequest": { +"id": "RegionInstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetAutoHealingRequest": { +"id": "RegionInstanceGroupManagersSetAutoHealingRequest", +"properties": { +"autoHealingPolicies": { +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTargetPoolsRequest": { +"id": "RegionInstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "Fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when you update the target pool entries. This field is optional.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The URL of all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTemplateRequest": { +"id": "RegionInstanceGroupManagersSetTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "URL of the InstanceTemplate resource from which all new instances will be created.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStartInstancesRequest": { +"id": "RegionInstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStopInstancesRequest": { +"id": "RegionInstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSuspendInstancesRequest": { +"id": "RegionInstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupsListInstances": { +"id": "RegionInstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupsListInstances", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupsListInstancesRequest": { +"id": "RegionInstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Matches any status of the instances, running, non-running and others.", +"Instance is in RUNNING state if it is running." +], +"type": "string" +}, +"portName": { +"description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupsSetNamedPortsRequest": { +"id": "RegionInstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionList": { +"description": "Contains a list of region resources.", +"id": "RegionList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Region resources.", +"items": { +"$ref": "Region" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionList", +"description": "[Output Only] Type of resource. Always compute#regionList for lists of regions.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", +"items": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"description": "[Output Only] The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output only] The packet mirroring rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"SYSTEM_GLOBAL", +"SYSTEM_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RegionSetLabelsRequest": { +"id": "RegionSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"RegionSetPolicyRequest": { +"id": "RegionSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"RegionTargetHttpsProxiesSetSslCertificatesRequest": { +"id": "RegionTargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionUrlMapsValidateRequest": { +"id": "RegionUrlMapsValidateRequest", +"properties": { +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"RequestMirrorPolicy": { +"description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow.", +"id": "RequestMirrorPolicy", +"properties": { +"backendService": { +"description": "The full or partial URL to the BackendService resource being mirrored to. The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map. Serverless NEG backends are not currently supported as a mirrored backend service. ", +"type": "string" +}, +"mirrorPercent": { +"description": "The percentage of requests to be mirrored to `backend_service`.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Reservation": { +"description": "Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.", +"id": "Reservation", +"properties": { +"aggregateReservation": { +"$ref": "AllocationAggregateReservation", +"description": "Reservation for aggregated resources, providing shape flexibility." +}, +"commitment": { +"description": "[Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deleteAfterDuration": { +"$ref": "Duration", +"description": "Duration time relative to reservation creation when Compute Engine will automatically delete this resource." +}, +"deleteAtTime": { +"description": "Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.", +"type": "string" +}, +"deploymentType": { +"description": "Specifies the deployment strategy for this reservation.", +"enum": [ +"DENSE", +"DEPLOYMENT_TYPE_UNSPECIFIED", +"FLEXIBLE" +], +"enumDescriptions": [ +"The reserved capacity is made up of densely deployed reservation blocks.", +"", +"The reserved capacity is made up of highly flexible, logical reservation blocks." +], +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#reservation", +"description": "[Output Only] Type of the resource. Always compute#reservations for reservations.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"reservationSharingPolicy": { +"$ref": "AllocationReservationSharingPolicy", +"description": "Specify the reservation sharing policy. If unspecified, the reservation will not be shared with Google Cloud managed services." +}, +"resourcePolicies": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", +"type": "object" +}, +"resourceStatus": { +"$ref": "AllocationResourceStatus", +"description": "[Output Only] Status information for Reservation resource." +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation." +}, +"specificReservation": { +"$ref": "AllocationSpecificSKUReservation", +"description": "Reservation for instances with specific machine shapes." +}, +"specificReservationRequired": { +"description": "Indicates whether the reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPDATING" +], +"enumDescriptions": [ +"Reservation resources are being allocated.", +"Reservation deletion is in progress.", +"", +"Reservation resources have been allocated, and the reservation is ready for use.", +"Reservation update is in progress." +], +"type": "string" +}, +"zone": { +"description": "Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples.", +"enum": [ +"ANY_RESERVATION", +"NO_RESERVATION", +"SPECIFIC_RESERVATION", +"SPECIFIC_THEN_ANY_RESERVATION", +"SPECIFIC_THEN_NO_RESERVATION", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Consume any allocation available.", +"Do not consume from any allocated capacity.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations.", +"Prefer to consume from a specific reservation, but still consume any reservation available if the specified reservation is not available or exhausted. Must specify key value fields for specifying the reservations.", +"Prefer to consume from a specific reservation, but still consume from the on-demand pool if the specified reservation is exhausted. Must specify key value fields for specifying the reservations.", +"" +], +"type": "string" +}, +"key": { +"description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the key and specify the name of your reservation as its value.", +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of a reservation resource. This can be either a name to a reservation in the same project or \"projects/different-project/reservations/some-reservation-name\" to target a shared reservation in the same zone but in a different project.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReservationAggregatedList": { +"description": "Contains a list of reservations.", +"id": "ReservationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ReservationsScopedList", +"description": "Name of the scope containing this set of reservations." +}, +"description": "A list of Allocation resources.", +"type": "object" +}, +"kind": { +"default": "compute#reservationAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ReservationBlock": { +"description": "Represents a reservation block resource.", +"id": "ReservationBlock", +"properties": { +"count": { +"description": "[Output Only] The number of resources that are allocated in this reservation block.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"inUseCount": { +"description": "[Output Only] The number of instances that are currently in use on this reservation block.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#reservationBlock", +"description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"physicalTopology": { +"$ref": "ReservationBlockPhysicalTopology", +"description": "[Output Only] The physical topology of the reservation block." +}, +"reservationMaintenance": { +"$ref": "GroupMaintenanceInfo", +"description": "[Output Only] Maintenance information for this reservation block." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the reservation block.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resources are being allocated for the reservation block.", +"Reservation block is currently being deleted.", +"", +"Reservation block has allocated all its resources." +], +"type": "string" +}, +"zone": { +"description": "[Output Only] Zone in which the reservation block resides.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationBlockPhysicalTopology": { +"id": "ReservationBlockPhysicalTopology", +"properties": { +"block": { +"description": "The hash of the capacity block within the cluster.", +"type": "string" +}, +"cluster": { +"description": "The cluster name of the reservation block.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationBlocksGetResponse": { +"id": "ReservationBlocksGetResponse", +"properties": { +"resource": { +"$ref": "ReservationBlock" +} +}, +"type": "object" +}, +"ReservationBlocksListResponse": { +"description": "A list of reservation blocks under a single reservation.", +"id": "ReservationBlocksListResponse", +"properties": { +"id": { +"description": "Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of reservation block resources.", +"items": { +"$ref": "ReservationBlock" +}, +"type": "array" +}, +"kind": { +"default": "compute#reservationBlock", +"description": "Type of the resource. Always compute#reservationBlock for a list of reservation blocks.", +"type": "string" +}, +"nextPageToken": { +"description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ReservationList": { +"id": "ReservationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Allocation resources.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"kind": { +"default": "compute#reservationList", +"description": "[Output Only] Type of resource.Always compute#reservationsList for listsof reservations", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ReservationsResizeRequest": { +"id": "ReservationsResizeRequest", +"properties": { +"specificSkuCount": { +"description": "Number of allocated resources can be resized with minimum = 1 and maximum = 1000.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReservationsScopedList": { +"id": "ReservationsScopedList", +"properties": { +"reservations": { +"description": "A list of reservations contained in this scope.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of reservations when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourceCommitment": { +"description": "Commitment for a particular resource (a Commitment is composed of one or more of these).", +"id": "ResourceCommitment", +"properties": { +"acceleratorType": { +"description": "Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.", +"type": "string" +}, +"amount": { +"description": "The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.", +"enum": [ +"ACCELERATOR", +"LOCAL_SSD", +"MEMORY", +"UNSPECIFIED", +"VCPU" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceGroupReference": { +"id": "ResourceGroupReference", +"properties": { +"group": { +"description": "A URI referencing one of the instance groups or network endpoint groups listed in the backend service.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePoliciesScopedList": { +"id": "ResourcePoliciesScopedList", +"properties": { +"resourcePolicies": { +"description": "A list of resourcePolicies contained in this scope.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of resourcePolicies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicy": { +"description": "Represents a Resource Policy resource. You can use resource policies to schedule actions for some Compute Engine resources. For example, you can use them to schedule persistent disk snapshots.", +"id": "ResourcePolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"type": "string" +}, +"diskConsistencyGroupPolicy": { +"$ref": "ResourcePolicyDiskConsistencyGroupPolicy", +"description": "Resource policy for disk consistency groups." +}, +"groupPlacementPolicy": { +"$ref": "ResourcePolicyGroupPlacementPolicy", +"description": "Resource policy for instances for placement configuration." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyInstanceSchedulePolicy", +"description": "Resource policy for scheduling instance operations." +}, +"kind": { +"default": "compute#resourcePolicy", +"description": "[Output Only] Type of the resource. Always compute#resource_policies for resource policies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"type": "string" +}, +"resourceStatus": { +"$ref": "ResourcePolicyResourceStatus", +"description": "[Output Only] The system status of the resource policy." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"snapshotSchedulePolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicy", +"description": "Resource policy for persistent disks for creating snapshots." +}, +"status": { +"description": "[Output Only] The status of resource policy creation.", +"enum": [ +"CREATING", +"DELETING", +"EXPIRED", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resource policy is being created.", +"Resource policy is being deleted.", +"Resource policy is expired and will not run again.", +"", +"Resource policy is ready to be used." +], +"type": "string" +}, +"workloadPolicy": { +"$ref": "ResourcePolicyWorkloadPolicy" +} +}, +"type": "object" +}, +"ResourcePolicyAggregatedList": { +"description": "Contains a list of resourcePolicies.", +"id": "ResourcePolicyAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ResourcePoliciesScopedList", +"description": "Name of the scope containing this set of resourcePolicies." +}, +"description": "A list of ResourcePolicy resources.", +"type": "object" +}, +"kind": { +"default": "compute#resourcePolicyAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicyDailyCycle": { +"description": "Time window specified for daily operations.", +"id": "ResourcePolicyDailyCycle", +"properties": { +"daysInCycle": { +"description": "Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"duration": { +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyDiskConsistencyGroupPolicy": { +"description": "Resource policy for disk consistency groups.", +"id": "ResourcePolicyDiskConsistencyGroupPolicy", +"properties": {}, +"type": "object" +}, +"ResourcePolicyGroupPlacementPolicy": { +"description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation", +"id": "ResourcePolicyGroupPlacementPolicy", +"properties": { +"availabilityDomainCount": { +"description": "The number of availability domains to spread instances across. If two instances are in different availability domain, they are not in the same low latency network.", +"format": "int32", +"type": "integer" +}, +"collocation": { +"description": "Specifies network collocation", +"enum": [ +"COLLOCATED", +"UNSPECIFIED_COLLOCATION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"maxDistance": { +"description": "Specifies the number of max logical switches.", +"format": "int32", +"type": "integer" +}, +"sliceCount": { +"description": "Specifies the number of slices in a multislice workload.", +"format": "int32", +"type": "integer" +}, +"tpuTopology": { +"description": "Specifies the shape of the TPU slice", +"type": "string" +}, +"vmCount": { +"description": "Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourcePolicyHourlyCycle": { +"description": "Time window specified for hourly operations.", +"id": "ResourcePolicyHourlyCycle", +"properties": { +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"hoursInCycle": { +"description": "Defines a schedule with units measured in hours. The value determines how many hours pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicy": { +"description": "An InstanceSchedulePolicy specifies when and how frequent certain operations are performed on the instance.", +"id": "ResourcePolicyInstanceSchedulePolicy", +"properties": { +"expirationTime": { +"description": "The expiration time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"timeZone": { +"description": "Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database.", +"type": "string" +}, +"vmStartSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for starting instances." +}, +"vmStopSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for stopping instances." +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicySchedule": { +"description": "Schedule for an instance operation.", +"id": "ResourcePolicyInstanceSchedulePolicySchedule", +"properties": { +"schedule": { +"description": "Specifies the frequency for the operation, using the unix-cron format.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyList": { +"id": "ResourcePolicyList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of ResourcePolicy resources.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#resourcePolicyList", +"description": "[Output Only] Type of resource.Always compute#resourcePoliciesList for listsof resourcePolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicyResourceStatus": { +"description": "Contains output only fields. Use this sub-message for all output fields set on ResourcePolicy. The internal structure of this \"status\" field should mimic the structure of ResourcePolicy proto specification.", +"id": "ResourcePolicyResourceStatus", +"properties": { +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"description": "[Output Only] Specifies a set of output values reffering to the instance_schedule_policy system status. This field should have the same name as corresponding policy field." +} +}, +"type": "object" +}, +"ResourcePolicyResourceStatusInstanceSchedulePolicyStatus": { +"id": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"properties": { +"lastRunStartTime": { +"description": "[Output Only] The last time the schedule successfully ran. The timestamp is an RFC3339 string.", +"type": "string" +}, +"nextRunStartTime": { +"description": "[Output Only] The next time the schedule is planned to run. The actual time might be slightly different. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicy": { +"description": "A snapshot schedule policy specifies when and how frequently snapshots are to be created for the target disk. Also specifies how many and how long these scheduled snapshots should be retained.", +"id": "ResourcePolicySnapshotSchedulePolicy", +"properties": { +"retentionPolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"description": "Retention policy applied to snapshots created by this resource policy." +}, +"schedule": { +"$ref": "ResourcePolicySnapshotSchedulePolicySchedule", +"description": "A Vm Maintenance Policy specifies what kind of infrastructure maintenance we are allowed to perform on this VM and when. Schedule that is applied to disks covered by this policy." +}, +"snapshotProperties": { +"$ref": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"description": "Properties with which snapshots are created such as labels, encryption keys." +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicyRetentionPolicy": { +"description": "Policy for retention of scheduled snapshots.", +"id": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"properties": { +"maxRetentionDays": { +"description": "Maximum age of the snapshot that is allowed to be kept.", +"format": "int32", +"type": "integer" +}, +"onSourceDiskDelete": { +"description": "Specifies the behavior to apply to scheduled snapshots when the source disk is deleted.", +"enum": [ +"APPLY_RETENTION_POLICY", +"KEEP_AUTO_SNAPSHOTS", +"UNSPECIFIED_ON_SOURCE_DISK_DELETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySchedule": { +"description": "A schedule for disks where the schedueled operations are performed.", +"id": "ResourcePolicySnapshotSchedulePolicySchedule", +"properties": { +"dailySchedule": { +"$ref": "ResourcePolicyDailyCycle" +}, +"hourlySchedule": { +"$ref": "ResourcePolicyHourlyCycle" +}, +"weeklySchedule": { +"$ref": "ResourcePolicyWeeklyCycle" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySnapshotProperties": { +"description": "Specified snapshot properties for scheduled snapshots created by this policy.", +"id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"properties": { +"chainName": { +"description": "Chain name that the snapshot is created in.", +"type": "string" +}, +"guestFlush": { +"description": "Indication to perform a 'guest aware' snapshot.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the auto snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycle": { +"description": "Time window specified for weekly operations.", +"id": "ResourcePolicyWeeklyCycle", +"properties": { +"dayOfWeeks": { +"description": "Up to 7 intervals/windows, one for each day of the week.", +"items": { +"$ref": "ResourcePolicyWeeklyCycleDayOfWeek" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycleDayOfWeek": { +"id": "ResourcePolicyWeeklyCycleDayOfWeek", +"properties": { +"day": { +"description": "Defines a schedule that runs on specific days of the week. Specify one or more days. The following options are available: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.", +"enum": [ +"FRIDAY", +"INVALID", +"MONDAY", +"SATURDAY", +"SUNDAY", +"THURSDAY", +"TUESDAY", +"WEDNESDAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyWorkloadPolicy": { +"description": "Represents the workload policy.", +"id": "ResourcePolicyWorkloadPolicy", +"properties": { +"type": { +"enum": [ +"HIGH_AVAILABILITY", +"HIGH_THROUGHPUT" +], +"enumDescriptions": [ +"VMs will be provisioned in such a way which provides high availability.", +"VMs will be provisioned in such a way which provides high throughput." +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatus": { +"description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", +"id": "ResourceStatus", +"properties": { +"physicalHost": { +"description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", +"type": "string" +}, +"physicalHostTopology": { +"$ref": "ResourceStatusPhysicalHostTopology", +"description": "[Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located." +}, +"scheduling": { +"$ref": "ResourceStatusScheduling" +}, +"shutdownDetails": { +"$ref": "ResourceStatusShutdownDetails", +"description": "[Output Only] Details about the instance stopping state." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance" +} +}, +"type": "object" +}, +"ResourceStatusPhysicalHostTopology": { +"description": "Represents the physical host topology of the host on which the VM is running.", +"id": "ResourceStatusPhysicalHostTopology", +"properties": { +"block": { +"description": "[Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency.", +"type": "string" +}, +"cluster": { +"description": "[Output Only] The global name of the Compute Engine cluster where the running instance is located.", +"type": "string" +}, +"host": { +"description": "[Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency.", +"type": "string" +}, +"subblock": { +"description": "[Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusScheduling": { +"id": "ResourceStatusScheduling", +"properties": { +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +}, +"terminationTimestamp": { +"description": "Time in future when the instance will be terminated in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusShutdownDetails": { +"id": "ResourceStatusShutdownDetails", +"properties": { +"maxDuration": { +"$ref": "Duration" +}, +"requestTimestamp": { +"type": "string" +}, +"stopState": { +"enum": [ +"PENDING_STOP", +"STOPPING" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"targetState": { +"enum": [ +"DELETED", +"STOPPED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RolloutPolicy": { +"description": "A rollout policy configuration.", +"id": "RolloutPolicy", +"properties": { +"defaultRolloutTime": { +"description": "An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.", +"type": "string" +}, +"locationRolloutPolicies": { +"additionalProperties": { +"type": "string" +}, +"description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location.", +"type": "object" +} +}, +"type": "object" +}, +"Route": { +"description": "Represents a Route resource. A route defines a path from VM instances in the VPC network to a specific destination. This destination can be inside or outside the VPC network. For more information, read the Routes overview.", +"id": "Route", +"properties": { +"asPaths": { +"description": "[Output Only] AS path.", +"items": { +"$ref": "RouteAsPath" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destRange": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#route", +"description": "[Output Only] Type of this resource. Always compute#routes for Route resources.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "Fully-qualified URL of the network that this route applies to.", +"type": "string" +}, +"nextHopGateway": { +"description": "The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway", +"type": "string" +}, +"nextHopHub": { +"description": "[Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.", +"type": "string" +}, +"nextHopIlb": { +"description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses: - 10.128.0.56 - 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopInstance": { +"description": "The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", +"type": "string" +}, +"nextHopInterRegionCost": { +"description": "[Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.", +"format": "uint32", +"type": "integer" +}, +"nextHopInterconnectAttachment": { +"description": "[Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment.", +"type": "string" +}, +"nextHopIp": { +"description": "The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopMed": { +"description": "[Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.", +"format": "uint32", +"type": "integer" +}, +"nextHopNetwork": { +"description": "The URL of the local network if it should handle matching packets.", +"type": "string" +}, +"nextHopOrigin": { +"description": "[Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.", +"enum": [ +"EGP", +"IGP", +"INCOMPLETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"nextHopPeering": { +"description": "[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.", +"type": "string" +}, +"nextHopVpnTunnel": { +"description": "The URL to a VpnTunnel that should handle matching packets.", +"type": "string" +}, +"priority": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive.", +"format": "uint32", +"type": "integer" +}, +"routeStatus": { +"description": "[Output only] The status of the route.", +"enum": [ +"ACTIVE", +"DROPPED", +"INACTIVE", +"PENDING" +], +"enumDescriptions": [ +"This route is processed and active.", +"The route is dropped due to the VPC exceeding the dynamic route limit. For dynamic route limit, please refer to the Learned route example", +"This route is processed but inactive due to failure from the backend. The backend may have rejected the route", +"This route is being processed internally. The status will change once processed." +], +"type": "string" +}, +"routeType": { +"description": "[Output Only] The type of this route, which can be one of the following values: - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers - 'SUBNET' for a route from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this router - 'STATIC' for a static route", +"enum": [ +"BGP", +"STATIC", +"SUBNET", +"TRANSIT" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"tags": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "A list of instance tags to which this route applies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouteAsPath": { +"id": "RouteAsPath", +"properties": { +"asLists": { +"description": "[Output Only] The AS numbers of the AS Path.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"pathSegmentType": { +"description": "[Output Only] The type of the AS Path, which can be one of the following values: - 'AS_SET': unordered set of autonomous systems that the route in has traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed ", +"enum": [ +"AS_CONFED_SEQUENCE", +"AS_CONFED_SET", +"AS_SEQUENCE", +"AS_SET" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RouteList": { +"description": "Contains a list of Route resources.", +"id": "RouteList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Route resources.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"kind": { +"default": "compute#routeList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RoutePolicy": { +"id": "RoutePolicy", +"properties": { +"description": { +"description": "An optional description of route policy.", +"type": "string" +}, +"fingerprint": { +"description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.", +"type": "string" +}, +"terms": { +"description": "List of terms (the order in the list is not important, they are evaluated in order of priority). Order of policies is not retained and might change when getting policy later.", +"items": { +"$ref": "RoutePolicyPolicyTerm" +}, +"type": "array" +}, +"type": { +"enum": [ +"ROUTE_POLICY_TYPE_EXPORT", +"ROUTE_POLICY_TYPE_IMPORT" +], +"enumDescriptions": [ +"The Route Policy is an Export Policy.", +"The Route Policy is an Import Policy." +], +"type": "string" +} +}, +"type": "object" +}, +"RoutePolicyPolicyTerm": { +"id": "RoutePolicyPolicyTerm", +"properties": { +"actions": { +"description": "CEL expressions to evaluate to modify a route when this term matches.", +"items": { +"$ref": "Expr" +}, +"type": "array" +}, +"match": { +"$ref": "Expr", +"description": "CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes." +}, +"priority": { +"description": "The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Router": { +"description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", +"id": "Router", +"properties": { +"bgp": { +"$ref": "RouterBgp", +"description": "BGP information specific to this router." +}, +"bgpPeers": { +"description": "BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.", +"items": { +"$ref": "RouterBgpPeer" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"encryptedInterconnectRouter": { +"description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.", +"items": { +"$ref": "RouterInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#router", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"md5AuthenticationKeys": { +"description": "Keys used for MD5 authentication.", +"items": { +"$ref": "RouterMd5AuthenticationKey" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nats": { +"description": "A list of NAT services created in this router.", +"items": { +"$ref": "RouterNat" +}, +"type": "array" +}, +"network": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "URI of the network to which this router belongs.", +"type": "string" +}, +"region": { +"description": "[Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"RouterAdvertisedIpRange": { +"description": "Description-tagged IP ranges for the router to advertise.", +"id": "RouterAdvertisedIpRange", +"properties": { +"description": { +"description": "User-specified description for the IP range.", +"type": "string" +}, +"range": { +"description": "The IP range to advertise. The value must be a CIDR-formatted string.", +"type": "string" +} +}, +"type": "object" +}, +"RouterAggregatedList": { +"description": "Contains a list of routers.", +"id": "RouterAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "RoutersScopedList", +"description": "Name of the scope containing this set of routers." +}, +"description": "A list of Router resources.", +"type": "object" +}, +"kind": { +"default": "compute#routerAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RouterBgp": { +"id": "RouterBgp", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_SUBNETS" +], +"enumDescriptions": [ +"Advertise all available subnets (including peer VPC subnets)." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"asn": { +"description": "Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.", +"format": "uint32", +"type": "integer" +}, +"identifierRange": { +"description": "Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this \"router ID\".", +"type": "string" +}, +"keepaliveInterval": { +"description": "The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterBgpPeer": { +"id": "RouterBgpPeer", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_SUBNETS" +], +"enumDescriptions": [ +"Advertise all available subnets (including peer VPC subnets)." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"advertisedRoutePriority": { +"description": "The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.", +"format": "uint32", +"type": "integer" +}, +"bfd": { +"$ref": "RouterBgpPeerBfd", +"description": "BFD configuration for the BGP peering." +}, +"customLearnedIpRanges": { +"description": "A list of user-defined custom learned route IP address ranges for a BGP session.", +"items": { +"$ref": "RouterBgpPeerCustomLearnedIpRange" +}, +"type": "array" +}, +"customLearnedRoutePriority": { +"description": "The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you don't provide a value, Google Cloud assigns a priority of `100` to the ranges.", +"format": "int32", +"type": "integer" +}, +"enable": { +"description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"exportPolicies": { +"description": "List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"importPolicies": { +"description": "List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interfaceName": { +"description": "Name of the interface the BGP peer is associated with.", +"type": "string" +}, +"ipAddress": { +"description": "IP address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The BGP peer is automatically created for PARTNER type InterconnectAttachment; Google will automatically create/delete this BGP peer when the PARTNER InterconnectAttachment is created/deleted, and Google will update the ipAddress and peerIpAddress when the PARTNER InterconnectAttachment is provisioned. This type of BGP peer cannot be created or deleted, but can be modified for all fields except for name, ipAddress and peerIpAddress.", +"Default value, the BGP peer is manually created and managed by user." +], +"type": "string" +}, +"md5AuthenticationKeyName": { +"description": "Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerAsn": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.", +"type": "string" +} +}, +"type": "object" +}, +"RouterBgpPeerBfd": { +"id": "RouterBgpPeerBfd", +"properties": { +"minReceiveInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"minTransmitInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"multiplier": { +"description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.", +"format": "uint32", +"type": "integer" +}, +"sessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RouterBgpPeerCustomLearnedIpRange": { +"id": "RouterBgpPeerCustomLearnedIpRange", +"properties": { +"range": { +"description": "The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`.", +"type": "string" +} +}, +"type": "object" +}, +"RouterInterface": { +"id": "RouterInterface", +"properties": { +"ipRange": { +"description": "IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. ", +"type": "string" +}, +"ipVersion": { +"description": "IP version of this interface.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"linkedInterconnectAttachment": { +"description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The interface is automatically created for PARTNER type InterconnectAttachment, Google will automatically create/update/delete this interface when the PARTNER InterconnectAttachment is created/provisioned/deleted. This type of interface cannot be manually managed by user.", +"Default value, the interface is manually created and managed by user." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateIpAddress": { +"description": "The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.", +"type": "string" +}, +"redundantInterface": { +"description": "Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"subnetwork": { +"description": "The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.", +"type": "string" +} +}, +"type": "object" +}, +"RouterList": { +"description": "Contains a list of Router resources.", +"id": "RouterList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Router resources.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"kind": { +"default": "compute#routerList", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RouterMd5AuthenticationKey": { +"id": "RouterMd5AuthenticationKey", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "[Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"RouterNat": { +"description": "Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.", +"id": "RouterNat", +"properties": { +"autoNetworkTier": { +"description": "The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"drainNatIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableDynamicPortAllocation": { +"description": "Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. ", +"type": "boolean" +}, +"enableEndpointIndependentMapping": { +"type": "boolean" +}, +"endpointTypes": { +"description": "List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM", +"items": { +"enum": [ +"ENDPOINT_TYPE_MANAGED_PROXY_LB", +"ENDPOINT_TYPE_SWG", +"ENDPOINT_TYPE_VM" +], +"enumDescriptions": [ +"This is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.", +"This is used for Secure Web Gateway endpoints.", +"This is the default." +], +"type": "string" +}, +"type": "array" +}, +"icmpIdleTimeoutSec": { +"description": "Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"logConfig": { +"$ref": "RouterNatLogConfig", +"description": "Configure logging on this NAT." +}, +"maxPortsPerVm": { +"description": "Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.", +"format": "int32", +"type": "integer" +}, +"minPortsPerVm": { +"description": "Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nat64Subnetworks": { +"description": "List of Subnetwork resources whose traffic should be translated by NAT64 Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the SubnetworkIpRangeToNat64Option above.", +"items": { +"$ref": "RouterNatSubnetworkToNat64" +}, +"type": "array" +}, +"natIpAllocateOption": { +"description": "Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. ", +"enum": [ +"AUTO_ONLY", +"MANUAL_ONLY" +], +"enumDescriptions": [ +"Nat IPs are allocated by GCP; customers can not specify any Nat IPs.", +"Only use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs." +], +"type": "string" +}, +"natIps": { +"description": "A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rules": { +"description": "A list of rules associated with this NAT.", +"items": { +"$ref": "RouterNatRule" +}, +"type": "array" +}, +"sourceSubnetworkIpRangesToNat": { +"description": "Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.", +"enum": [ +"ALL_SUBNETWORKS_ALL_IP_RANGES", +"ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", +"LIST_OF_SUBNETWORKS" +], +"enumDescriptions": [ +"All the IP ranges in every Subnetwork are allowed to Nat.", +"All the primary IP ranges in every Subnetwork are allowed to Nat.", +"A list of Subnetworks are allowed to Nat (specified in the field subnetwork below)" +], +"type": "string" +}, +"sourceSubnetworkIpRangesToNat64": { +"description": "Specify the Nat option for NAT64, which can take one of the following values: - ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field nat64_subnetwork below) The default is NAT64_OPTION_UNSPECIFIED. Note that if this field contains NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also enable NAT64 for any Subnetworks in this network. Other Router.Nat sections can still be present to enable NAT44 only.", +"enum": [ +"ALL_IPV6_SUBNETWORKS", +"LIST_OF_IPV6_SUBNETWORKS" +], +"enumDescriptions": [ +"NAT64 is enabled for all the IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs.", +"NAT64 is enabled for a list of IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs. If this option is used, the nat64_subnetworks field must be specified." +], +"type": "string" +}, +"subnetworks": { +"description": "A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.", +"items": { +"$ref": "RouterNatSubnetworkToNat" +}, +"type": "array" +}, +"tcpEstablishedIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTimeWaitTimeoutSec": { +"description": "Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTransitoryIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.", +"enum": [ +"PRIVATE", +"PUBLIC" +], +"enumDescriptions": [ +"NAT used for private IP translation.", +"NAT used for public IP translation. This is the default." +], +"type": "string" +}, +"udpIdleTimeoutSec": { +"description": "Timeout (in seconds) for UDP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatLogConfig": { +"description": "Configuration of logging on a NAT.", +"id": "RouterNatLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default.", +"type": "boolean" +}, +"filter": { +"description": "Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful. ", +"enum": [ +"ALL", +"ERRORS_ONLY", +"TRANSLATIONS_ONLY" +], +"enumDescriptions": [ +"Export logs for all (successful and unsuccessful) connections.", +"Export logs for connection failures only.", +"Export logs for successful connections only." +], +"type": "string" +} +}, +"type": "object" +}, +"RouterNatRule": { +"id": "RouterNatRule", +"properties": { +"action": { +"$ref": "RouterNatRuleAction", +"description": "The action to be enforced for traffic that matches this rule." +}, +"description": { +"description": "An optional description of this rule.", +"type": "string" +}, +"match": { +"description": "CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`", +"type": "string" +}, +"ruleNumber": { +"description": "An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatRuleAction": { +"id": "RouterNatRuleAction", +"properties": { +"sourceNatActiveIps": { +"description": "A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatActiveRanges": { +"description": "A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainRanges": { +"description": "A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterNatSubnetworkToNat": { +"description": "Defines the IP ranges that want to use NAT for a subnetwork.", +"id": "RouterNatSubnetworkToNat", +"properties": { +"name": { +"description": "URL for the subnetwork resource that will use NAT.", +"type": "string" +}, +"secondaryIpRangeNames": { +"description": "A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if \"LIST_OF_SECONDARY_IP_RANGES\" is one of the values in source_ip_ranges_to_nat.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceIpRangesToNat": { +"description": "Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: [\"PRIMARY_IP_RANGE\", \"LIST_OF_SECONDARY_IP_RANGES\"] Default: [ALL_IP_RANGES]", +"items": { +"enum": [ +"ALL_IP_RANGES", +"LIST_OF_SECONDARY_IP_RANGES", +"PRIMARY_IP_RANGE" +], +"enumDescriptions": [ +"The primary and all the secondary ranges are allowed to Nat.", +"A list of secondary ranges are allowed to Nat.", +"The primary range is allowed to Nat." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterNatSubnetworkToNat64": { +"description": "Specifies a subnetwork to enable NAT64.", +"id": "RouterNatSubnetworkToNat64", +"properties": { +"name": { +"description": "URL for the subnetwork resource that will use NAT64.", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatus": { +"id": "RouterStatus", +"properties": { +"bestRoutes": { +"description": "A list of the best dynamic routes for this Cloud Router's Virtual Private Cloud (VPC) network in the same region as this Cloud Router. Lists all of the best routes per prefix that are programmed into this region's VPC data plane. When global dynamic routing mode is turned on in the VPC network, this list can include cross-region dynamic routes from Cloud Routers in other regions.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bestRoutesForRouter": { +"description": "A list of the best BGP routes learned by this Cloud Router. It is possible that routes listed might not be programmed into the data plane, if the Google Cloud control plane finds a more optimal route for a prefix than a route learned by this Cloud Router.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bgpPeerStatus": { +"items": { +"$ref": "RouterStatusBgpPeerStatus" +}, +"type": "array" +}, +"natStatus": { +"items": { +"$ref": "RouterStatusNatStatus" +}, +"type": "array" +}, +"network": { +"description": "URI of the network to which this router belongs.", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusBgpPeerStatus": { +"id": "RouterStatusBgpPeerStatus", +"properties": { +"advertisedRoutes": { +"description": "Routes that were advertised to the remote BGP peer", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bfdStatus": { +"$ref": "BfdStatus" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"ipAddress": { +"description": "IP address of the local BGP interface.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the local BGP interface.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the local BGP interface.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URL of the VPN tunnel that this BGP peer controls.", +"type": "string" +}, +"md5AuthEnabled": { +"description": "Informs whether MD5 authentication is enabled on this BGP peer.", +"type": "boolean" +}, +"name": { +"description": "Name of this BGP peer. Unique within the Routers resource.", +"type": "string" +}, +"numLearnedRoutes": { +"description": "Number of routes learned from the remote BGP Peer.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the remote BGP interface.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the remote BGP interface.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the remote BGP interface.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "[Output only] URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance is the peer side of the BGP session.", +"type": "string" +}, +"state": { +"description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", +"type": "string" +}, +"status": { +"description": "Status of the BGP peer: {UP, DOWN}", +"enum": [ +"DOWN", +"UNKNOWN", +"UP" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusReason": { +"description": "Indicates why particular status was returned.", +"enum": [ +"IPV4_PEER_ON_IPV6_ONLY_CONNECTION", +"IPV6_PEER_ON_IPV4_ONLY_CONNECTION", +"MD5_AUTH_INTERNAL_PROBLEM", +"STATUS_REASON_UNSPECIFIED" +], +"enumDescriptions": [ +"BGP peer disabled because it requires IPv4 but the underlying connection is IPv6-only.", +"BGP peer disabled because it requires IPv6 but the underlying connection is IPv4-only.", +"Indicates internal problems with configuration of MD5 authentication. This particular reason can only be returned when md5AuthEnabled is true and status is DOWN.", +"" +], +"type": "string" +}, +"uptime": { +"description": "Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds", +"type": "string" +}, +"uptimeSeconds": { +"description": "Time this session has been up, in seconds. Format: 145", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusNatStatus": { +"description": "Status of a NAT contained in this router.", +"id": "RouterStatusNatStatus", +"properties": { +"autoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT. Example: [\"1.1.1.1\", \"129.2.16.89\"]", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainAutoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainUserAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraNatIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if user-specified IPs are NOT enough to allow all configured VMs to use NAT. This value is meaningful only when auto-allocation of NAT IPs is *not* used.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this NAT.", +"type": "string" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., Nics) that can use NAT.", +"format": "int32", +"type": "integer" +}, +"ruleStatus": { +"description": "Status of rules in this NAT.", +"items": { +"$ref": "RouterStatusNatStatusNatRuleStatus" +}, +"type": "array" +}, +"userAllocatedNatIpResources": { +"description": "A list of fully qualified URLs of reserved IP address resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT. They will be raw IP strings like \"179.12.26.133\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterStatusNatStatusNatRuleStatus": { +"description": "Status of a NAT Rule contained in this NAT.", +"id": "RouterStatusNatStatusNatRuleStatus", +"properties": { +"activeNatIps": { +"description": "A list of active IPs for NAT. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainNatIps": { +"description": "A list of IPs for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if the existing IPs in this NAT Rule are NOT enough to allow all configured VMs to use NAT.", +"format": "int32", +"type": "integer" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterStatusResponse": { +"id": "RouterStatusResponse", +"properties": { +"kind": { +"default": "compute#routerStatusResponse", +"description": "Type of resource.", +"type": "string" +}, +"result": { +"$ref": "RouterStatus" +} +}, +"type": "object" +}, +"RoutersGetRoutePolicyResponse": { +"id": "RoutersGetRoutePolicyResponse", +"properties": { +"resource": { +"$ref": "RoutePolicy" +} +}, +"type": "object" +}, +"RoutersListBgpRoutes": { +"id": "RoutersListBgpRoutes", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#routersListBgpRoutes", +"description": "[Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of bgp routes.", +"items": { +"$ref": "BgpRoute" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RoutersListRoutePolicies": { +"id": "RoutersListRoutePolicies", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#routersListRoutePolicies", +"description": "[Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of route policies.", +"items": { +"$ref": "RoutePolicy" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RoutersPreviewResponse": { +"id": "RoutersPreviewResponse", +"properties": { +"resource": { +"$ref": "Router", +"description": "Preview of given router." +} +}, +"type": "object" +}, +"RoutersScopedList": { +"id": "RoutersScopedList", +"properties": { +"routers": { +"description": "A list of routers contained in this scope.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of routers when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SSLHealthCheck": { +"id": "SSLHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection and SSL handshake.", +"type": "string" +}, +"response": { +"description": "Creates a content-based SSL health check. In addition to establishing a TCP connection and the TLS handshake, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"SavedAttachedDisk": { +"description": "DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource.", +"id": "SavedAttachedDisk", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies the name of the disk attached to the source instance.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The encryption key for the disk." +}, +"diskSizeGb": { +"description": "The size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "[Output Only] URL of the disk type resource. For example: projects/project /zones/zone/diskTypes/pd-standard or pd-ssd", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Specifies zero-based index of the disk that is attached to the source instance.", +"format": "int32", +"type": "integer" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#savedAttachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "The mode in which this disk is attached to the source instance, either READ_WRITE or READ_ONLY.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"source": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the disk's snapshot by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "Specifies the type of the attached disk, either SCRATCH or PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SavedDisk": { +"description": "An instance-attached disk resource.", +"id": "SavedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"kind": { +"default": "compute#savedDisk", +"description": "[Output Only] Type of the resource. Always compute#savedDisk for attached disks.", +"type": "string" +}, +"sourceDisk": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] Size of the individual disk snapshot used by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ScalingScheduleStatus": { +"id": "ScalingScheduleStatus", +"properties": { +"lastStartTime": { +"description": "[Output Only] The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"nextStartTime": { +"description": "[Output Only] The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of a scaling schedule.", +"enum": [ +"ACTIVE", +"DISABLED", +"OBSOLETE", +"READY" +], +"enumDescriptions": [ +"The current autoscaling recommendation is influenced by this scaling schedule.", +"This scaling schedule has been disabled by the user.", +"This scaling schedule will never become active again.", +"The current autoscaling recommendation is not influenced by this scaling schedule." +], +"type": "string" +} +}, +"type": "object" +}, +"Scheduling": { +"description": "Sets the scheduling options for an Instance.", +"id": "Scheduling", +"properties": { +"automaticRestart": { +"description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", +"type": "boolean" +}, +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +}, +"gracefulShutdown": { +"$ref": "SchedulingGracefulShutdown" +}, +"hostErrorTimeoutSeconds": { +"description": "Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.", +"format": "int32", +"type": "integer" +}, +"instanceTerminationAction": { +"description": "Specifies the termination action for the instance.", +"enum": [ +"DELETE", +"INSTANCE_TERMINATION_ACTION_UNSPECIFIED", +"STOP" +], +"enumDescriptions": [ +"Delete the VM.", +"Default value. This value is unused.", +"Stop the VM without storing in-memory content. default action." +], +"type": "string" +}, +"localSsdRecoveryTimeout": { +"$ref": "Duration", +"description": "Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour." +}, +"locationHint": { +"description": "An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"maintenanceFreezeDurationHours": { +"description": "Specifies the number of hours after VM instance creation where the VM won't be scheduled for maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"maxRunDuration": { +"$ref": "Duration", +"description": "Specifies the max run duration for the given instance. If specified, the instance termination action will be performed at the end of the run duration." +}, +"minNodeCpus": { +"description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", +"format": "int32", +"type": "integer" +}, +"nodeAffinities": { +"description": "A set of node affinity and anti-affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity.", +"items": { +"$ref": "SchedulingNodeAffinity" +}, +"type": "array" +}, +"onHostMaintenance": { +"description": "Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy.", +"enum": [ +"MIGRATE", +"TERMINATE" +], +"enumDescriptions": [ +"*[Default]* Allows Compute Engine to automatically migrate instances out of the way of maintenance events.", +"Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity. If you would like your instance to be restarted, set the automaticRestart flag to true. Your instance may be restarted more than once, and it may be restarted outside the window of maintenance events." +], +"type": "string" +}, +"onInstanceStopAction": { +"$ref": "SchedulingOnInstanceStopAction" +}, +"preemptible": { +"description": "Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", +"type": "boolean" +}, +"provisioningModel": { +"description": "Specifies the provisioning model of the instance.", +"enum": [ +"RESERVATION_BOUND", +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Bound to the lifecycle of the reservation in which it is provisioned.", +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +}, +"terminationTime": { +"description": "Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.", +"type": "string" +} +}, +"type": "object" +}, +"SchedulingGracefulShutdown": { +"description": "The configuration for gracefully shutting down the instance.", +"id": "SchedulingGracefulShutdown", +"properties": { +"enabled": { +"description": "Opts-in for graceful shutdown.", +"type": "boolean" +}, +"maxDuration": { +"$ref": "Duration", +"description": "The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state." +} +}, +"type": "object" +}, +"SchedulingNodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "SchedulingNodeAffinity", +"properties": { +"key": { +"description": "Corresponds to the label key of Node resource.", +"type": "string" +}, +"operator": { +"description": "Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity.", +"enum": [ +"IN", +"NOT_IN", +"OPERATOR_UNSPECIFIED" +], +"enumDescriptions": [ +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes.", +"" +], +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of Node resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SchedulingOnInstanceStopAction": { +"description": "Defines the behaviour for instances with the instance_termination_action STOP.", +"id": "SchedulingOnInstanceStopAction", +"properties": { +"discardLocalSsd": { +"description": "If true, the contents of any attached Local SSD disks will be discarded else, the Local SSD data will be preserved when the instance is stopped at the end of the run duration/termination time.", +"type": "boolean" +} +}, +"type": "object" +}, +"Screenshot": { +"description": "An instance's screenshot.", +"id": "Screenshot", +"properties": { +"contents": { +"description": "[Output Only] The Base64-encoded screenshot data.", +"type": "string" +}, +"kind": { +"default": "compute#screenshot", +"description": "[Output Only] Type of the resource. Always compute#screenshot for the screenshots.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPoliciesAggregatedList": { +"id": "SecurityPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SecurityPoliciesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of SecurityPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#securityPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyAggregatedList for lists of Security Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPoliciesListPreconfiguredExpressionSetsResponse": { +"id": "SecurityPoliciesListPreconfiguredExpressionSetsResponse", +"properties": { +"preconfiguredExpressionSets": { +"$ref": "SecurityPoliciesWafConfig" +} +}, +"type": "object" +}, +"SecurityPoliciesScopedList": { +"id": "SecurityPoliciesScopedList", +"properties": { +"securityPolicies": { +"description": "A list of SecurityPolicies contained in this scope.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPoliciesWafConfig": { +"id": "SecurityPoliciesWafConfig", +"properties": { +"wafRules": { +"$ref": "PreconfiguredWafSet" +} +}, +"type": "object" +}, +"SecurityPolicy": { +"description": "Represents a Google Cloud Armor security policy resource. Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview.", +"id": "SecurityPolicy", +"properties": { +"adaptiveProtectionConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfig" +}, +"advancedOptionsConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfig" +}, +"associations": { +"description": "A list of associations that belong to this policy.", +"items": { +"$ref": "SecurityPolicyAssociation" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"ddosProtectionConfig": { +"$ref": "SecurityPolicyDdosProtectionConfig" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#securityPolicy", +"description": "[Output only] Type of the resource. Always compute#securityPolicyfor security policies", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"parent": { +"description": "[Output Only] The parent of the security policy.", +"type": "string" +}, +"recaptchaOptionsConfig": { +"$ref": "SecurityPolicyRecaptchaOptionsConfig" +}, +"region": { +"description": "[Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.", +"type": "string" +}, +"ruleTupleCount": { +"deprecated": true, +"description": "[Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match \"*\" for srcIpRanges and for the networkMatch condition every field must be either match \"*\" or not set). If no rules are provided when creating a security policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shortName": { +"description": "User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is CLOUD_ARMOR. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"type": { +"description": "The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.", +"enum": [ +"CLOUD_ARMOR", +"CLOUD_ARMOR_EDGE", +"CLOUD_ARMOR_NETWORK", +"FIREWALL" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"userDefinedFields": { +"description": "Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: \"ipv4_fragment_offset\" base: IPV4 offset: 6 size: 2 mask: \"0x1fff\"", +"items": { +"$ref": "SecurityPolicyUserDefinedField" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfig": { +"description": "Configuration options for Cloud Armor Adaptive Protection (CAAP).", +"id": "SecurityPolicyAdaptiveProtectionConfig", +"properties": { +"autoDeployConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig" +}, +"layer7DdosDefenseConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"description": "If set to true, enables Cloud Armor Machine Learning." +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig": { +"description": "Configuration options for Adaptive Protection auto-deploy feature.", +"id": "SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig", +"properties": { +"confidenceThreshold": { +"format": "float", +"type": "number" +}, +"expirationSec": { +"format": "int32", +"type": "integer" +}, +"impactedBaselineThreshold": { +"format": "float", +"type": "number" +}, +"loadThreshold": { +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig": { +"description": "Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"properties": { +"enable": { +"description": "If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "boolean" +}, +"ruleVisibility": { +"description": "Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"enum": [ +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"thresholdConfigs": { +"description": "Configuration options for layer7 adaptive protection for various customizable thresholds.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig": { +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig", +"properties": { +"autoDeployConfidenceThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployExpirationSec": { +"format": "int32", +"type": "integer" +}, +"autoDeployImpactedBaselineThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionAbsoluteQps": { +"format": "float", +"type": "number" +}, +"detectionLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionRelativeToBaselineQps": { +"format": "float", +"type": "number" +}, +"name": { +"description": "The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"trafficGranularityConfigs": { +"description": "Configuration options for enabling Adaptive Protection to operate on specified granular traffic units.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig": { +"description": "Configurations to specifc granular traffic units processed by Adaptive Protection.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig", +"properties": { +"enableEachUniqueValue": { +"description": "If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if `value` is empty.", +"type": "boolean" +}, +"type": { +"description": "Type of this configuration.", +"enum": [ +"HTTP_HEADER_HOST", +"HTTP_PATH", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"value": { +"description": "Requests that match this value constitute a granular traffic unit.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfig": { +"id": "SecurityPolicyAdvancedOptionsConfig", +"properties": { +"jsonCustomConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." +}, +"jsonParsing": { +"enum": [ +"DISABLED", +"STANDARD", +"STANDARD_WITH_GRAPHQL" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"logLevel": { +"enum": [ +"NORMAL", +"VERBOSE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestBodyInspectionSize": { +"description": "The maximum request size chosen by the customer with Waf enabled. Currently only \"8KB\" and \"128KB\" are supported. Values are case insensitive.", +"type": "string" +}, +"userIpRequestHeaders": { +"description": "An optional list of case-insensitive request header names to use for resolving the callers client IP address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { +"id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"properties": { +"contentTypes": { +"description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAssociation": { +"id": "SecurityPolicyAssociation", +"properties": { +"attachmentId": { +"description": "The resource that the security policy is attached to.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "[Output Only] The display name of the security policy of the association.", +"type": "string" +}, +"excludedFolders": { +"description": "A list of folders to exclude from the security policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedProjects": { +"description": "A list of projects to exclude from the security policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name for an association.", +"type": "string" +}, +"securityPolicyId": { +"description": "[Output Only] The security policy ID of the association.", +"type": "string" +}, +"shortName": { +"description": "[Output Only] The short name of the security policy of the association.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyDdosProtectionConfig": { +"id": "SecurityPolicyDdosProtectionConfig", +"properties": { +"ddosProtection": { +"enum": [ +"ADVANCED", +"ADVANCED_PREVIEW", +"STANDARD" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyList": { +"id": "SecurityPolicyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SecurityPolicy resources.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#securityPolicyList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPolicyRecaptchaOptionsConfig": { +"id": "SecurityPolicyRecaptchaOptionsConfig", +"properties": { +"redirectSiteKey": { +"description": "An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyReference": { +"id": "SecurityPolicyReference", +"properties": { +"securityPolicy": { +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "SecurityPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"direction": { +"deprecated": true, +"description": "The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"enableLogging": { +"deprecated": true, +"description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules. This field may only be specified when the versioned_expr is set to FIREWALL.", +"type": "boolean" +}, +"headerAction": { +"$ref": "SecurityPolicyRuleHttpHeaderAction", +"description": "Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"kind": { +"default": "compute#securityPolicyRule", +"description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", +"type": "string" +}, +"match": { +"$ref": "SecurityPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"networkMatch": { +"$ref": "SecurityPolicyRuleNetworkMatcher", +"description": "A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - \"192.0.2.0/24\" - \"198.51.100.0/24\" userDefinedFields: - name: \"ipv4_fragment_offset\" values: - \"1-0x1fff\" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named \"ipv4_fragment_offset\" with a value between 1 and 0x1fff inclusive." +}, +"preconfiguredWafConfig": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfig", +"description": "Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect." +}, +"preview": { +"description": "If set to true, the specified action is not enforced.", +"type": "boolean" +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"rateLimitOptions": { +"$ref": "SecurityPolicyRuleRateLimitOptions", +"description": "Must be specified if the action is \"rate_based_ban\" or \"throttle\". Cannot be specified for any other actions." +}, +"redirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"ruleNumber": { +"description": "Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.", +"format": "int64", +"type": "string" +}, +"ruleTupleCount": { +"deprecated": true, +"description": "[Output Only] Calculation of the complexity of a single firewall security policy rule.", +"format": "int32", +"type": "integer" +}, +"targetResources": { +"deprecated": true, +"description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetServiceAccounts": { +"deprecated": true, +"description": "A list of service accounts indicating the sets of instances that are applied with this rule.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderAction": { +"id": "SecurityPolicyRuleHttpHeaderAction", +"properties": { +"requestHeadersToAdds": { +"description": "The list of request headers to add or overwrite if they're already present.", +"items": { +"$ref": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderActionHttpHeaderOption": { +"id": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header to set.", +"type": "string" +}, +"headerValue": { +"description": "The value to set the named header to.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "SecurityPolicyRuleMatcher", +"properties": { +"config": { +"$ref": "SecurityPolicyRuleMatcherConfig", +"description": "The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified." +}, +"expr": { +"$ref": "Expr", +"description": "User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies." +}, +"exprOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptions", +"description": "The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr')." +}, +"versionedExpr": { +"description": "Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.", +"enum": [ +"FIREWALL", +"SRC_IPS_V1" +], +"enumDescriptions": [ +"", +"Matches the source IP address of a request to the IP ranges supplied in config." +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfig": { +"id": "SecurityPolicyRuleMatcherConfig", +"properties": { +"destIpRanges": { +"deprecated": true, +"description": "CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +}, +"layer4Configs": { +"deprecated": true, +"description": "Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"$ref": "SecurityPolicyRuleMatcherConfigLayer4Config" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfigLayer4Config": { +"id": "SecurityPolicyRuleMatcherConfigLayer4Config", +"properties": { +"ipProtocol": { +"deprecated": true, +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"deprecated": true, +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"]. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptions": { +"id": "SecurityPolicyRuleMatcherExprOptions", +"properties": { +"recaptchaOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"description": "reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect." +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions": { +"id": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"properties": { +"actionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sessionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcher": { +"description": "Represents a match condition that incoming network traffic is evaluated against.", +"id": "SecurityPolicyRuleNetworkMatcher", +"properties": { +"destIpRanges": { +"description": "Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destPorts": { +"description": "Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipProtocols": { +"description": "IPv4 protocol / IPv6 next header (after extension headers). Each element can be an 8-bit unsigned decimal number (e.g. \"6\"), range (e.g. \"253-254\"), or one of the following protocol names: \"tcp\", \"udp\", \"icmp\", \"esp\", \"ah\", \"ipip\", or \"sctp\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcAsns": { +"description": "BGP Autonomous System Number associated with the source IP address.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcPorts": { +"description": "Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Two-letter ISO 3166-1 alpha-2 country code associated with the source IP address.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userDefinedFields": { +"description": "User-defined fields. Each element names a defined field and lists the matching values for that field.", +"items": { +"$ref": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch": { +"id": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch", +"properties": { +"name": { +"description": "Name of the user-defined field, as given in the definition.", +"type": "string" +}, +"values": { +"description": "Matching values of the field. Each element can be a 32-bit unsigned decimal or hexadecimal (starting with \"0x\") number (e.g. \"64\") or range (e.g. \"0x400-0x7ff\").", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfig": { +"id": "SecurityPolicyRulePreconfiguredWafConfig", +"properties": { +"exclusions": { +"description": "A list of exclusions to apply during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusion" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusion": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusion", +"properties": { +"requestCookiesToExclude": { +"description": "A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestHeadersToExclude": { +"description": "A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestQueryParamsToExclude": { +"description": "A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestUrisToExclude": { +"description": "A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"targetRuleIds": { +"description": "A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetRuleSet": { +"description": "Target WAF rule set to apply the preconfigured WAF exclusion.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams", +"properties": { +"op": { +"description": "The match operator for the field.", +"enum": [ +"CONTAINS", +"ENDS_WITH", +"EQUALS", +"EQUALS_ANY", +"STARTS_WITH" +], +"enumDescriptions": [ +"The operator matches if the field value contains the specified value.", +"The operator matches if the field value ends with the specified value.", +"The operator matches if the field value equals the specified value.", +"The operator matches if the field value is any value.", +"The operator matches if the field value starts with the specified value." +], +"type": "string" +}, +"val": { +"description": "The value of the field.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptions": { +"id": "SecurityPolicyRuleRateLimitOptions", +"properties": { +"banDurationSec": { +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.", +"format": "int32", +"type": "integer" +}, +"banThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'." +}, +"conformAction": { +"description": "Action to take for requests that are under the configured rate limit threshold. Valid option is \"allow\" only.", +"type": "string" +}, +"enforceOnKey": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"ALL_IPS", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enforceOnKeyConfigs": { +"description": "If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified.", +"items": { +"$ref": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig" +}, +"type": "array" +}, +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"exceedAction": { +"description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below. The `redirect` action is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +}, +"exceedRedirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"rateLimitThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Threshold at which to begin ratelimiting." +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig": { +"id": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig", +"properties": { +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"enforceOnKeyType": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"ALL_IPS", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsThreshold": { +"id": "SecurityPolicyRuleRateLimitOptionsThreshold", +"properties": { +"count": { +"description": "Number of HTTP(S) requests for calculating the threshold.", +"format": "int32", +"type": "integer" +}, +"intervalSec": { +"description": "Interval over which the threshold is computed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRedirectOptions": { +"id": "SecurityPolicyRuleRedirectOptions", +"properties": { +"target": { +"description": "Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.", +"type": "string" +}, +"type": { +"description": "Type of the redirect action.", +"enum": [ +"EXTERNAL_302", +"GOOGLE_RECAPTCHA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyUserDefinedField": { +"id": "SecurityPolicyUserDefinedField", +"properties": { +"base": { +"description": "The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required", +"enum": [ +"IPV4", +"IPV6", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"mask": { +"description": "If specified, apply this mask (bitwise AND) to the field to ignore bits before matching. Encoded as a hexadecimal number (starting with \"0x\"). The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.", +"type": "string" +}, +"name": { +"description": "The name of this field. Must be unique within the policy.", +"type": "string" +}, +"offset": { +"description": "Offset of the first byte of the field (in network byte order) relative to 'base'.", +"format": "int32", +"type": "integer" +}, +"size": { +"description": "Size of the field in bytes. Valid values: 1-4.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecuritySettings": { +"description": "The authentication and authorization settings for a BackendService.", +"id": "SecuritySettings", +"properties": { +"authentication": { +"deprecated": true, +"description": "[Deprecated] Use clientTlsPolicy instead.", +"type": "string" +}, +"awsV4Authentication": { +"$ref": "AWSV4Signature", +"description": "The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication. Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends." +}, +"clientTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted.", +"type": "string" +}, +"subjectAltNames": { +"description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SerialPortOutput": { +"description": "An instance serial console output.", +"id": "SerialPortOutput", +"properties": { +"contents": { +"description": "[Output Only] The contents of the console output.", +"type": "string" +}, +"kind": { +"default": "compute#serialPortOutput", +"description": "[Output Only] Type of the resource. Always compute#serialPortOutput for serial port output.", +"type": "string" +}, +"next": { +"description": "[Output Only] The position of the next byte of content, regardless of whether the content exists, following the output returned in the `contents` property. Use this value in the next request as the start parameter.", +"format": "int64", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"start": { +"description": "The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer (1 MB), older output is overwritten by newer content. The output start value will indicate the byte position of the output that was returned, which might be different than the `start` value that was specified in the request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ServerBinding": { +"id": "ServerBinding", +"properties": { +"type": { +"enum": [ +"RESTART_NODE_ON_ANY_SERVER", +"RESTART_NODE_ON_MINIMAL_SERVERS", +"SERVER_BINDING_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Node may associate with any physical server over its lifetime.", +"Node may associate with minimal physical servers over its lifetime.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceAttachment": { +"description": "Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service.", +"id": "ServiceAttachment", +"properties": { +"connectedEndpoints": { +"description": "[Output Only] An array of connections for all the consumers connected to this service attachment.", +"items": { +"$ref": "ServiceAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"description": "The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules.", +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"CONNECTION_PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"consumerAcceptLists": { +"description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", +"items": { +"$ref": "ServiceAttachmentConsumerProjectLimit" +}, +"type": "array" +}, +"consumerRejectLists": { +"description": "Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"domainNames": { +"description": "If specified, the domain name will be used during the integration between the PSC connected endpoints and the Cloud DNS. For example, this is a valid domain name: \"p.mycompany.com.\". Current max number of domain names supported is 1.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableProxyProtocol": { +"description": "If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers.", +"type": "boolean" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to-date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the ServiceAttachment.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#serviceAttachment", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.serviceAttachments.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natSubnets": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service producer to use for NAT in this service attachment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerForwardingRule": { +"deprecated": true, +"description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", +"type": "string" +}, +"propagatedConnectionLimit": { +"description": "The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.", +"format": "uint32", +"type": "integer" +}, +"pscServiceAttachmentId": { +"$ref": "Uint128", +"description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." +}, +"reconcileConnections": { +"description": "This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"targetService": { +"description": "The URL of a service serving the endpoint identified by this service attachment.", +"type": "string" +}, +"tunnelingConfig": { +"$ref": "ServiceAttachmentTunnelingConfig", +"description": "When a tunneling config is set on this service attachment it will encapsulate traffic between consumer and producer. When tunneling is enabled: - nat_subnets must be unset - enable_proxy_protocol must be false - producer_forwarding_rule must be a L4 ILB. - " +} +}, +"type": "object" +}, +"ServiceAttachmentAggregatedList": { +"description": "Contains a list of ServiceAttachmentsScopedList.", +"id": "ServiceAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ServiceAttachmentsScopedList", +"description": "Name of the scope containing this set of ServiceAttachments." +}, +"description": "A list of ServiceAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#serviceAttachmentAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ServiceAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this service attachment.", +"id": "ServiceAttachmentConnectedEndpoint", +"properties": { +"consumerNetwork": { +"description": "The url of the consumer network.", +"type": "string" +}, +"endpoint": { +"description": "The url of a connected endpoint.", +"type": "string" +}, +"propagatedConnectionCount": { +"description": "The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.", +"format": "uint32", +"type": "integer" +}, +"pscConnectionId": { +"description": "The PSC connection id of the connected endpoint.", +"format": "uint64", +"type": "string" +}, +"status": { +"description": "The status of a connected endpoint to this service attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The consumer is still connected but not using the connection.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentConsumerProjectLimit": { +"id": "ServiceAttachmentConsumerProjectLimit", +"properties": { +"connectionLimit": { +"description": "The value of the limit to set.", +"format": "uint32", +"type": "integer" +}, +"networkUrl": { +"description": "The network URL for the network to set the limit for.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number for the project to set the limit for.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentList": { +"id": "ServiceAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ServiceAttachment resources.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#serviceAttachmentList", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ServiceAttachmentTunnelingConfig": { +"description": "Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner.", +"id": "ServiceAttachmentTunnelingConfig", +"properties": { +"encapsulationProfile": { +"description": "Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers.", +"enum": [ +"GENEVE_SECURITY_V1", +"UNSPECIFIED_ENCAPSULATION_PROFILE" +], +"enumDescriptions": [ +"Use GENEVE encapsulation protocol and include the SECURITY_V1 set of GENEVE headers.", +"" +], +"type": "string" +}, +"routingMode": { +"description": "How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network.", +"enum": [ +"PACKET_INJECTION", +"STANDARD_ROUTING", +"UNSPECIFIED_ROUTING_MODE" +], +"enumDescriptions": [ +"Traffic sent to this service attachment will be reinjected into the consumer network.", +"Response traffic, after de-encapsulation, will be returned to the client.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentsScopedList": { +"id": "ServiceAttachmentsScopedList", +"properties": { +"serviceAttachments": { +"description": "A list of ServiceAttachments contained in this scope.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of service attachments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadata": { +"id": "SetCommonInstanceMetadataOperationMetadata", +"properties": { +"clientOperationId": { +"description": "[Output Only] The client operation id.", +"type": "string" +}, +"perLocationOperations": { +"additionalProperties": { +"$ref": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo" +}, +"description": "[Output Only] Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo": { +"id": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo", +"properties": { +"error": { +"$ref": "Status", +"description": "[Output Only] If state is `ABANDONED` or `FAILED`, this field is populated." +}, +"state": { +"description": "[Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.", +"enum": [ +"ABANDONED", +"DONE", +"FAILED", +"PROPAGATED", +"PROPAGATING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Operation not tracked in this location e.g. zone is marked as DOWN.", +"Operation has completed successfully.", +"Operation is in an error state.", +"Operation is confirmed to be in the location.", +"Operation is not yet confirmed to have been created in the location.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettings": { +"description": "The share setting for reservations and sole tenancy node groups.", +"id": "ShareSettings", +"properties": { +"projectMap": { +"additionalProperties": { +"$ref": "ShareSettingsProjectConfig" +}, +"description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS.", +"type": "object" +}, +"projects": { +"description": "A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.", +"items": { +"type": "string" +}, +"type": "array" +}, +"shareType": { +"description": "Type of sharing for this shared-reservation", +"enum": [ +"LOCAL", +"ORGANIZATION", +"SHARE_TYPE_UNSPECIFIED", +"SPECIFIC_PROJECTS" +], +"enumDescriptions": [ +"Default value.", +"Shared-reservation is open to entire Organization", +"Default value. This value is unused.", +"Shared-reservation is open to specific projects" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettingsProjectConfig": { +"description": "Config for each project in the share settings.", +"id": "ShareSettingsProjectConfig", +"properties": { +"projectId": { +"description": "The project ID, should be same as the key of this project config in the parent map.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedInstanceIdentity": { +"description": "A Shielded Instance Identity.", +"id": "ShieldedInstanceIdentity", +"properties": { +"encryptionKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Endorsement Key (EK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +}, +"kind": { +"default": "compute#shieldedInstanceIdentity", +"description": "[Output Only] Type of the resource. Always compute#shieldedInstanceIdentity for shielded Instance identity entry.", +"type": "string" +}, +"signingKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Attestation Key (AK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +} +}, +"type": "object" +}, +"ShieldedInstanceIdentityEntry": { +"description": "A Shielded Instance Identity Entry.", +"id": "ShieldedInstanceIdentityEntry", +"properties": { +"ekCert": { +"description": "A PEM-encoded X.509 certificate. This field can be empty.", +"type": "string" +}, +"ekPub": { +"description": "A PEM-encoded public key.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceIntegrityPolicy": { +"description": "The policy describes the baseline against which Instance boot integrity is measured.", +"id": "ShieldedInstanceIntegrityPolicy", +"properties": { +"updateAutoLearnPolicy": { +"description": "Updates the integrity policy baseline using the measurements from the VM instance's most recent boot.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedVmConfig": { +"description": "A set of Shielded VM options.", +"id": "ShieldedVmConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedVmIdentity": { +"description": "A Shielded VM Identity.", +"id": "ShieldedVmIdentity", +"properties": { +"encryptionKey": { +"$ref": "ShieldedVmIdentityEntry", +"description": "An Endorsement Key (EK) issued to the Shielded VM's vTPM." +}, +"kind": { +"default": "compute#shieldedVmIdentity", +"description": "[Output Only] Type of the resource. Always compute#shieldedVmIdentity for shielded VM identity entry.", +"type": "string" +}, +"signingKey": { +"$ref": "ShieldedVmIdentityEntry", +"description": "An Attestation Key (AK) issued to the Shielded VM's vTPM." +} +}, +"type": "object" +}, +"ShieldedVmIdentityEntry": { +"description": "A Shielded Instance Identity Entry.", +"id": "ShieldedVmIdentityEntry", +"properties": { +"ekCert": { +"description": "A PEM-encoded X.509 certificate. This field can be empty.", +"type": "string" +}, +"ekPub": { +"description": "A PEM-encoded public key.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedVmIntegrityPolicy": { +"description": "The policy describes the baseline against which VM instance boot integrity is measured.", +"id": "ShieldedVmIntegrityPolicy", +"properties": { +"updateAutoLearnPolicy": { +"description": "Updates the integrity policy baseline using the measurements from the VM instance's most recent boot.", +"type": "boolean" +} +}, +"type": "object" +}, +"SignedUrlKey": { +"description": "Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs", +"id": "SignedUrlKey", +"properties": { +"keyName": { +"description": "Name of the key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"keyValue": { +"description": "128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.", +"type": "string" +} +}, +"type": "object" +}, +"Snapshot": { +"description": "Represents a Persistent Disk Snapshot resource. You can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots.", +"id": "Snapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoCreated": { +"description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk.", +"type": "boolean" +}, +"chainName": { +"description": "Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value.", +"type": "string" +}, +"creationSizeBytes": { +"description": "[Output Only] Size in bytes of the snapshot at creation time.", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"downloadBytes": { +"description": "[Output Only] Number of bytes downloaded to restore a snapshot to a disk.", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this snapshot is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "[Output Only] A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#snapshot", +"description": "[Output Only] Type of the resource. Always compute#snapshot for Snapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a snapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"licenseCodes": { +"description": "[Output Only] Integer license codes indicating which licenses are attached to this snapshot.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "[Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image).", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the snapshot close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.createSnapshot", +"compute.snapshots.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"snapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later." +}, +"snapshotType": { +"description": "Indicates the type of the snapshot.", +"enum": [ +"ARCHIVE", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this snapshot.", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskForRecoveryCheckpoint": { +"description": "The source disk whose recovery checkpoint will be used to create this snapshot.", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this snapshot. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Customer provided encryption key when creating Snapshot from Instant Snapshot." +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshotSchedulePolicy": { +"description": "[Output Only] URL of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"sourceSnapshotSchedulePolicyId": { +"description": "[Output Only] ID of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"Snapshot creation is in progress.", +"Snapshot is currently being deleted.", +"Snapshot creation failed.", +"Snapshot has been created successfully.", +"Snapshot is being uploaded." +], +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +}, +"userLicenses": { +"description": "[Output Only] A list of user provided licenses represented by a list of URLs to the license resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SnapshotList": { +"description": "Contains a list of Snapshot resources.", +"id": "SnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Snapshot resources.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#snapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SnapshotSettings": { +"id": "SnapshotSettings", +"properties": { +"storageLocation": { +"$ref": "SnapshotSettingsStorageLocationSettings", +"description": "Policy of which storage location is going to be resolved, and additional data that particularizes how the policy is going to be carried out." +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettings": { +"id": "SnapshotSettingsStorageLocationSettings", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference" +}, +"description": "When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the locations listed in this field. Keys are Cloud Storage bucket locations. Only one location can be specified.", +"type": "object" +}, +"policy": { +"description": "The chosen location policy.", +"enum": [ +"LOCAL_REGION", +"NEAREST_MULTI_REGION", +"SPECIFIC_LOCATIONS", +"STORAGE_LOCATION_POLICY_UNSPECIFIED" +], +"enumDescriptions": [ +"Store snapshot in the same region as with the originating disk. No additional parameters are needed.", +"Store snapshot in the nearest multi region Cloud Storage bucket, relative to the originating disk. No additional parameters are needed.", +"Store snapshot in the specific locations, as specified by the user. The list of regions to store must be defined under the `locations` field.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettingsStorageLocationPreference": { +"description": "A structure for specifying storage locations.", +"id": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference", +"properties": { +"name": { +"description": "Name of the location. It should be one of the Cloud Storage buckets. Only one location can be specified.", +"type": "string" +} +}, +"type": "object" +}, +"SourceDiskEncryptionKey": { +"id": "SourceDiskEncryptionKey", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDisk": { +"description": "URL of the disk attached to the source instance. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"SourceInstanceParams": { +"description": "A specification of the parameters to use when creating the instance template from a source instance.", +"id": "SourceInstanceParams", +"properties": { +"diskConfigs": { +"description": "Attached disks configuration. If not provided, defaults are applied: For boot disk and any other R/W disks, the source images for each disk will be used. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"items": { +"$ref": "DiskInstantiationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SourceInstanceProperties": { +"description": "DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field.", +"id": "SourceInstanceProperties", +"properties": { +"canIpForward": { +"description": "Enables instances created based on this machine image to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"deletionProtection": { +"description": "Whether the instance created from this machine image should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional text description for the instances that are created from this machine image.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from this machine image.", +"items": { +"$ref": "SavedAttachedDisk" +}, +"type": "array" +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from this machine image.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from this machine image.", +"type": "object" +}, +"machineType": { +"description": "The machine type to use for instances that are created from this machine image.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from this machine image. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances created from this machine image. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from this machine image." +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from this machine image. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from this machine image. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"SslCertificate": { +"description": "Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/beta/sslCertificates) * [Regional](/compute/docs/reference/rest/beta/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", +"id": "SslCertificate", +"properties": { +"certificate": { +"description": "A value read into memory from a certificate file. The certificate file must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expireTime": { +"description": "[Output Only] Expire time of the certificate. RFC3339", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslCertificate", +"description": "[Output Only] Type of the resource. Always compute#sslCertificate for SSL certificates.", +"type": "string" +}, +"managed": { +"$ref": "SslCertificateManagedSslCertificate", +"description": "Configuration and status of a managed SSL certificate." +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateKey": { +"description": "A value read into memory from a write-only private key file. The private key file must be in PEM format. For security, only insert requests include this field.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL Certificate resides. This field is not applicable to global SSL Certificate.", +"type": "string" +}, +"selfLink": { +"description": "[Output only] Server-defined URL for the resource.", +"type": "string" +}, +"selfManaged": { +"$ref": "SslCertificateSelfManagedSslCertificate", +"description": "Configuration and status of a self-managed SSL certificate." +}, +"subjectAlternativeNames": { +"description": "[Output Only] Domains associated with the certificate via Subject Alternative Name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "(Optional) Specifies the type of SSL certificate, either \"SELF_MANAGED\" or \"MANAGED\". If not specified, the certificate is self-managed and the fields certificate and private_key are used.", +"enum": [ +"MANAGED", +"SELF_MANAGED", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Google-managed SSLCertificate.", +"Certificate uploaded by user.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateAggregatedList": { +"id": "SslCertificateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslCertificatesScopedList", +"description": "Name of the scope containing this set of SslCertificates." +}, +"description": "A list of SslCertificatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslCertificateAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslCertificateAggregatedList for lists of SSL Certificates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslCertificateList": { +"description": "Contains a list of SslCertificate resources.", +"id": "SslCertificateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslCertificate resources.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslCertificateList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslCertificateManagedSslCertificate": { +"description": "Configuration and status of a managed SSL certificate.", +"id": "SslCertificateManagedSslCertificate", +"properties": { +"domainStatus": { +"additionalProperties": { +"enum": [ +"ACTIVE", +"DOMAIN_STATUS_UNSPECIFIED", +"FAILED_CAA_CHECKING", +"FAILED_CAA_FORBIDDEN", +"FAILED_NOT_VISIBLE", +"FAILED_RATE_LIMITED", +"PROVISIONING" +], +"enumDescriptions": [ +"A managed certificate can be provisioned, no issues for this domain.", +"", +"Failed to check CAA records for the domain.", +"Certificate issuance forbidden by an explicit CAA record for the domain.", +"There seems to be problem with the user's DNS or load balancer configuration for this domain.", +"Reached rate-limit for certificates per top-level private domain.", +"Certificate provisioning for this domain is under way. GCP will attempt to provision the first certificate." +], +"type": "string" +}, +"description": "[Output only] Detailed statuses of the domains specified for managed certificate resource.", +"type": "object" +}, +"domains": { +"description": "The domains for which a managed SSL certificate will be generated. Each Google-managed SSL certificate supports up to the [maximum number of domains per Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "[Output only] Status of the managed certificate resource.", +"enum": [ +"ACTIVE", +"MANAGED_CERTIFICATE_STATUS_UNSPECIFIED", +"PROVISIONING", +"PROVISIONING_FAILED", +"PROVISIONING_FAILED_PERMANENTLY", +"RENEWAL_FAILED" +], +"enumDescriptions": [ +"The certificate management is working, and a certificate has been provisioned.", +"", +"The certificate management is working. GCP will attempt to provision the first certificate.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. For details of which domain failed, consult domain_status field.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. It won't be retried. To try again delete and create a new managed SslCertificate resource. For details of which domain failed, consult domain_status field.", +"Renewal of the certificate has failed due to an issue with the DNS or load balancing configuration. The existing cert is still serving; however, it will expire shortly. To provision a renewed certificate, delete and create a new managed SslCertificate resource. For details on which domain failed, consult domain_status field." +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateSelfManagedSslCertificate": { +"description": "Configuration and status of a self-managed SSL certificate.", +"id": "SslCertificateSelfManagedSslCertificate", +"properties": { +"certificate": { +"description": "A local certificate file. The certificate must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"privateKey": { +"description": "A write-only private key in PEM format. Only insert requests will include this field.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertificatesScopedList": { +"id": "SslCertificatesScopedList", +"properties": { +"sslCertificates": { +"description": "List of SslCertificates contained in this scope.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesAggregatedList": { +"id": "SslPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslPoliciesScopedList", +"description": "Name of the scope containing this set of SSL policies." +}, +"description": "A list of SslPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslPolicyAggregatedList for lists of SSL Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesList": { +"id": "SslPoliciesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslPolicy resources.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslPoliciesList", +"description": "[Output Only] Type of the resource. Always compute#sslPoliciesList for lists of sslPolicies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesListAvailableFeaturesResponse": { +"id": "SslPoliciesListAvailableFeaturesResponse", +"properties": { +"features": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SslPoliciesScopedList": { +"id": "SslPoliciesScopedList", +"properties": { +"sslPolicies": { +"description": "A list of SslPolicies contained in this scope.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of SSL policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPolicy": { +"description": "Represents an SSL Policy resource. Use SSL policies to control SSL features, such as versions and cipher suites, that are offered by Application Load Balancers and proxy Network Load Balancers. For more information, read SSL policies overview.", +"id": "SslPolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customFeatures": { +"description": "A list of features enabled when the selected profile is CUSTOM. The method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "[Output Only] The list of features enabled in the SSL policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a SslPolicy. An up-to-date fingerprint must be provided in order to update the SslPolicy, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an SslPolicy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslPolicy", +"description": "[Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.", +"type": "string" +}, +"minTlsVersion": { +"description": "The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2.", +"enum": [ +"TLS_1_0", +"TLS_1_1", +"TLS_1_2" +], +"enumDescriptions": [ +"TLS 1.0", +"TLS 1.1", +"TLS 1.2" +], +"type": "string" +}, +"name": { +"description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"profile": { +"description": "Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field.", +"enum": [ +"COMPATIBLE", +"CUSTOM", +"MODERN", +"RESTRICTED" +], +"enumDescriptions": [ +"Compatible profile. Allows the broadset set of clients, even those which support only out-of-date SSL features to negotiate with the load balancer.", +"Custom profile. Allow only the set of allowed SSL features specified in the customFeatures field.", +"Modern profile. Supports a wide set of SSL features, allowing modern clients to negotiate SSL with the load balancer.", +"Restricted profile. Supports a reduced set of SSL features, intended to meet stricter compliance requirements." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"SslPolicyReference": { +"id": "SslPolicyReference", +"properties": { +"sslPolicy": { +"description": "URL of the SSL policy resource. Set this to empty string to clear any existing SSL policy associated with the target proxy resource.", +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicy": { +"id": "StatefulPolicy", +"properties": { +"preservedState": { +"$ref": "StatefulPolicyPreservedState" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedState": { +"description": "Configuration of preserved resources.", +"id": "StatefulPolicyPreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateDiskDevice" +}, +"description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateDiskDevice": { +"id": "StatefulPolicyPreservedStateDiskDevice", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateNetworkIp": { +"id": "StatefulPolicyPreservedStateNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StoragePool": { +"description": "Represents a zonal storage pool resource.", +"id": "StoragePool", +"properties": { +"capacityProvisioningType": { +"description": "Provisioning type of the byte capacity of the pool.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePool", +"description": "[Output Only] Type of the resource. Always compute#storagePool for storage pools.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this storage pool. These can be later modified by the setLabels method.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"performanceProvisioningType": { +"description": "Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"poolProvisionedCapacityGb": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolProvisionedIops": { +"description": "Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.", +"format": "int64", +"type": "string" +}, +"poolProvisionedThroughput": { +"description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", +"format": "int64", +"type": "string" +}, +"resourceStatus": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"state": { +"description": "[Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"StoragePool is provisioning", +"StoragePool is deleting.", +"StoragePool creation failed.", +"StoragePool is ready for use." +], +"type": "string" +}, +"status": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"storagePoolType": { +"description": "Type of the storage pool.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolAggregatedList": { +"id": "StoragePoolAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolsScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool." +}, +"description": "A list of StoragePoolsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolAggregatedList for aggregated lists of storage pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolDisk": { +"id": "StoragePoolDisk", +"properties": { +"attachedInstances": { +"description": "[Output Only] Instances this disk is attached to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"disk": { +"description": "[Output Only] The URL of the disk.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the disk.", +"type": "string" +}, +"provisionedIops": { +"description": "[Output Only] The number of IOPS provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "[Output Only] The throughput provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"resourcePolicies": { +"description": "[Output Only] Resource policies applied to disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sizeGb": { +"description": "[Output Only] The disk size, in GB.", +"format": "int64", +"type": "string" +}, +"status": { +"description": "[Output Only] The disk status.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"type": { +"description": "[Output Only] The disk type.", +"type": "string" +}, +"usedBytes": { +"description": "[Output Only] Amount of disk space used.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolList": { +"description": "A list of StoragePool resources.", +"id": "StoragePoolList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePool resources.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolList", +"description": "[Output Only] Type of resource. Always compute#storagePoolList for lists of storagePools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolListDisks": { +"id": "StoragePoolListDisks", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolDisk resources.", +"items": { +"$ref": "StoragePoolDisk" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolListDisks", +"description": "[Output Only] Type of resource. Always compute#storagePoolListDisks for lists of disks in a storagePool.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "StoragePoolResourceStatus", +"properties": { +"diskCount": { +"description": "[Output Only] Number of disks used.", +"format": "int64", +"type": "string" +}, +"lastResizeTimestamp": { +"description": "[Output Only] Timestamp of the last successful resize in RFC3339 text format.", +"type": "string" +}, +"maxTotalProvisionedDiskCapacityGb": { +"description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", +"format": "int64", +"type": "string" +}, +"poolUsedCapacityBytes": { +"description": "[Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.", +"format": "int64", +"type": "string" +}, +"poolUsedIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolUsedThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", +"format": "int64", +"type": "string" +}, +"poolUserWrittenBytes": { +"description": "[Output Only] Amount of data written into the pool, before it is compacted.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskCapacityGb": { +"description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolType": { +"id": "StoragePoolType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this storage pool type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePoolType", +"description": "[Output Only] Type of the resource. Always compute#storagePoolType for storage pool types.", +"type": "string" +}, +"maxPoolProvisionedCapacityGb": { +"description": "[Output Only] Maximum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedIops": { +"description": "[Output Only] Maximum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedThroughput": { +"description": "[Output Only] Maximum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedCapacityGb": { +"description": "[Output Only] Minimum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedIops": { +"description": "[Output Only] Minimum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedThroughput": { +"description": "[Output Only] Minimum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minSizeGb": { +"description": "[Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb instead.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"supportedDiskTypes": { +"description": "[Output Only] The list of disk types supported in this storage pool type.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolTypeAggregatedList": { +"id": "StoragePoolTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool types." +}, +"description": "A list of StoragePoolTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolTypeList": { +"description": "Contains a list of storage pool types.", +"id": "StoragePoolTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolType resources.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolTypeList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeList for storage pool types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolTypesScopedList": { +"id": "StoragePoolTypesScopedList", +"properties": { +"storagePoolTypes": { +"description": "[Output Only] A list of storage pool types contained in this scope.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool types when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolsScopedList": { +"id": "StoragePoolsScopedList", +"properties": { +"storagePools": { +"description": "[Output Only] A list of storage pool contained in this scope.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StructuredEntries": { +"id": "StructuredEntries", +"properties": { +"entries": { +"additionalProperties": { +"type": "any" +}, +"description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.", +"type": "object" +} +}, +"type": "object" +}, +"Subnetwork": { +"description": "Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a logical partition of a Virtual Private Cloud network with one primary IP range and zero or more secondary IP ranges. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Subnetwork", +"properties": { +"allowSubnetCidrRoutesOverlap": { +"description": "Whether this subnetwork's ranges can conflict with existing static routes. Setting this to true allows this subnetwork's primary and secondary ranges to overlap with (and contain) static routes that have already been configured on the corresponding network. For example if a static route has range 10.1.0.0/16, a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=true. Overlapping is only allowed on subnetwork operations; routes whose ranges conflict with this subnetwork's ranges won't be allowed unless route.allow_conflicting_subnetworks is set to true. Typically packets destined to IPs within the subnetwork (which may contain private/sensitive data) are prevented from leaving the virtual network. Setting this field to true will disable this feature. The default value is false and applies to all existing subnetworks and automatically created subnetworks. This field cannot be set to true at resource creation time.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.", +"type": "string" +}, +"enableFlowLogs": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"externalIpv6Prefix": { +"description": "The external IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.", +"format": "byte", +"type": "string" +}, +"gatewayAddress": { +"description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "The internal IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", +"type": "string" +}, +"ipCollection": { +"description": "Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"ipv6CidrRange": { +"description": "[Output Only] This field is for internal use.", +"type": "string" +}, +"ipv6GceEndpoint": { +"description": "[Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. ", +"enum": [ +"VM_AND_FR", +"VM_ONLY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#subnetwork", +"description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", +"type": "string" +}, +"logConfig": { +"$ref": "SubnetworkLogConfig", +"description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging." +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.", +"type": "string" +}, +"privateIpGoogleAccess": { +"description": "Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.", +"type": "boolean" +}, +"privateIpv6GoogleAccess": { +"description": "This field is for internal use. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"DISABLE_GOOGLE_ACCESS", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE" +], +"enumDescriptions": [ +"Disable private IPv6 access to/from Google services.", +"Bidirectional private IPv6 access to/from Google services.", +"Outbound private IPv6 access from VMs in this subnet to Google services." +], +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"region": { +"description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.", +"items": { +"$ref": "SubnetworkSecondaryRange" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY", +"enum": [ +"DRAINING", +"READY" +], +"enumDescriptions": [ +"Subnetwork is being drained.", +"Subnetwork is ready for use." +], +"type": "string" +} +}, +"type": "object" +}, +"SubnetworkAggregatedList": { +"id": "SubnetworkAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SubnetworksScopedList", +"description": "Name of the scope containing this set of Subnetworks." +}, +"description": "A list of SubnetworksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#subnetworkAggregatedList", +"description": "[Output Only] Type of resource. Always compute#subnetworkAggregatedList for aggregated lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworkList": { +"description": "Contains a list of Subnetwork resources.", +"id": "SubnetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Subnetwork resources.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#subnetworkList", +"description": "[Output Only] Type of resource. Always compute#subnetworkList for lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworkLogConfig": { +"description": "The available logging options for this subnetwork.", +"id": "SubnetworkLogConfig", +"properties": { +"aggregationInterval": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", +"enum": [ +"INTERVAL_10_MIN", +"INTERVAL_15_MIN", +"INTERVAL_1_MIN", +"INTERVAL_30_SEC", +"INTERVAL_5_MIN", +"INTERVAL_5_SEC" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enable": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"filterExpr": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", +"type": "string" +}, +"flowSampling": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", +"format": "float", +"type": "number" +}, +"metadata": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", +"enum": [ +"CUSTOM_METADATA", +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"metadataFields": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SubnetworkSecondaryRange": { +"description": "Represents a secondary IP range of a subnetwork.", +"id": "SubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksExpandIpCidrRangeRequest": { +"id": "SubnetworksExpandIpCidrRangeRequest", +"properties": { +"ipCidrRange": { +"description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksScopedList": { +"id": "SubnetworksScopedList", +"properties": { +"subnetworks": { +"description": "A list of subnetworks contained in this scope.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"warning": { +"description": "An informational warning that appears when the list of addresses is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworksSetPrivateIpGoogleAccessRequest": { +"id": "SubnetworksSetPrivateIpGoogleAccessRequest", +"properties": { +"privateIpGoogleAccess": { +"type": "boolean" +} +}, +"type": "object" +}, +"Subsetting": { +"description": "Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director.", +"id": "Subsetting", +"properties": { +"policy": { +"enum": [ +"CONSISTENT_HASH_SUBSETTING", +"NONE" +], +"enumDescriptions": [ +"Subsetting based on consistent hashing. For Traffic Director, the number of backends per backend group (the subset size) is based on the `subset_size` parameter. For Internal HTTP(S) load balancing, the number of backends per backend group (the subset size) is dynamically adjusted in two cases: - As the number of proxy instances participating in Internal HTTP(S) load balancing increases, the subset size decreases. - When the total number of backends in a network exceeds the capacity of a single proxy instance, subset sizes are reduced automatically for each service that has backend subsetting enabled.", +"No Subsetting. Clients may open connections and send traffic to all backends of this backend service. This can lead to performance issues if there is substantial imbalance in the count of clients and backends." +], +"type": "string" +}, +"subsetSize": { +"description": "The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TCPHealthCheck": { +"id": "TCPHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection.", +"type": "string" +}, +"response": { +"description": "Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"Tags": { +"description": "A set of instance tags.", +"id": "Tags", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the tags' contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update tags. You must always provide an up-to-date fingerprint hash in order to update or change tags. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.", +"items": { +"type": "string" +}, +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "array" +} +}, +"type": "object" +}, +"TargetGrpcProxy": { +"description": "Represents a Target gRPC Proxy resource. A target gRPC proxy is a component of load balancers intended for load balancing gRPC traffic. Only global forwarding rules with load balancing scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target gRPC Proxy references a URL map that specifies how traffic is routed to gRPC backend services.", +"id": "TargetGrpcProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetGrpcProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetGrpcProxy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetGrpcProxy", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.targetGrpcProxies.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService. The protocol field in the BackendService must be set to GRPC.", +"type": "string" +}, +"validateForProxyless": { +"description": "If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use \"xds:///\" scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use \"xds:///\" scheme in the target URI of the service it is connecting to", +"type": "boolean" +} +}, +"type": "object" +}, +"TargetGrpcProxyList": { +"id": "TargetGrpcProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetGrpcProxy resources.", +"items": { +"$ref": "TargetGrpcProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetGrpcProxyList", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpProxiesScopedList": { +"id": "TargetHttpProxiesScopedList", +"properties": { +"targetHttpProxies": { +"description": "A list of TargetHttpProxies contained in this scope.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpProxy": { +"description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpProxies) A target HTTP proxy is a component of Google Cloud HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy.", +"format": "byte", +"type": "string" +}, +"httpFilters": { +"description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/v1alpha1/projects/project/locations/ locationhttpFilters/httpFilter Only filters that handle outbound connection and stream events may be specified. These filters work in conjunction with a default set of HTTP filters that may already be configured by Traffic Director. Traffic Director will determine the final location of these filters within xDS configuration based on the name of the HTTP filter. If Traffic Director positions multiple filters at the same location, those filters will be in the same order as specified in this list. httpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpProxyAggregatedList": { +"id": "TargetHttpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpProxies." +}, +"description": "A list of TargetHttpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpProxyList": { +"description": "A list of TargetHttpProxy resources.", +"id": "TargetHttpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpProxy resources.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpProxyList", +"description": "Type of resource. Always compute#targetHttpProxyList for lists of target HTTP proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxiesScopedList": { +"id": "TargetHttpsProxiesScopedList", +"properties": { +"targetHttpsProxies": { +"description": "A list of TargetHttpsProxies contained in this scope.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetCertificateMapRequest": { +"id": "TargetHttpsProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetQuicOverrideRequest": { +"id": "TargetHttpsProxiesSetQuicOverrideRequest", +"properties": { +"quicOverride": { +"description": "QUIC policy for the TargetHttpsProxy resource.", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetSslCertificatesRequest": { +"id": "TargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetHttpsProxy": { +"description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpsProxy", +"properties": { +"authentication": { +"deprecated": true, +"description": "[Deprecated] Use serverTlsPolicy instead.", +"type": "string" +}, +"authorization": { +"deprecated": true, +"description": "[Deprecated] Use authorizationPolicy instead.", +"type": "string" +}, +"authorizationPolicy": { +"description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.", +"type": "string" +}, +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.", +"format": "byte", +"type": "string" +}, +"httpFilters": { +"description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/beta/projects/project/locations/ location/httpFilters/httpFilter Only filters that handle outbound connection and stream events may be specified. These filters work in conjunction with a default set of HTTP filters that may already be configured by Traffic Director. Traffic Director will determine the final location of these filters within xDS configuration based on the name of the HTTP filter. If Traffic Director positions multiple filters at the same location, those filters will be in the same order as specified in this list. httpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpsProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"quicOverride": { +"description": "Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied. ", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serverTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.", +"type": "string" +}, +"tlsEarlyData": { +"description": " Specifies whether TLS 1.3 0-RTT Data (\"Early Data\") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to \"zero\". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the \"Early-Data\" HTTP header set on the request, with a value of \"1\", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the \"Early-Data: 1\" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.", +"enum": [ +"DISABLED", +"PERMISSIVE", +"STRICT", +"UNRESTRICTED" +], +"enumDescriptions": [ +"TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", +"This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." +], +"type": "string" +}, +"urlMap": { +"description": "A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map ", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxyAggregatedList": { +"id": "TargetHttpsProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpsProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpsProxies." +}, +"description": "A list of TargetHttpsProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpsProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxyList": { +"description": "Contains a list of TargetHttpsProxy resources.", +"id": "TargetHttpsProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpsProxy resources.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpsProxyList", +"description": "Type of resource. Always compute#targetHttpsProxyList for lists of target HTTPS proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstance": { +"description": "Represents a Target Instance resource. You can use a target instance to handle traffic for one or more forwarding rules, which is ideal for forwarding protocol traffic that is managed by a single source. For example, ESP, AH, TCP, or UDP. For more information, read Target instances.", +"id": "TargetInstance", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "A URL to the virtual machine instance that handles traffic for this target instance. When creating a target instance, you can provide the fully-qualified URL or a valid partial URL to the desired virtual machine. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +}, +"kind": { +"default": "compute#targetInstance", +"description": "[Output Only] The type of the resource. Always compute#targetInstance for target instances.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natPolicy": { +"description": "Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance.", +"enum": [ +"NO_NAT" +], +"enumDescriptions": [ +"No NAT performed." +], +"type": "string" +}, +"network": { +"description": "The URL of the network this target instance uses to forward traffic. If not specified, the traffic will be forwarded to the network that the default network interface belongs to.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target instance.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"TargetInstanceAggregatedList": { +"id": "TargetInstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetInstancesScopedList", +"description": "Name of the scope containing this set of target instances." +}, +"description": "A list of TargetInstance resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetInstanceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstanceList": { +"description": "Contains a list of TargetInstance resources.", +"id": "TargetInstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetInstance resources.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetInstanceList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstancesScopedList": { +"id": "TargetInstancesScopedList", +"properties": { +"targetInstances": { +"description": "A list of target instances contained in this scope.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPool": { +"description": "Represents a Target Pool resource. Target pools are used with external passthrough Network Load Balancers. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools.", +"id": "TargetPool", +"properties": { +"backupPool": { +"description": "The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1]. backupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failoverRatio": { +"description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1]. If set, backupPool must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio is not set or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"format": "float", +"type": "number" +}, +"healthChecks": { +"description": "The URL of the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if the health checks pass. Only legacy HttpHealthChecks are supported. Only one health check may be specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instances": { +"description": "A list of resource URLs to the virtual machine instances serving this pool. They must live in zones contained in the same region as this pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPool", +"description": "[Output Only] Type of the resource. Always compute#targetPool for target pools.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target pool resides.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target pool.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sessionAffinity": { +"description": "Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolAggregatedList": { +"id": "TargetPoolAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetPoolsScopedList", +"description": "Name of the scope containing this set of target pools." +}, +"description": "A list of TargetPool resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetPoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetPoolAggregatedList for aggregated lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPoolInstanceHealth": { +"id": "TargetPoolInstanceHealth", +"properties": { +"healthStatus": { +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolInstanceHealth", +"description": "[Output Only] Type of resource. Always compute#targetPoolInstanceHealth when checking the health of an instance.", +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolList": { +"description": "Contains a list of TargetPool resources.", +"id": "TargetPoolList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetPool resources.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolList", +"description": "[Output Only] Type of resource. Always compute#targetPoolList for lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPoolsAddHealthCheckRequest": { +"id": "TargetPoolsAddHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "The HttpHealthCheck to add to the target pool.", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsAddInstanceRequest": { +"id": "TargetPoolsAddInstanceRequest", +"properties": { +"instances": { +"description": "A full or partial URL to an instance to add to this target pool. This can be a full or partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/v1/projects/project-id/zones/zone /instances/instance-name - projects/project-id/zones/zone/instances/instance-name - zones/zone/instances/instance-name ", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveHealthCheckRequest": { +"id": "TargetPoolsRemoveHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "Health check URL to be removed. This can be a full or valid partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project /global/httpHealthChecks/health-check - projects/project/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveInstanceRequest": { +"id": "TargetPoolsRemoveInstanceRequest", +"properties": { +"instances": { +"description": "URLs of the instances to be removed from target pool.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsScopedList": { +"id": "TargetPoolsScopedList", +"properties": { +"targetPools": { +"description": "A list of target pools contained in this scope.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetReference": { +"id": "TargetReference", +"properties": { +"target": { +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetBackendServiceRequest": { +"id": "TargetSslProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetSslProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetCertificateMapRequest": { +"id": "TargetSslProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetProxyHeaderRequest": { +"id": "TargetSslProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetSslCertificatesRequest": { +"id": "TargetSslProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetSslProxy": { +"description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target SSL proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetSslProxy", +"properties": { +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetSslProxy", +"description": "[Output Only] Type of the resource. Always compute#targetSslProxy for target SSL proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxyList": { +"description": "Contains a list of TargetSslProxy resources.", +"id": "TargetSslProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetSslProxy resources.", +"items": { +"$ref": "TargetSslProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetSslProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxiesScopedList": { +"id": "TargetTcpProxiesScopedList", +"properties": { +"targetTcpProxies": { +"description": "A list of TargetTcpProxies contained in this scope.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxiesSetBackendServiceRequest": { +"id": "TargetTcpProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetTcpProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxiesSetProxyHeaderRequest": { +"id": "TargetTcpProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxy": { +"description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target TCP proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetTcpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetTcpProxy", +"description": "[Output Only] Type of the resource. Always compute#targetTcpProxy for target TCP proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxyAggregatedList": { +"id": "TargetTcpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetTcpProxiesScopedList", +"description": "Name of the scope containing this set of TargetTcpProxies." +}, +"description": "A list of TargetTcpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetTcpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetTcpProxyAggregatedList for lists of Target TCP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxyList": { +"description": "Contains a list of TargetTcpProxy resources.", +"id": "TargetTcpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetTcpProxy resources.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetTcpProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGateway": { +"description": "Represents a Target VPN Gateway resource. The target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview.", +"id": "TargetVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"forwardingRules": { +"description": "[Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules are created using compute.forwardingRules.insert and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetVpnGateway", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"tunnels": { +"description": "[Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created using the compute.vpntunnels.insert method and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetVpnGatewayAggregatedList": { +"id": "TargetVpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetVpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of target VPN gateways." +}, +"description": "A list of TargetVpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetVpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGatewayList": { +"description": "Contains a list of TargetVpnGateway resources.", +"id": "TargetVpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetVpnGateway resources.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGatewaysScopedList": { +"id": "TargetVpnGatewaysScopedList", +"properties": { +"targetVpnGateways": { +"description": "[Output Only] A list of target VPN gateways contained in this scope.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TestFailure": { +"id": "TestFailure", +"properties": { +"actualOutputUrl": { +"description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"actualRedirectResponseCode": { +"description": "Actual HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"actualService": { +"description": "BackendService or BackendBucket returned by load balancer.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "Expected HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"expectedService": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.", +"type": "string" +}, +"headers": { +"description": "HTTP headers of the request.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL.", +"type": "string" +}, +"path": { +"description": "Path portion including query parameters in the URL.", +"type": "string" +} +}, +"type": "object" +}, +"TestPermissionsRequest": { +"id": "TestPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestPermissionsResponse": { +"id": "TestPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Uint128": { +"id": "Uint128", +"properties": { +"high": { +"format": "uint64", +"type": "string" +}, +"low": { +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"UpcomingMaintenance": { +"description": "Upcoming Maintenance notification information.", +"id": "UpcomingMaintenance", +"properties": { +"canReschedule": { +"description": "Indicates if the maintenance can be customer triggered.", +"type": "boolean" +}, +"latestWindowStartTime": { +"description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"maintenanceStatus": { +"enum": [ +"ONGOING", +"PENDING", +"UNKNOWN" +], +"enumDescriptions": [ +"There is ongoing maintenance on this VM.", +"There is pending maintenance.", +"Unknown maintenance status. Do not use this value." +], +"type": "string" +}, +"type": { +"description": "Defines the type of maintenance.", +"enum": [ +"SCHEDULED", +"UNKNOWN_TYPE", +"UNSCHEDULED" +], +"enumDescriptions": [ +"Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", +"No type specified. Do not use this value.", +"Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." +], +"type": "string" +}, +"windowEndTime": { +"description": "The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"windowStartTime": { +"description": "The current start time of the maintenance window. This timestamp value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMap": { +"description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", +"id": "UrlMap", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"defaultService": { +"description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap.", +"format": "byte", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction specified here take effect after headerAction specified under pathMatcher. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"hostRules": { +"description": "The list of host rules to use against the URL.", +"items": { +"$ref": "HostRule" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#urlMap", +"description": "[Output Only] Type of the resource. Always compute#urlMaps for url maps.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pathMatchers": { +"description": "The list of named PathMatchers to use against the URL.", +"items": { +"$ref": "PathMatcher" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"tests": { +"description": "The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "UrlMapTest" +}, +"type": "array" +} +}, +"type": "object" +}, +"UrlMapList": { +"description": "Contains a list of UrlMap resources.", +"id": "UrlMapList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of UrlMap resources.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"kind": { +"default": "compute#urlMapList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapReference": { +"id": "UrlMapReference", +"properties": { +"urlMap": { +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTest": { +"description": "Message for the expected URL mappings.", +"id": "UrlMapTest", +"properties": { +"description": { +"description": "Description of this test case.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters. For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies https_redirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query, the test passes only if expectedOutputUrl does not contain any query parameters. expectedOutputUrl is optional when service is specified.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response. expectedRedirectResponseCode cannot be set when service is set.", +"format": "int32", +"type": "integer" +}, +"headers": { +"description": "HTTP headers for this request. If headers contains a host header, then host must also match the header value.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL. If headers contains a host header, then host must also match the header value.", +"type": "string" +}, +"path": { +"description": "Path portion of the URL.", +"type": "string" +}, +"service": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to. The service field cannot be set if expectedRedirectResponseCode is set.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTestHeader": { +"description": "HTTP headers used in UrlMapTests.", +"id": "UrlMapTestHeader", +"properties": { +"name": { +"description": "Header name.", +"type": "string" +}, +"value": { +"description": "Header value.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapValidationResult": { +"description": "Message representing the validation result for a UrlMap.", +"id": "UrlMapValidationResult", +"properties": { +"loadErrors": { +"items": { +"type": "string" +}, +"type": "array" +}, +"loadSucceeded": { +"description": "Whether the given UrlMap can be successfully loaded. If false, 'loadErrors' indicates the reasons.", +"type": "boolean" +}, +"testFailures": { +"items": { +"$ref": "TestFailure" +}, +"type": "array" +}, +"testPassed": { +"description": "If successfully loaded, this field indicates whether the test passed. If false, 'testFailures's indicate the reason of failure.", +"type": "boolean" +} +}, +"type": "object" +}, +"UrlMapsAggregatedList": { +"id": "UrlMapsAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "UrlMapsScopedList", +"description": "Name of the scope containing this set of UrlMaps." +}, +"description": "A list of UrlMapsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#urlMapsAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapsScopedList": { +"id": "UrlMapsScopedList", +"properties": { +"urlMaps": { +"description": "A list of UrlMaps contained in this scope.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapsValidateRequest": { +"id": "UrlMapsValidateRequest", +"properties": { +"loadBalancingSchemes": { +"description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", +"items": { +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"LOAD_BALANCING_SCHEME_UNSPECIFIED" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers.", +"Signifies that this will be used for Envoy-based global external Application Load Balancers.", +"If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type." +], +"type": "string" +}, +"type": "array" +}, +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"UrlMapsValidateResponse": { +"id": "UrlMapsValidateResponse", +"properties": { +"result": { +"$ref": "UrlMapValidationResult" +} +}, +"type": "object" +}, +"UrlRewrite": { +"description": "The spec for modifying the path before sending the request to the matched backend service.", +"id": "UrlRewrite", +"properties": { +"hostRewrite": { +"description": "Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. The value must be from 1 to 255 characters.", +"type": "string" +}, +"pathPrefixRewrite": { +"description": "Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"pathTemplateRewrite": { +"description": " If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetwork": { +"description": "Subnetwork which the current user has compute.subnetworks.use permission on.", +"id": "UsableSubnetwork", +"properties": { +"externalIpv6Prefix": { +"description": "[Output Only] The external IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "[Output Only] The internal IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork.", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"network": { +"description": "Network URL.", +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "Secondary IP ranges.", +"items": { +"$ref": "UsableSubnetworkSecondaryRange" +}, +"type": "array" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork URL.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworkSecondaryRange": { +"description": "Secondary IP range of a usable subnetwork.", +"id": "UsableSubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworksAggregatedList": { +"id": "UsableSubnetworksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output] A list of usable subnetwork URLs.", +"items": { +"$ref": "UsableSubnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableSubnetworksAggregatedList", +"description": "[Output Only] Type of resource. Always compute#usableSubnetworksAggregatedList for aggregated lists of usable subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. In special cases listUsable may return 0 subnetworks and nextPageToken which still should be used to get the next page of results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UsageExportLocation": { +"description": "The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix.", +"id": "UsageExportLocation", +"properties": { +"bucketName": { +"description": "The name of an existing bucket in Cloud Storage where the usage report object is stored. The Google Service Account is granted write access to this bucket. This can either be the bucket name by itself, such as example-bucket, or the bucket name with gs:// or https://storage.googleapis.com/ in front of it, such as gs://example-bucket.", +"type": "string" +}, +"reportNamePrefix": { +"description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage_gce. The report is stored as a CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day of the usage according to Pacific Time. If you supply a prefix, it should conform to Cloud Storage object naming conventions.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappings": { +"description": "Contain information of Nat mapping for a VM endpoint (i.e., NIC).", +"id": "VmEndpointNatMappings", +"properties": { +"instanceName": { +"description": "Name of the VM instance which the endpoint belongs to", +"type": "string" +}, +"interfaceNatMappings": { +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappings" +}, +"type": "array" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappings": { +"description": "Contain information of Nat mapping for an interface of this endpoint.", +"id": "VmEndpointNatMappingsInterfaceNatMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleMappings": { +"description": "Information about mappings provided by rules in this NAT.", +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings" +}, +"type": "array" +}, +"sourceAliasIpRange": { +"description": "Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP range. Examples: \"10.33.4.55/32\", or \"192.168.5.0/24\".", +"type": "string" +}, +"sourceVirtualIp": { +"description": "Primary IP of the VM for this NIC.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings": { +"description": "Contains information of NAT Mappings provided by a NAT Rule.", +"id": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the NAT Rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsList": { +"description": "Contains a list of VmEndpointNatMappings.", +"id": "VmEndpointNatMappingsList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#vmEndpointNatMappingsList", +"description": "[Output Only] Type of resource. Always compute#vmEndpointNatMappingsList for lists of Nat mappings of VM endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of Nat mapping information of VM endpoints.", +"items": { +"$ref": "VmEndpointNatMappings" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGateway": { +"description": "Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies .", +"id": "VpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"gatewayIpVersion": { +"description": "The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"Every HA-VPN gateway interface is configured with an IPv4 address.", +"Every HA-VPN gateway interface is configured with an IPv6 address." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#vpnGateway", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN gateway resides.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"Enable VPN gateway with both IPv4 and IPv6 protocols.", +"Enable VPN gateway with only IPv4 protocol.", +"Enable VPN gateway with only IPv6 protocol." +], +"type": "string" +}, +"vpnInterfaces": { +"description": "The list of VPN interfaces associated with this VPN gateway.", +"items": { +"$ref": "VpnGatewayVpnGatewayInterface" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayAggregatedList": { +"id": "VpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of VPN gateways." +}, +"description": "A list of VpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGatewayList": { +"description": "Contains a list of VpnGateway resources.", +"id": "VpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnGateway resources.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGatewayStatus": { +"id": "VpnGatewayStatus", +"properties": { +"vpnConnections": { +"description": "List of VPN connection for this VpnGateway.", +"items": { +"$ref": "VpnGatewayStatusVpnConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayStatusHighAvailabilityRequirementState": { +"description": "Describes the high availability requirement state for the VPN connection between this Cloud VPN gateway and a peer gateway.", +"id": "VpnGatewayStatusHighAvailabilityRequirementState", +"properties": { +"state": { +"description": "Indicates the high availability requirement state for the VPN connection. Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET.", +"enum": [ +"CONNECTION_REDUNDANCY_MET", +"CONNECTION_REDUNDANCY_NOT_MET" +], +"enumDescriptions": [ +"VPN tunnels are configured with adequate redundancy from Cloud VPN gateway to the peer VPN gateway. For both GCP-to-non-GCP and GCP-to-GCP connections, the adequate redundancy is a pre-requirement for users to get 99.99% availability on GCP side; please note that for any connection, end-to-end 99.99% availability is subject to proper configuration on the peer VPN gateway.", +"VPN tunnels are not configured with adequate redundancy from the Cloud VPN gateway to the peer gateway" +], +"type": "string" +}, +"unsatisfiedReason": { +"description": "Indicates the reason why the VPN connection does not meet the high availability redundancy criteria/requirement. Valid values is INCOMPLETE_TUNNELS_COVERAGE.", +"enum": [ +"INCOMPLETE_TUNNELS_COVERAGE" +], +"enumDescriptions": [ +"" +], +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusTunnel": { +"description": "Contains some information about a VPN tunnel.", +"id": "VpnGatewayStatusTunnel", +"properties": { +"localGatewayInterface": { +"description": "The VPN gateway interface this VPN tunnel is associated with.", +"format": "uint32", +"type": "integer" +}, +"peerGatewayInterface": { +"description": "The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"tunnelUrl": { +"description": "URL reference to the VPN tunnel.", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusVpnConnection": { +"description": "A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"id": "VpnGatewayStatusVpnConnection", +"properties": { +"peerExternalGateway": { +"description": "URL reference to the peer external VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"peerGcpGateway": { +"description": "URL reference to the peer side VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"state": { +"$ref": "VpnGatewayStatusHighAvailabilityRequirementState", +"description": "HighAvailabilityRequirementState for the VPN connection." +}, +"tunnels": { +"description": "List of VPN tunnels that are in this VPN connection.", +"items": { +"$ref": "VpnGatewayStatusTunnel" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayVpnGatewayInterface": { +"description": "A VPN gateway interface.", +"id": "VpnGatewayVpnGatewayInterface", +"properties": { +"id": { +"description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"interconnectAttachment": { +"description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", +"type": "string" +}, +"ipAddress": { +"description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", +"type": "string" +}, +"ipv6Address": { +"description": "[Output Only] IPv6 address for this VPN interface associated with the VPN gateway. The IPv6 address must be a regional external IPv6 address. The format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewaysGetStatusResponse": { +"id": "VpnGatewaysGetStatusResponse", +"properties": { +"result": { +"$ref": "VpnGatewayStatus" +} +}, +"type": "object" +}, +"VpnGatewaysScopedList": { +"id": "VpnGatewaysScopedList", +"properties": { +"vpnGateways": { +"description": "[Output Only] A list of VPN gateways contained in this scope.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnel": { +"description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", +"id": "VpnTunnel", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"detailedStatus": { +"description": "[Output Only] Detailed status message for the VPN tunnel.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ikeVersion": { +"description": "IKE protocol version to use when establishing the VPN tunnel with the peer VPN gateway. Acceptable IKE versions are 1 or 2. The default version is 2.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#vpnTunnel", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"localTrafficSelector": { +"description": "Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnTunnels.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerExternalGateway": { +"description": "URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway.", +"type": "string" +}, +"peerExternalGatewayInterface": { +"description": "The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type.", +"format": "int32", +"type": "integer" +}, +"peerGcpGateway": { +"description": "URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway.", +"type": "string" +}, +"peerIp": { +"description": "IP address of the peer VPN gateway. Only IPv4 is supported. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteTrafficSelector": { +"description": "Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"router": { +"description": "URL of the router resource to be used for dynamic routing.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.", +"type": "string" +}, +"sharedSecretHash": { +"description": "Hash of the shared secret.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel. ", +"enum": [ +"ALLOCATING_RESOURCES", +"AUTHORIZATION_ERROR", +"DEPROVISIONING", +"ESTABLISHED", +"FAILED", +"FIRST_HANDSHAKE", +"NEGOTIATION_FAILURE", +"NETWORK_ERROR", +"NO_INCOMING_PACKETS", +"PROVISIONING", +"REJECTED", +"STOPPED", +"WAITING_FOR_FULL_CONFIG" +], +"enumDescriptions": [ +"Cloud VPN is in the process of allocating all required resources (specifically, a borg task).", +"Auth error (e.g. bad shared secret).", +"Resources is being deallocated for the VPN tunnel.", +"Secure session is successfully established with peer VPN.", +"Tunnel creation has failed and the tunnel is not ready to be used.", +"Successful first handshake with peer VPN.", +"Handshake failed.", +"Deprecated, replaced by NO_INCOMING_PACKETS", +"No incoming packets from peer", +"Resource is being allocated for the VPN tunnel.", +"Tunnel configuration was rejected, can be result of being denylisted.", +"Tunnel is stopped due to its Forwarding Rules being deleted.", +"Waiting to receive all VPN-related configs from user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule and Route resources are needed to setup VPN tunnel." +], +"type": "string" +}, +"targetVpnGateway": { +"description": "URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"vpnGateway": { +"description": "URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This must be used (instead of target_vpn_gateway) if a High Availability VPN gateway resource is created.", +"type": "string" +}, +"vpnGatewayInterface": { +"description": "The interface ID of the VPN gateway with which this VPN tunnel is associated. Possible values are: `0`, `1`.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VpnTunnelAggregatedList": { +"id": "VpnTunnelAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnTunnelsScopedList", +"description": "Name of the scope containing this set of VPN tunnels." +}, +"description": "A list of VpnTunnelsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnTunnelAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnelList": { +"description": "Contains a list of VpnTunnel resources.", +"id": "VpnTunnelList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnTunnel resources.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnTunnelList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnelsScopedList": { +"id": "VpnTunnelsScopedList", +"properties": { +"vpnTunnels": { +"description": "A list of VPN tunnels contained in this scope.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"WafExpressionSet": { +"id": "WafExpressionSet", +"properties": { +"aliases": { +"description": "A list of alternate IDs. The format should be: - E.g. XSS-stable Generic suffix like \"stable\" is particularly useful if a policy likes to avail newer set of expressions without having to change the policy. A given alias name can't be used for more than one entity set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"expressions": { +"description": "List of available expressions.", +"items": { +"$ref": "WafExpressionSetExpression" +}, +"type": "array" +}, +"id": { +"description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", +"type": "string" +} +}, +"type": "object" +}, +"WafExpressionSetExpression": { +"id": "WafExpressionSetExpression", +"properties": { +"id": { +"description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", +"type": "string" +}, +"sensitivity": { +"description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WeightedBackendService": { +"description": "In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService", +"id": "WeightedBackendService", +"properties": { +"backendService": { +"description": "The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"weight": { +"description": "Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"XpnHostList": { +"id": "XpnHostList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of shared VPC host project URLs.", +"items": { +"$ref": "Project" +}, +"type": "array" +}, +"kind": { +"default": "compute#xpnHostList", +"description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"XpnResourceId": { +"description": "Service resource (a.k.a service project) ID.", +"id": "XpnResourceId", +"properties": { +"id": { +"description": "The ID of the service resource. In the case of projects, this field supports project id (e.g., my-project-123) and project number (e.g. 12345678).", +"type": "string" +}, +"type": { +"description": "The type of the service resource.", +"enum": [ +"PROJECT", +"XPN_RESOURCE_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Zone": { +"description": "Represents a Zone resource. A zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-b is located in the us-east1 region. For more information, read Regions and Zones.", +"id": "Zone", +"properties": { +"availableCpuPlatforms": { +"description": "[Output Only] Available cpu/platform selections for the zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this zone." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#zone", +"description": "[Output Only] Type of the resource. Always compute#zone for zones.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"region": { +"description": "[Output Only] Full URL reference to the region which hosts the zone.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the zone, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"ZoneList": { +"description": "Contains a list of zone resources.", +"id": "ZoneList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Zone resources.", +"items": { +"$ref": "Zone" +}, +"type": "array" +}, +"kind": { +"default": "compute#zoneList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ZoneSetLabelsRequest": { +"id": "ZoneSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"ZoneSetPolicyRequest": { +"id": "ZoneSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +} +}, +"servicePath": "compute/beta/", +"title": "Compute Engine API", +"version": "beta" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..40ba38038a7fa93f3b1f8678fe7e66ef22e44fe4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.v1.json @@ -0,0 +1,86575 @@ +{ +"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/compute": { +"description": "View and manage your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/compute.readonly": { +"description": "View your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/devstorage.full_control": { +"description": "Manage your data and permissions in Cloud Storage and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/devstorage.read_only": { +"description": "View your data in Google Cloud Storage" +}, +"https://www.googleapis.com/auth/devstorage.read_write": { +"description": "Manage your data in Cloud Storage and see the email address of your Google Account" +} +} +} +}, +"basePath": "/compute/v1/", +"baseUrl": "https://compute.googleapis.com/compute/v1/", +"batchPath": "batch/compute/v1", +"description": "Creates and runs virtual machines on Google Cloud Platform. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/", +"icons": { +"x16": "https://www.google.com/images/icons/product/compute_engine-16.png", +"x32": "https://www.google.com/images/icons/product/compute_engine-32.png" +}, +"id": "compute:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://compute.mtls.googleapis.com/", +"name": "compute", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Legacy name for parameter that has been superseded by `quotaUser`.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"acceleratorTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified accelerator type.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.get", +"parameterOrder": [ +"project", +"zone", +"acceleratorType" +], +"parameters": { +"acceleratorType": { +"description": "Name of the accelerator type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"response": { +"$ref": "AcceleratorType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of accelerator types that are available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"addresses": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/addresses", +"httpMethod": "GET", +"id": "compute.addresses.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/addresses", +"response": { +"$ref": "AddressAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.addresses.delete", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "GET", +"id": "compute.addresses.get", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "POST", +"id": "compute.addresses.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of addresses contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "GET", +"id": "compute.addresses.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.addresses.move", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}/move", +"request": { +"$ref": "RegionAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.addresses.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"autoscalers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/autoscalers", +"response": { +"$ref": "AutoscalerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.autoscalers.delete", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler resource.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.autoscalers.get", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "POST", +"id": "compute.autoscalers.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"response": { +"$ref": "AutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.autoscalers.patch", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PUT", +"id": "compute.autoscalers.update", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendBuckets": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "DELETE", +"id": "compute.backendBuckets.delete", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket", +"keyName" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "GET", +"id": "compute.backendBuckets.get", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "BackendBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendBuckets.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendBucket resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "POST", +"id": "compute.backendBuckets.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendBucket resources available to the specified project.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "GET", +"id": "compute.backendBuckets.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendBuckets", +"response": { +"$ref": "BackendBucketList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PATCH", +"id": "compute.backendBuckets.patch", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendBuckets.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendBucket resource with the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PUT", +"id": "compute.backendBuckets.update", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendServices": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/backendServices", +"response": { +"$ref": "BackendServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.backendServices.delete", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendService", +"keyName" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.backendServices.get", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this BackendService. Example request body: { \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", +"flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.backendServices.getHealth", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendServices.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "POST", +"id": "compute.backendServices.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendService resources available to the specified project.", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project.", +"flatPath": "projects/{project}/global/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.backendServices.listUsable", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.backendServices.patch", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the edge security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendServices.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.backendServices.update", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"diskTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/diskTypes", +"response": { +"$ref": "DiskTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified disk type.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.diskTypes.get", +"parameterOrder": [ +"project", +"zone", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of disk types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes", +"response": { +"$ref": "DiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"disks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "DisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/disks", +"httpMethod": "GET", +"id": "compute.disks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/disks", +"response": { +"$ref": "DiskAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/zones/{zone}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.disks.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.disks.createSnapshot", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.disks.delete", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified persistent disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.disks.get", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.disks.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "POST", +"id": "compute.disks.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of persistent disks contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "GET", +"id": "compute.disks.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "DisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified persistent disk. You can only increase the size of the disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.disks.resize", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"request": { +"$ref": "DisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.disks.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.disks.setLabels", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.startAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "DisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.disks.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.disks.update", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"externalVpnGateways": { +"methods": { +"delete": { +"description": "Deletes the specified externalVpnGateway.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.externalVpnGateways.delete", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateways to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.get", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "ExternalVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ExternalVpnGateway in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"request": { +"$ref": "ExternalVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of ExternalVpnGateway available to the specified project.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"response": { +"$ref": "ExternalVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.firewallPolicies.cloneRules", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.firewallPolicies.delete", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.firewallPolicies.get", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.firewallPolicies.insert", +"parameters": { +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified folder or organization.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.firewallPolicies.list", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAssociations": { +"description": "Lists associations of a specified target, i.e., organization or folder.", +"flatPath": "locations/global/firewallPolicies/listAssociations", +"httpMethod": "GET", +"id": "compute.firewallPolicies.listAssociations", +"parameters": { +"targetResource": { +"description": "The target resource to list associations. It is an organization, or a folder.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/listAssociations", +"response": { +"$ref": "FirewallPoliciesListAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/move", +"httpMethod": "POST", +"id": "compute.firewallPolicies.move", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "The new parent of the firewall policy. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/move", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.firewallPolicies.patch", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.patchRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.firewallPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalOrganizationSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.firewallPolicies.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewalls": { +"methods": { +"delete": { +"description": "Deletes the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "DELETE", +"id": "compute.firewalls.delete", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "GET", +"id": "compute.firewalls.get", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Firewall" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a firewall rule in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "POST", +"id": "compute.firewalls.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of firewall rules available to the specified project.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "GET", +"id": "compute.firewalls.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewalls", +"response": { +"$ref": "FirewallList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PATCH", +"id": "compute.firewalls.patch", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PUT", +"id": "compute.firewalls.update", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"forwardingRules": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/forwardingRules", +"response": { +"$ref": "ForwardingRuleAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.forwardingRules.delete", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.forwardingRules.get", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "POST", +"id": "compute.forwardingRules.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of ForwardingRule resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.forwardingRules.patch", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.forwardingRules.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.forwardingRules.setTarget", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"globalAddresses": { +"methods": { +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.globalAddresses.delete", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "GET", +"id": "compute.globalAddresses.get", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "POST", +"id": "compute.globalAddresses.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of global addresses.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "GET", +"id": "compute.globalAddresses.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource from one project to another project.", +"flatPath": "projects/{project}/global/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.globalAddresses.move", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}/move", +"request": { +"$ref": "GlobalAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalAddresses.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"globalForwardingRules": { +"methods": { +"delete": { +"description": "Deletes the specified GlobalForwardingRule resource.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.globalForwardingRules.delete", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified GlobalForwardingRule resource. Gets a list of available forwarding rules by making a list() request.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.get", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.globalForwardingRules.patch", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling resources documentation.", +"flatPath": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setTarget", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"globalNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a network endpoint to the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.globalNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOperations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/operations", +"response": { +"$ref": "OperationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOperations.delete", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOperations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified project.", +"flatPath": "projects/{project}/global/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/global/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.globalOperations.wait", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOrganizationOperations": { +"methods": { +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOrganizationOperations.delete", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.get", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified organization.", +"flatPath": "locations/global/operations", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.list", +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalPublicDelegatedPrefixes": { +"methods": { +"delete": { +"description": "Deletes the specified global PublicDelegatedPrefix.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.globalPublicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified global PublicDelegatedPrefix resource.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a global PublicDelegatedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.globalPublicDelegatedPrefixes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the global PublicDelegatedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified global PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.globalPublicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"healthChecks": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/healthChecks", +"response": { +"$ref": "HealthChecksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.healthChecks.delete", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.healthChecks.get", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "POST", +"id": "compute.healthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.healthChecks.patch", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.healthChecks.update", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpHealthChecks.delete", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.get", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "HttpHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "POST", +"id": "compute.httpHealthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"response": { +"$ref": "HttpHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpHealthChecks.patch", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpHealthChecks.update", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpsHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpsHealthChecks.delete", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.get", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "HttpsHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "POST", +"id": "compute.httpsHealthChecks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpsHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"response": { +"$ref": "HttpsHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpsHealthChecks.patch", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpsHealthChecks.update", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"imageFamilyViews": { +"methods": { +"get": { +"description": "Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"httpMethod": "GET", +"id": "compute.imageFamilyViews.get", +"parameterOrder": [ +"project", +"zone", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"response": { +"$ref": "ImageFamilyView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"images": { +"methods": { +"delete": { +"description": "Deletes the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "DELETE", +"id": "compute.images.delete", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deprecate": { +"description": "Sets the deprecation status of an image. If an empty request body is given, clears the deprecation status instead.", +"flatPath": "projects/{project}/global/images/{image}/deprecate", +"httpMethod": "POST", +"id": "compute.images.deprecate", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Image name.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}/deprecate", +"request": { +"$ref": "DeprecationStatus" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "GET", +"id": "compute.images.get", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getFromFamily": { +"description": "Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation.", +"flatPath": "projects/{project}/global/images/family/{family}", +"httpMethod": "GET", +"id": "compute.images.getFromFamily", +"parameterOrder": [ +"project", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "The image project that the image belongs to. For example, to get a CentOS image, specify centos-cloud as the image project.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/family/{family}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/images/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.images.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an image in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "POST", +"id": "compute.images.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"forceCreate": { +"description": "Force image creation if true.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of custom images available to the specified project. Custom images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "GET", +"id": "compute.images.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/images", +"response": { +"$ref": "ImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "PATCH", +"id": "compute.images.patch", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/images/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.images.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/images/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.images.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/images/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.images.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagerResizeRequests": { +"methods": { +"cancel": { +"description": "Cancels the specified resize request and removes it from the queue. Cancelled resize request does no longer wait for the resources to be provisioned. Cancel is only possible for requests that are accepted in the queue.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.cancel", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to cancel. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagerResizeRequests.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to delete. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified resize request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the href=\"/compute/docs/regions-zones/#available\">zone scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resize request that starts provisioning VMs immediately or queues VM creation.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.insert", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to which the resize request will be added. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located and where the resize request will be created. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"request": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of resize requests that are contained in the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.list", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"response": { +"$ref": "InstanceGroupManagerResizeRequestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "InstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"applyUpdatesToInstances": { +"description": "Applies changes to selected instances on the managed instance group. This method can be used to apply new overrides and/or new versions.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. Should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "InstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "InstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagers.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "InstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersDeletePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of managed instance groups that are contained within the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "InstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "InstanceGroupManagersListManagedInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "InstanceGroupManagersListPerInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.instanceGroupManagers.patch", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersPatchPerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "InstanceGroupManagersRecreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resize", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "InstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "InstanceGroupManagersSetInstanceTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "InstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "InstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "InstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "InstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersUpdatePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceGroups": { +"methods": { +"addInstances": { +"description": "Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.addInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where you are adding instances.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"request": { +"$ref": "InstanceGroupsAddInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroups", +"response": { +"$ref": "InstanceGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "DELETE", +"id": "compute.instanceGroups.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.instanceGroups.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "POST", +"id": "compute.instanceGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"request": { +"$ref": "InstanceGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of zonal instance group resources contained within the specified zone. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"response": { +"$ref": "InstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.listInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroup": { +"description": "The name of the instance group from which you want to generate a list of included instances.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "InstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "InstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeInstances": { +"description": "Removes one or more instances from the specified instance group, but does not delete those instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.removeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the specified instances will be removed.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"request": { +"$ref": "InstanceGroupsRemoveInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.instanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "InstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceSettings": { +"methods": { +"get": { +"description": "Get Instance settings.", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "GET", +"id": "compute.instanceSettings.get", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"response": { +"$ref": "InstanceSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch Instance settings", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "PATCH", +"id": "compute.instanceSettings.patch", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The zone scoping this request. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"request": { +"$ref": "InstanceSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceTemplates", +"response": { +"$ref": "InstanceTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.instanceTemplates.delete", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.instanceTemplates.get", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instanceTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "POST", +"id": "compute.instanceTemplates.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instanceTemplates.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceTemplates.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instances": { +"methods": { +"addAccessConfig": { +"description": "Adds an access config to an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.addAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to add to this instance.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addResourcePolicies": { +"description": "Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"request": { +"$ref": "InstancesAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instances", +"httpMethod": "GET", +"id": "compute.instances.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instances", +"response": { +"$ref": "InstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachDisk": { +"description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"httpMethod": "POST", +"id": "compute.instances.attachDisk", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"forceAttach": { +"description": "Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"request": { +"$ref": "AttachedDisk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Creates multiple instances. Count specifies the number of instances to create. For more information, see About bulk creation of VMs.", +"flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.instances.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified Instance resource. For more information, see Deleting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "DELETE", +"id": "compute.instances.delete", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteAccessConfig": { +"description": "Deletes an access config from an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.deleteAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"accessConfig", +"networkInterface" +], +"parameters": { +"accessConfig": { +"description": "The name of the access config to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachDisk": { +"description": "Detaches a disk from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"httpMethod": "POST", +"id": "compute.instances.detachDisk", +"parameterOrder": [ +"project", +"zone", +"instance", +"deviceName" +], +"parameters": { +"deviceName": { +"description": "The device name of the disk to detach. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "Instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Instance resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "GET", +"id": "compute.instances.get", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns effective firewalls applied to an interface of the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.instances.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to get the effective firewalls.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"response": { +"$ref": "InstancesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getGuestAttributes": { +"description": "Returns the specified guest attributes entry.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"httpMethod": "GET", +"id": "compute.instances.getGuestAttributes", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"queryPath": { +"description": "Specifies the guest attributes path to be queried.", +"location": "query", +"type": "string" +}, +"variableKey": { +"description": "Specifies the key for the guest attributes entry.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"response": { +"$ref": "GuestAttributes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instances.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getScreenshot": { +"description": "Returns the screenshot from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"httpMethod": "GET", +"id": "compute.instances.getScreenshot", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"response": { +"$ref": "Screenshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getSerialPortOutput": { +"description": "Returns the last 1 MB of serial port output from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"httpMethod": "GET", +"id": "compute.instances.getSerialPortOutput", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"port": { +"default": "1", +"description": "Specifies which COM or serial port to retrieve data from.", +"format": "int32", +"location": "query", +"maximum": "4", +"minimum": "1", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"start": { +"description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", +"format": "int64", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"response": { +"$ref": "SerialPortOutput" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getShieldedInstanceIdentity": { +"description": "Returns the Shielded Instance Identity of an instance", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"httpMethod": "GET", +"id": "compute.instances.getShieldedInstanceIdentity", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"response": { +"$ref": "ShieldedInstanceIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "POST", +"id": "compute.instances.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstanceTemplate": { +"description": "Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"location": "query", +"type": "string" +}, +"sourceMachineImage": { +"description": "Specifies the machine image to use to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image: - https://www.googleapis.com/compute/v1/projects/project/global/global /machineImages/machineImage - projects/project/global/global/machineImages/machineImage - global/machineImages/machineImage ", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of instances contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "GET", +"id": "compute.instances.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"response": { +"$ref": "InstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listReferrers": { +"description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"httpMethod": "GET", +"id": "compute.instances.listReferrers", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Name of the target instance scoping this request, or '-' if the request should span over all instances in the container.", +"location": "path", +"pattern": "-|[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"response": { +"$ref": "InstanceListReferrers" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"performMaintenance": { +"description": "Perform a manual maintenance on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"httpMethod": "POST", +"id": "compute.instances.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"request": { +"$ref": "InstancesRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"reset": { +"description": "Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, see Resetting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"httpMethod": "POST", +"id": "compute.instances.reset", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes an instance that was suspended using the instances().suspend method.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"httpMethod": "POST", +"id": "compute.instances.resume", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"sendDiagnosticInterrupt": { +"description": "Sends diagnostic interrupt to the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"httpMethod": "POST", +"id": "compute.instances.sendDiagnosticInterrupt", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDeletionProtection": { +"description": "Sets deletion protection on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"httpMethod": "POST", +"id": "compute.instances.setDeletionProtection", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"deletionProtection": { +"default": "true", +"description": "Whether the resource should be protected against deletion.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDiskAutoDelete": { +"description": "Sets the auto-delete flag for a disk attached to an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"httpMethod": "POST", +"id": "compute.instances.setDiskAutoDelete", +"parameterOrder": [ +"project", +"zone", +"instance", +"autoDelete", +"deviceName" +], +"parameters": { +"autoDelete": { +"description": "Whether to auto-delete the disk when the instance is deleted.", +"location": "query", +"required": true, +"type": "boolean" +}, +"deviceName": { +"description": "The device name of the disk to modify. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"pattern": "\\w[\\w.-]{0,254}", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instances.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"httpMethod": "POST", +"id": "compute.instances.setLabels", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"request": { +"$ref": "InstancesSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineResources": { +"description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"httpMethod": "POST", +"id": "compute.instances.setMachineResources", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"request": { +"$ref": "InstancesSetMachineResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineType": { +"description": "Changes the machine type for a stopped instance to the machine type specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"httpMethod": "POST", +"id": "compute.instances.setMachineType", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"request": { +"$ref": "InstancesSetMachineTypeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMetadata": { +"description": "Sets metadata for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"httpMethod": "POST", +"id": "compute.instances.setMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMinCpuPlatform": { +"description": "Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, read Specifying a Minimum CPU Platform.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"httpMethod": "POST", +"id": "compute.instances.setMinCpuPlatform", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"request": { +"$ref": "InstancesSetMinCpuPlatformRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setName": { +"description": "Sets name of an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"httpMethod": "POST", +"id": "compute.instances.setName", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"request": { +"$ref": "InstancesSetNameRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setScheduling": { +"description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, see Set VM host maintenance policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"httpMethod": "POST", +"id": "compute.instances.setScheduling", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"request": { +"$ref": "Scheduling" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.instances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"request": { +"$ref": "InstancesSetSecurityPolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setServiceAccount": { +"description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"httpMethod": "POST", +"id": "compute.instances.setServiceAccount", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"request": { +"$ref": "InstancesSetServiceAccountRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setShieldedInstanceIntegrityPolicy": { +"description": "Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"httpMethod": "PATCH", +"id": "compute.instances.setShieldedInstanceIntegrityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"request": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTags": { +"description": "Sets network tags for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"httpMethod": "POST", +"id": "compute.instances.setTags", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"request": { +"$ref": "Tags" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates a host maintenance event on a VM. For more information, see Simulate a host maintenance event.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.instances.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"withExtendedNotifications": { +"description": "Determines whether the customers receive notifications before migration. Only applicable to SF vms.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"start": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/start", +"httpMethod": "POST", +"id": "compute.instances.start", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/start", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startWithEncryptionKey": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"httpMethod": "POST", +"id": "compute.instances.startWithEncryptionKey", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"request": { +"$ref": "InstancesStartWithEncryptionKeyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stop": { +"description": "Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"httpMethod": "POST", +"id": "compute.instances.stop", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to stop.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspend": { +"description": "This method suspends a running instance, saving its state to persistent storage, and allows you to resume the instance at a later time. Suspended instances have no compute costs (cores or RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged resources the virtual machine was using, such as persistent disks and static IP addresses, will continue to be charged while the instance is suspended. For more information, see Suspending and resuming an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"httpMethod": "POST", +"id": "compute.instances.suspend", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to suspend.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instances.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "PUT", +"id": "compute.instances.update", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"minimalAction": { +"description": "Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateAccessConfig": { +"description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.updateAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface where the access config is attached.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateDisplayDevice": { +"description": "Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"httpMethod": "PATCH", +"id": "compute.instances.updateDisplayDevice", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"request": { +"$ref": "DisplayDevice" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateNetworkInterface": { +"description": "Updates an instance's network interface. This method can only update an interface's alias IP range and attached network. See Modifying alias IP ranges for an existing instance for instructions on changing alias IP ranges. See Migrating a VM between networks for instructions on migrating an interface. This method follows PATCH semantics.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"httpMethod": "PATCH", +"id": "compute.instances.updateNetworkInterface", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to update.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"request": { +"$ref": "NetworkInterface" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateShieldedInstanceConfig": { +"description": "Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"httpMethod": "PATCH", +"id": "compute.instances.updateShieldedInstanceConfig", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"request": { +"$ref": "ShieldedInstanceConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instantSnapshots": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instantSnapshots", +"response": { +"$ref": "InstantSnapshotAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.instantSnapshots.delete", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.instantSnapshots.get", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.instantSnapshots.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setLabels", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "DELETE", +"id": "compute.interconnectAttachments.delete", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.get", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "InterconnectAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of interconnect attachments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "PATCH", +"id": "compute.interconnectAttachments.patch", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"interconnectLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"httpMethod": "GET", +"id": "compute.interconnectLocations.get", +"parameterOrder": [ +"project", +"interconnectLocation" +], +"parameters": { +"interconnectLocation": { +"description": "Name of the interconnect location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"response": { +"$ref": "InterconnectLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectLocations", +"httpMethod": "GET", +"id": "compute.interconnectLocations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectLocations", +"response": { +"$ref": "InterconnectLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectRemoteLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.get", +"parameterOrder": [ +"project", +"interconnectRemoteLocation" +], +"parameters": { +"interconnectRemoteLocation": { +"description": "Name of the interconnect remote location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"response": { +"$ref": "InterconnectRemoteLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect remote locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations", +"response": { +"$ref": "InterconnectRemoteLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnects": { +"methods": { +"delete": { +"description": "Deletes the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "DELETE", +"id": "compute.interconnects.delete", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Interconnect. Get a list of available Interconnects by making a list() request.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "GET", +"id": "compute.interconnects.get", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Interconnect" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getDiagnostics": { +"description": "Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"httpMethod": "GET", +"id": "compute.interconnects.getDiagnostics", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"response": { +"$ref": "InterconnectsGetDiagnosticsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getMacsecConfig": { +"description": "Returns the interconnectMacsecConfig for the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"httpMethod": "GET", +"id": "compute.interconnects.getMacsecConfig", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"response": { +"$ref": "InterconnectsGetMacsecConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an Interconnect in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "POST", +"id": "compute.interconnects.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Interconnects available to the specified project.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "GET", +"id": "compute.interconnects.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnects", +"response": { +"$ref": "InterconnectList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "PATCH", +"id": "compute.interconnects.patch", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnects.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"licenseCodes": { +"methods": { +"get": { +"description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{licenseCode}", +"httpMethod": "GET", +"id": "compute.licenseCodes.get", +"parameterOrder": [ +"project", +"licenseCode" +], +"parameters": { +"licenseCode": { +"description": "Number corresponding to the License code resource to return.", +"location": "path", +"pattern": "[0-9]{0,61}?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenseCodes/{licenseCode}", +"response": { +"$ref": "LicenseCode" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenseCodes.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"licenses": { +"methods": { +"delete": { +"description": "Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "DELETE", +"id": "compute.licenses.delete", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the license resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified License resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "GET", +"id": "compute.licenses.get", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the License resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "License" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.licenses.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "POST", +"id": "compute.licenses.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses", +"request": { +"$ref": "License" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "GET", +"id": "compute.licenses.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/licenses", +"response": { +"$ref": "LicensesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.licenses.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenses.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"machineImages": { +"methods": { +"delete": { +"description": "Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "DELETE", +"id": "compute.machineImages.delete", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified machine image.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "GET", +"id": "compute.machineImages.get", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "MachineImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.machineImages.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "POST", +"id": "compute.machineImages.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstance": { +"description": "Required. Source instance that is used to create the machine image from.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages", +"request": { +"$ref": "MachineImage" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of machine images that are contained within the specified project.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "GET", +"id": "compute.machineImages.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/machineImages", +"response": { +"$ref": "MachineImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.machineImages.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.machineImages.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"machineTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/machineTypes", +"response": { +"$ref": "MachineTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified machine type.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"httpMethod": "GET", +"id": "compute.machineTypes.get", +"parameterOrder": [ +"project", +"zone", +"machineType" +], +"parameters": { +"machineType": { +"description": "Name of the machine type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"response": { +"$ref": "MachineType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of machine types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes", +"response": { +"$ref": "MachineTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkAttachments", +"response": { +"$ref": "NetworkAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NetworkAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "DELETE", +"id": "compute.networkAttachments.delete", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NetworkAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "GET", +"id": "compute.networkAttachments.get", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "NetworkAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "POST", +"id": "compute.networkAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NetworkAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"response": { +"$ref": "NetworkAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "PATCH", +"id": "compute.networkAttachments.patch", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkEdgeSecurityServices": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEdgeSecurityServices", +"response": { +"$ref": "NetworkEdgeSecurityServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified service.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "DELETE", +"id": "compute.networkEdgeSecurityServices.delete", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets a specified NetworkEdgeSecurityService.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.get", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "NetworkEdgeSecurityService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new service in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"httpMethod": "POST", +"id": "compute.networkEdgeSecurityServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "PATCH", +"id": "compute.networkEdgeSecurityServices.patch", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"networkEndpointGroups": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.networkEndpointGroups.delete", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach a list of network endpoints from the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.get", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsListEndpointsRequest" +}, +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/firewallPolicies", +"response": { +"$ref": "NetworkFirewallPolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.networkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.get", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.networkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkProfiles": { +"methods": { +"get": { +"description": "Returns the specified network profile.", +"flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", +"httpMethod": "GET", +"id": "compute.networkProfiles.get", +"parameterOrder": [ +"project", +"networkProfile" +], +"parameters": { +"networkProfile": { +"description": "Name of the network profile to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkProfiles/{networkProfile}", +"response": { +"$ref": "NetworkProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of network profiles available to the specified project.", +"flatPath": "projects/{project}/global/networkProfiles", +"httpMethod": "GET", +"id": "compute.networkProfiles.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkProfiles", +"response": { +"$ref": "NetworkProfilesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networks": { +"methods": { +"addPeering": { +"description": "Adds a peering to the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/addPeering", +"httpMethod": "POST", +"id": "compute.networks.addPeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to add peering to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/addPeering", +"request": { +"$ref": "NetworksAddPeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "DELETE", +"id": "compute.networks.delete", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "GET", +"id": "compute.networks.get", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Network" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.networks.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"response": { +"$ref": "NetworksGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "POST", +"id": "compute.networks.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of networks available to the specified project.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "GET", +"id": "compute.networks.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks", +"response": { +"$ref": "NetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPeeringRoutes": { +"description": "Lists the peering routes exchanged over peering connection.", +"flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"httpMethod": "GET", +"id": "compute.networks.listPeeringRoutes", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"direction": { +"description": "The direction of the exchanged routes.", +"enum": [ +"INCOMING", +"OUTGOING" +], +"enumDescriptions": [ +"For routes exported from peer network.", +"For routes exported from local network." +], +"location": "query", +"type": "string" +}, +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"peeringName": { +"description": "The response will show routes exchanged over the given peering connection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"response": { +"$ref": "ExchangedPeeringRoutesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network with the data included in the request. Only routingConfig can be modified.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "PATCH", +"id": "compute.networks.patch", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePeering": { +"description": "Removes a peering from the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/removePeering", +"httpMethod": "POST", +"id": "compute.networks.removePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to remove peering from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/removePeering", +"request": { +"$ref": "NetworksRemovePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"switchToCustomMode": { +"description": "Switches the network mode from auto subnet mode to custom subnet mode.", +"flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", +"httpMethod": "POST", +"id": "compute.networks.switchToCustomMode", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to be updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/switchToCustomMode", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePeering": { +"description": "Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field.", +"flatPath": "projects/{project}/global/networks/{network}/updatePeering", +"httpMethod": "PATCH", +"id": "compute.networks.updatePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource which the updated peering is belonging to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/updatePeering", +"request": { +"$ref": "NetworksUpdatePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"nodeGroups": { +"methods": { +"addNodes": { +"description": "Adds specified number of nodes to the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.addNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"request": { +"$ref": "NodeGroupsAddNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeGroups", +"response": { +"$ref": "NodeGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeGroup resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "DELETE", +"id": "compute.nodeGroups.delete", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteNodes": { +"description": "Deletes specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.deleteNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will be deleted.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"request": { +"$ref": "NodeGroupsDeleteNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "GET", +"id": "compute.nodeGroups.get", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "NodeGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeGroups.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeGroup resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "POST", +"id": "compute.nodeGroups.insert", +"parameterOrder": [ +"project", +"zone", +"initialNodeCount" +], +"parameters": { +"initialNodeCount": { +"description": "Initial count of nodes in the node group.", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"response": { +"$ref": "NodeGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNodes": { +"description": "Lists nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.listNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes you want to list.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"response": { +"$ref": "NodeGroupsListNodes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "PATCH", +"id": "compute.nodeGroups.patch", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"performMaintenance": { +"description": "Perform maintenance on a subset of nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"httpMethod": "POST", +"id": "compute.nodeGroups.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"request": { +"$ref": "NodeGroupsPerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeGroups.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNodeTemplate": { +"description": "Updates the node template of the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"httpMethod": "POST", +"id": "compute.nodeGroups.setNodeTemplate", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"request": { +"$ref": "NodeGroupsSetNodeTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates maintenance event on specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.nodeGroups.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"request": { +"$ref": "NodeGroupsSimulateMaintenanceEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTemplates", +"response": { +"$ref": "NodeTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeTemplate resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "DELETE", +"id": "compute.nodeTemplates.delete", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the NodeTemplate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified node template.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "GET", +"id": "compute.nodeTemplates.get", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the node template to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "NodeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "POST", +"id": "compute.nodeTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"request": { +"$ref": "NodeTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node templates available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"response": { +"$ref": "NodeTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeTemplates.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeTemplates.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTypes", +"response": { +"$ref": "NodeTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified node type.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"httpMethod": "GET", +"id": "compute.nodeTypes.get", +"parameterOrder": [ +"project", +"zone", +"nodeType" +], +"parameters": { +"nodeType": { +"description": "Name of the node type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"response": { +"$ref": "NodeType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of node types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes", +"response": { +"$ref": "NodeTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"packetMirrorings": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/packetMirrorings", +"response": { +"$ref": "PacketMirroringAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "DELETE", +"id": "compute.packetMirrorings.delete", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "GET", +"id": "compute.packetMirrorings.get", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "PacketMirroring" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "POST", +"id": "compute.packetMirrorings.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"response": { +"$ref": "PacketMirroringList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "PATCH", +"id": "compute.packetMirrorings.patch", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.packetMirrorings.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"projects": { +"methods": { +"disableXpnHost": { +"description": "Disable this project as a shared VPC host project.", +"flatPath": "projects/{project}/disableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.disableXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"disableXpnResource": { +"description": "Disable a service resource (also known as service project) associated with this host project.", +"flatPath": "projects/{project}/disableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.disableXpnResource", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnResource", +"request": { +"$ref": "ProjectsDisableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnHost": { +"description": "Enable this project as a shared VPC host project.", +"flatPath": "projects/{project}/enableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.enableXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnResource": { +"description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", +"flatPath": "projects/{project}/enableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.enableXpnResource", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnResource", +"request": { +"$ref": "ProjectsEnableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.", +"flatPath": "projects/{project}", +"httpMethod": "GET", +"id": "compute.projects.get", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getXpnHost": { +"description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", +"flatPath": "projects/{project}/getXpnHost", +"httpMethod": "GET", +"id": "compute.projects.getXpnHost", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/getXpnHost", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"getXpnResources": { +"description": "Gets service resources (a.k.a service project) associated with this host project.", +"flatPath": "projects/{project}/getXpnResources", +"httpMethod": "GET", +"id": "compute.projects.getXpnResources", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/getXpnResources", +"response": { +"$ref": "ProjectsGetXpnResources" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"listXpnHosts": { +"description": "Lists all shared VPC host projects visible to the user in an organization.", +"flatPath": "projects/{project}/listXpnHosts", +"httpMethod": "POST", +"id": "compute.projects.listXpnHosts", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/listXpnHosts", +"request": { +"$ref": "ProjectsListXpnHostsRequest" +}, +"response": { +"$ref": "XpnHostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveDisk": { +"description": "Moves a persistent disk from one zone to another.", +"flatPath": "projects/{project}/moveDisk", +"httpMethod": "POST", +"id": "compute.projects.moveDisk", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveDisk", +"request": { +"$ref": "DiskMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveInstance": { +"deprecated": true, +"description": "Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead.", +"flatPath": "projects/{project}/moveInstance", +"httpMethod": "POST", +"id": "compute.projects.moveInstance", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveInstance", +"request": { +"$ref": "InstanceMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCloudArmorTier": { +"description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.", +"flatPath": "projects/{project}/setCloudArmorTier", +"httpMethod": "POST", +"id": "compute.projects.setCloudArmorTier", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCloudArmorTier", +"request": { +"$ref": "ProjectsSetCloudArmorTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCommonInstanceMetadata": { +"description": "Sets metadata common to all instances within the specified project using the data included in the request.", +"flatPath": "projects/{project}/setCommonInstanceMetadata", +"httpMethod": "POST", +"id": "compute.projects.setCommonInstanceMetadata", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCommonInstanceMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDefaultNetworkTier": { +"description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", +"flatPath": "projects/{project}/setDefaultNetworkTier", +"httpMethod": "POST", +"id": "compute.projects.setDefaultNetworkTier", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setDefaultNetworkTier", +"request": { +"$ref": "ProjectsSetDefaultNetworkTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUsageExportBucket": { +"description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", +"flatPath": "projects/{project}/setUsageExportBucket", +"httpMethod": "POST", +"id": "compute.projects.setUsageExportBucket", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setUsageExportBucket", +"request": { +"$ref": "UsageExportLocation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"publicAdvertisedPrefixes": { +"methods": { +"announce": { +"description": "Announces the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.announce", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicAdvertisedPrefixes.delete", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicAdvertisedPrefix resource.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.get", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "PublicAdvertisedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicAdvertisedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"response": { +"$ref": "PublicAdvertisedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicAdvertisedPrefixes.patch", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.withdraw", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"publicDelegatedPrefixes": { +"methods": { +"aggregatedList": { +"description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"announce": { +"description": "Announces the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.announce", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicDelegatedPrefix resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicDelegatedPrefixes for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.withdraw", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionAutoscalers": { +"methods": { +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.regionAutoscalers.delete", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.get", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "POST", +"id": "compute.regionAutoscalers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"response": { +"$ref": "RegionAutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.regionAutoscalers.patch", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PUT", +"id": "compute.regionAutoscalers.update", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionBackendServices": { +"methods": { +"delete": { +"description": "Deletes the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.regionBackendServices.delete", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.regionBackendServices.get", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this regional BackendService.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.regionBackendServices.getHealth", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource for which to get health.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionBackendServices.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "POST", +"id": "compute.regionBackendServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "GET", +"id": "compute.regionBackendServices.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.regionBackendServices.listUsable", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.regionBackendServices.patch", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionBackendServices.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.regionBackendServices.update", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionCommitments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/commitments", +"response": { +"$ref": "CommitmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified commitment resource.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "GET", +"id": "compute.regionCommitments.get", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"response": { +"$ref": "Commitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a commitment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "POST", +"id": "compute.regionCommitments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of commitments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"response": { +"$ref": "CommitmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "PATCH", +"id": "compute.regionCommitments.update", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment for which auto renew is being updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionDiskTypes": { +"methods": { +"get": { +"description": "Returns the specified regional disk type.", +"flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.get", +"parameterOrder": [ +"project", +"region", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of regional disk types available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/diskTypes", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes", +"response": { +"$ref": "RegionDiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionDisks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.addResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "RegionDisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/regions/{region}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionDisks.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.regionDisks.createSnapshot", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.regionDisks.delete", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.regionDisks.get", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionDisks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent regional disk in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "POST", +"id": "compute.regionDisks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of persistent disks contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "GET", +"id": "compute.regionDisks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.removeResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "RegionDisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.regionDisks.resize", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/resize", +"request": { +"$ref": "RegionDisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionDisks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the target regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionDisks.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.startAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "RegionDisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionDisks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.regionDisks.update", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionHealthCheckServices": { +"methods": { +"delete": { +"description": "Deletes the specified regional HealthCheckService.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "DELETE", +"id": "compute.regionHealthCheckServices.delete", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional HealthCheckService resource.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.get", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "HealthCheckService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "POST", +"id": "compute.regionHealthCheckServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"response": { +"$ref": "HealthCheckServicesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "PATCH", +"id": "compute.regionHealthCheckServices.patch", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.regionHealthChecks.delete", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.get", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "POST", +"id": "compute.regionHealthChecks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.regionHealthChecks.patch", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.regionHealthChecks.update", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "RegionInstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"applyUpdatesToInstances": { +"description": "Apply updates to selected instances the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "RegionInstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "RegionInstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceGroupManagers.delete", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "RegionInstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerDeleteInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.get", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of managed instance groups that are contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"response": { +"$ref": "RegionInstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. This should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "RegionInstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "RegionInstanceGroupManagersListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "RegionInstanceGroupManagersListInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.regionInstanceGroupManagers.patch", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerPatchInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "RegionInstanceGroupManagersRecreateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resize", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "Number of instances that should exist in this instance group manager.", +"format": "int32", +"location": "query", +"minimum": "0", +"required": true, +"type": "integer" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "RegionInstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "RegionInstanceGroupManagersSetTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerUpdateInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroups": { +"methods": { +"get": { +"description": "Returns the specified instance group resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.get", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "Name of the instance group resource to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of instance group resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups", +"response": { +"$ref": "RegionInstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.listInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"instanceGroup": { +"description": "Name of the regional instance group for which we want to list the instances.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "RegionInstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "RegionInstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified regional instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the regional instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "RegionInstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceTemplates": { +"methods": { +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceTemplates.delete", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.get", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project and region using the global instance template whose URL is included in the request.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "POST", +"id": "compute.regionInstanceTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the regions for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstances": { +"methods": { +"bulkInsert": { +"description": "Creates multiple instances in a given region. Count specifies the number of instances to create.", +"flatPath": "projects/{project}/regions/{region}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionInstances.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstantSnapshots": { +"methods": { +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.regionInstantSnapshots.delete", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.get", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.get", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"region", +"network" +], +"parameters": { +"network": { +"description": "Network reference", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"response": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new network firewall policy in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the network firewall policies that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionNetworkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the association that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNotificationEndpoints": { +"methods": { +"delete": { +"description": "Deletes the specified NotificationEndpoint in the given region", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "DELETE", +"id": "compute.regionNotificationEndpoints.delete", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NotificationEndpoint resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.get", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "NotificationEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "POST", +"id": "compute.regionNotificationEndpoints.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"request": { +"$ref": "NotificationEndpoint" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NotificationEndpoints for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"response": { +"$ref": "NotificationEndpointList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionOperations": { +"methods": { +"delete": { +"description": "Deletes the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.regionOperations.delete", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.regionOperations.get", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/operations", +"httpMethod": "GET", +"id": "compute.regionOperations.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.regionOperations.wait", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSecurityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSecurityPolicies.delete", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.get", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSecurityPolicies.patch", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionSslCertificates": { +"methods": { +"delete": { +"description": "Deletes the specified SslCertificate resource in the region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.regionSslCertificates.delete", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.get", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "POST", +"id": "compute.regionSslCertificates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSslPolicies": { +"methods": { +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSslPolicies.delete", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.get", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "POST", +"id": "compute.regionSslPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.listAvailableFeatures", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSslPolicies.patch", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionTargetHttpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionTargetHttpsProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpsProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.regionTargetHttpsProxies.patch", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "RegionTargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionTargetTcpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetTcpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetTcpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionUrlMaps": { +"methods": { +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.regionUrlMaps.delete", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.get", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.regionUrlMaps.patch", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.regionUrlMaps.update", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.validate", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"request": { +"$ref": "RegionUrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionZones": { +"methods": { +"list": { +"description": "Retrieves the list of Zone resources under the specific region available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/zones", +"httpMethod": "GET", +"id": "compute.regionZones.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regions": { +"methods": { +"get": { +"description": "Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions/{region}", +"httpMethod": "GET", +"id": "compute.regions.get", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}", +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions", +"httpMethod": "GET", +"id": "compute.regions.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions", +"response": { +"$ref": "RegionList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"reservations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/reservations", +"httpMethod": "GET", +"id": "compute.reservations.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/reservations", +"response": { +"$ref": "ReservationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "DELETE", +"id": "compute.reservations.delete", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves information about the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "GET", +"id": "compute.reservations.get", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.reservations.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new reservation. For more information, read Reserving zonal resources.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "POST", +"id": "compute.reservations.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list of all the reservations that have been configured for the specified project in specified zone.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "GET", +"id": "compute.reservations.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"response": { +"$ref": "ReservationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"resize": { +"description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"httpMethod": "POST", +"id": "compute.reservations.resize", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"request": { +"$ref": "ReservationsResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.reservations.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.reservations.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update share settings of the reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "PATCH", +"id": "compute.reservations.update", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"resourcePolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/resourcePolicies", +"response": { +"$ref": "ResourcePolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "DELETE", +"id": "compute.resourcePolicies.delete", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves all information of the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "GET", +"id": "compute.resourcePolicies.get", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.resourcePolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "POST", +"id": "compute.resourcePolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list all the resource policies that have been configured for the specified project in specified region.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"response": { +"$ref": "ResourcePolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Modify the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "PATCH", +"id": "compute.resourcePolicies.patch", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Id of the resource policy to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.resourcePolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.resourcePolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"routers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/routers", +"httpMethod": "GET", +"id": "compute.routers.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/routers", +"response": { +"$ref": "RouterAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "DELETE", +"id": "compute.routers.delete", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "GET", +"id": "compute.routers.get", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Router" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatIpInfo": { +"description": "Retrieves runtime NAT IP information.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatIpInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"natName": { +"description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"response": { +"$ref": "NatIpInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatMappingInfo": { +"description": "Retrieves runtime Nat mapping information of VM endpoints.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatMappingInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"natName": { +"description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"response": { +"$ref": "VmEndpointNatMappingsList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRouterStatus": { +"description": "Retrieves runtime information of the specified router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"httpMethod": "GET", +"id": "compute.routers.getRouterStatus", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"response": { +"$ref": "RouterStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Router resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "POST", +"id": "compute.routers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of Router resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "GET", +"id": "compute.routers.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"response": { +"$ref": "RouterList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PATCH", +"id": "compute.routers.patch", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"preview": { +"description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", +"httpMethod": "POST", +"id": "compute.routers.preview", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/preview", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "RoutersPreviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PUT", +"id": "compute.routers.update", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"routes": { +"methods": { +"delete": { +"description": "Deletes the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "DELETE", +"id": "compute.routes.delete", +"parameterOrder": [ +"project", +"route" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"route": { +"description": "Name of the Route resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "GET", +"id": "compute.routes.get", +"parameterOrder": [ +"project", +"route" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"route": { +"description": "Name of the Route resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Route" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Route resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "POST", +"id": "compute.routes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/routes", +"request": { +"$ref": "Route" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Route resources available to the specified project.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "GET", +"id": "compute.routes.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/routes", +"response": { +"$ref": "RouteList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"securityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.addRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/securityPolicies", +"response": { +"$ref": "SecurityPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.securityPolicies.delete", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.securityPolicies.get", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.securityPolicies.getRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "POST", +"id": "compute.securityPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPreconfiguredExpressionSets": { +"description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", +"flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"httpMethod": "GET", +"id": "compute.securityPolicies.listPreconfiguredExpressionSets", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"response": { +"$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.securityPolicies.patch", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.patchRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.removeRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.securityPolicies.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"serviceAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ServiceAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "DELETE", +"id": "compute.serviceAttachments.delete", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ServiceAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "GET", +"id": "compute.serviceAttachments.get", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "ServiceAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.serviceAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "POST", +"id": "compute.serviceAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the ServiceAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "PATCH", +"id": "compute.serviceAttachments.patch", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region scoping this request and should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "The resource id of the ServiceAttachment to patch. It should conform to RFC1035 resource name or be a string form on an unsigned long number.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.serviceAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.serviceAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"snapshotSettings": { +"methods": { +"get": { +"description": "Get snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "GET", +"id": "compute.snapshotSettings.get", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"response": { +"$ref": "SnapshotSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "PATCH", +"id": "compute.snapshotSettings.patch", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"request": { +"$ref": "SnapshotSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"snapshots": { +"methods": { +"delete": { +"description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "DELETE", +"id": "compute.snapshots.delete", +"parameterOrder": [ +"project", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Snapshot resource.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "GET", +"id": "compute.snapshots.get", +"parameterOrder": [ +"project", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.snapshots.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "POST", +"id": "compute.snapshots.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Snapshot resources contained within the specified project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "GET", +"id": "compute.snapshots.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/snapshots", +"response": { +"$ref": "SnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.snapshots.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.snapshots.setLabels", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.snapshots.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslCertificates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslCertificates", +"response": { +"$ref": "SslCertificateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.sslCertificates.delete", +"parameterOrder": [ +"project", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.sslCertificates.get", +"parameterOrder": [ +"project", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "POST", +"id": "compute.sslCertificates.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslPolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslPolicies", +"response": { +"$ref": "SslPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.sslPolicies.delete", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.sslPolicies.get", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Returns the specified SSL policy resource.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "POST", +"id": "compute.sslPolicies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.sslPolicies.listAvailableFeatures", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.sslPolicies.patch", +"parameterOrder": [ +"project", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"storagePoolTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified storage pool type.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.get", +"parameterOrder": [ +"project", +"zone", +"storagePoolType" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"storagePoolType": { +"description": "Name of the storage pool type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"response": { +"$ref": "StoragePoolType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of storage pool types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"storagePools": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePools", +"response": { +"$ref": "StoragePoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "DELETE", +"id": "compute.storagePools.delete", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "Name of the storage pool to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified storage pool. Gets a list of available storage pools by making a list() request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "GET", +"id": "compute.storagePools.get", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"storagePool": { +"description": "Name of the storage pool to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "StoragePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.storagePools.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a storage pool in the specified project using the data in the request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "POST", +"id": "compute.storagePools.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of storage pools contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"response": { +"$ref": "StoragePoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listDisks": { +"description": "Lists the disks in a specified storage pool.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"httpMethod": "GET", +"id": "compute.storagePools.listDisks", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"storagePool": { +"description": "Name of the storage pool to list disks of.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"response": { +"$ref": "StoragePoolListDisks" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.storagePools.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.storagePools.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "PATCH", +"id": "compute.storagePools.update", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "The storagePool name for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"subnetworks": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/subnetworks", +"response": { +"$ref": "SubnetworkAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "DELETE", +"id": "compute.subnetworks.delete", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"expandIpCidrRange": { +"description": "Expands the IP CIDR range of the subnetwork to a specified value.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"httpMethod": "POST", +"id": "compute.subnetworks.expandIpCidrRange", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"request": { +"$ref": "SubnetworksExpandIpCidrRangeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "GET", +"id": "compute.subnetworks.get", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Subnetwork" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.subnetworks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a subnetwork in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "POST", +"id": "compute.subnetworks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of subnetworks available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"response": { +"$ref": "SubnetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves an aggregated list of all usable subnetworks in the project.", +"flatPath": "projects/{project}/aggregated/subnetworks/listUsable", +"httpMethod": "GET", +"id": "compute.subnetworks.listUsable", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/aggregated/subnetworks/listUsable", +"response": { +"$ref": "UsableSubnetworksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "PATCH", +"id": "compute.subnetworks.patch", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"drainTimeoutSeconds": { +"description": "The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.subnetworks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setPrivateIpGoogleAccess": { +"description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"httpMethod": "POST", +"id": "compute.subnetworks.setPrivateIpGoogleAccess", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"request": { +"$ref": "SubnetworksSetPrivateIpGoogleAccessRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.subnetworks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetGrpcProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetGrpcProxy in the given scope", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "DELETE", +"id": "compute.targetGrpcProxies.delete", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetGrpcProxy resource in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.get", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "TargetGrpcProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "POST", +"id": "compute.targetGrpcProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the TargetGrpcProxies for a project in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"response": { +"$ref": "TargetGrpcProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "PATCH", +"id": "compute.targetGrpcProxies.patch", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetHttpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpProxies.delete", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.get", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpProxies.patch", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetHttpsProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpsProxies.delete", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.get", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpsProxies.patch", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"request": { +"$ref": "TargetHttpsProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setQuicOverride": { +"description": "Sets the QUIC override policy for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setQuicOverride", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"request": { +"$ref": "TargetHttpsProxiesSetQuicOverrideRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "TargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetInstances": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetInstances", +"response": { +"$ref": "TargetInstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "DELETE", +"id": "compute.targetInstances.delete", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "GET", +"id": "compute.targetInstances.get", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "TargetInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "POST", +"id": "compute.targetInstances.insert", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"request": { +"$ref": "TargetInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"response": { +"$ref": "TargetInstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetInstances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetPools": { +"methods": { +"addHealthCheck": { +"description": "Adds health check URLs to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.addHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to add a health check to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"request": { +"$ref": "TargetPoolsAddHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addInstance": { +"description": "Adds an instance to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"httpMethod": "POST", +"id": "compute.targetPools.addInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to add instances to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"request": { +"$ref": "TargetPoolsAddInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetPools", +"response": { +"$ref": "TargetPoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "DELETE", +"id": "compute.targetPools.delete", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "GET", +"id": "compute.targetPools.get", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "TargetPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"httpMethod": "POST", +"id": "compute.targetPools.getHealth", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"request": { +"$ref": "InstanceReference" +}, +"response": { +"$ref": "TargetPoolInstanceHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target pool in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "POST", +"id": "compute.targetPools.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"request": { +"$ref": "TargetPool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target pools available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"response": { +"$ref": "TargetPoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeHealthCheck": { +"description": "Removes health check URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.removeHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to remove health checks from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"request": { +"$ref": "TargetPoolsRemoveHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeInstance": { +"description": "Removes instance URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"httpMethod": "POST", +"id": "compute.targetPools.removeInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to remove instances from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"request": { +"$ref": "TargetPoolsRemoveInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setBackup": { +"description": "Changes a backup target pool's configurations.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"httpMethod": "POST", +"id": "compute.targetPools.setBackup", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"failoverRatio": { +"description": "New failoverRatio value for the target pool.", +"format": "float", +"location": "query", +"type": "number" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to set a backup pool for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetPools.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetSslProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "DELETE", +"id": "compute.targetSslProxies.delete", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "GET", +"id": "compute.targetSslProxies.get", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "TargetSslProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "POST", +"id": "compute.targetSslProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"request": { +"$ref": "TargetSslProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetSslProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "GET", +"id": "compute.targetSslProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"response": { +"$ref": "TargetSslProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setBackendService", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"request": { +"$ref": "TargetSslProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"request": { +"$ref": "TargetSslProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"request": { +"$ref": "TargetSslProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Changes SslCertificates for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"request": { +"$ref": "TargetSslProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetTcpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetTcpProxies.delete", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.get", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setBackendService", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"request": { +"$ref": "TargetTcpProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"request": { +"$ref": "TargetTcpProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"targetVpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.targetVpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.get", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "TargetVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"request": { +"$ref": "TargetVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"urlMaps": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/urlMaps", +"response": { +"$ref": "UrlMapsAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.urlMaps.delete", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.urlMaps.get", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "POST", +"id": "compute.urlMaps.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"invalidateCache": { +"description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"httpMethod": "POST", +"id": "compute.urlMaps.invalidateCache", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"request": { +"$ref": "CacheInvalidationRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.urlMaps.patch", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.urlMaps.update", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.urlMaps.validate", +"parameterOrder": [ +"project", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/validate", +"request": { +"$ref": "UrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"vpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnGateways", +"response": { +"$ref": "VpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "DELETE", +"id": "compute.vpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "GET", +"id": "compute.vpnGateways.get", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "VpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getStatus": { +"description": "Returns the status for the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"httpMethod": "GET", +"id": "compute.vpnGateways.getStatus", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"response": { +"$ref": "VpnGatewaysGetStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "POST", +"id": "compute.vpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"request": { +"$ref": "VpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"response": { +"$ref": "VpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.vpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"vpnTunnels": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.aggregatedList", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnTunnels", +"response": { +"$ref": "VpnTunnelAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "DELETE", +"id": "compute.vpnTunnels.delete", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "GET", +"id": "compute.vpnTunnels.get", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "VpnTunnel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"request": { +"$ref": "VpnTunnel" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"response": { +"$ref": "VpnTunnelList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"zoneOperations": { +"methods": { +"delete": { +"description": "Deletes the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.zoneOperations.delete", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.zoneOperations.get", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/operations", +"httpMethod": "GET", +"id": "compute.zoneOperations.list", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.zoneOperations.wait", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"zones": { +"methods": { +"get": { +"description": "Returns the specified Zone resource.", +"flatPath": "projects/{project}/zones/{zone}", +"httpMethod": "GET", +"id": "compute.zones.get", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}", +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of Zone resources available to the specified project.", +"flatPath": "projects/{project}/zones", +"httpMethod": "GET", +"id": "compute.zones.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://compute.googleapis.com/", +"schemas": { +"AWSV4Signature": { +"description": "Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.", +"id": "AWSV4Signature", +"properties": { +"accessKey": { +"description": "The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly", +"type": "string" +}, +"accessKeyId": { +"description": "The identifier of an access key used for s3 bucket authentication.", +"type": "string" +}, +"accessKeyVersion": { +"description": "The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.", +"type": "string" +}, +"originRegion": { +"description": "The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, \"us-east-1\" for AWS or \"us-ashburn-1\" for OCI.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorType": { +"description": "Represents an Accelerator Type resource. Google Cloud Platform provides graphics processing units (accelerators) that you can add to VM instances to improve or accelerate performance when working with intensive workloads. For more information, read GPUs on Compute Engine.", +"id": "AcceleratorType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this accelerator type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#acceleratorType", +"description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.", +"type": "string" +}, +"maximumCardsPerInstance": { +"description": "[Output Only] Maximum number of accelerator cards allowed per instance.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined, fully qualified URL for this resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorTypeAggregatedList": { +"id": "AcceleratorTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AcceleratorTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of accelerator types." +}, +"description": "A list of AcceleratorTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#acceleratorTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AcceleratorTypeList": { +"description": "Contains a list of accelerator types.", +"id": "AcceleratorTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of AcceleratorType resources.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"kind": { +"default": "compute#acceleratorTypeList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AcceleratorTypesScopedList": { +"id": "AcceleratorTypesScopedList", +"properties": { +"acceleratorTypes": { +"description": "[Output Only] A list of accelerator types contained in this scope.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the accelerator types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#accessConfig", +"description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.", +"type": "string" +}, +"name": { +"description": "The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.", +"type": "string" +}, +"natIP": { +"description": "Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"publicPtrDomainName": { +"description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be created for first IP in associated external IPv6 range.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the security policy associated with this access config.", +"type": "string" +}, +"setPublicPtr": { +"description": "Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.", +"type": "boolean" +}, +"type": { +"description": "The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"DIRECT_IPV6", +"ONE_TO_ONE_NAT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Address": { +"description": "Represents an IP Address resource. Google Compute Engine has two IP Address resources: * [Global (external and internal)](https://cloud.google.com/compute/docs/reference/rest/v1/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/v1/addresses) For more information, see Reserving a static external IP address.", +"id": "Address", +"properties": { +"address": { +"description": "The static IP address represented by this resource.", +"type": "string" +}, +"addressType": { +"description": "The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.", +"enum": [ +"EXTERNAL", +"INTERNAL", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"A publicly visible external IP address.", +"A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipVersion": { +"description": "The IP version that will be used by this address. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"ipv6EndpointType": { +"description": "The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.", +"enum": [ +"NETLB", +"VM" +], +"enumDescriptions": [ +"Reserved IPv6 address can be used on network load balancer.", +"Reserved IPv6 address can be used on VM." +], +"type": "string" +}, +"kind": { +"default": "compute#address", +"description": "[Output Only] Type of the resource. Always compute#address for addresses.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.addresses.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"prefixLength": { +"description": "The prefix length if the resource represents an IP range.", +"format": "int32", +"type": "integer" +}, +"purpose": { +"description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"IP range for peer networks." +], +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where a regional address resides. For regional addresses, you must specify the region as a path parameter in the HTTP request URL. *This field is not applicable to global addresses.*", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available.", +"enum": [ +"IN_USE", +"RESERVED", +"RESERVING" +], +"enumDescriptions": [ +"Address is being used by another resource and is not available.", +"Address is reserved and available to use.", +"Address is being reserved." +], +"type": "string" +}, +"subnetwork": { +"description": "The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.", +"type": "string" +}, +"users": { +"description": "[Output Only] The URLs of the resources that are using this address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AddressAggregatedList": { +"id": "AddressAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AddressesScopedList", +"description": "[Output Only] Name of the scope containing this set of addresses." +}, +"description": "A list of AddressesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#addressAggregatedList", +"description": "[Output Only] Type of resource. Always compute#addressAggregatedList for aggregated lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AddressList": { +"description": "Contains a list of addresses.", +"id": "AddressList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Address resources.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"kind": { +"default": "compute#addressList", +"description": "[Output Only] Type of resource. Always compute#addressList for lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AddressesScopedList": { +"id": "AddressesScopedList", +"properties": { +"addresses": { +"description": "[Output Only] A list of addresses contained in this scope.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"performanceMonitoringUnit": { +"description": "Type of Performance Monitoring Unit requested on instance.", +"enum": [ +"ARCHITECTURAL", +"ENHANCED", +"PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", +"STANDARD" +], +"enumDescriptions": [ +"Architecturally defined non-LLC events.", +"Most documented core/L2 and LLC events.", +"", +"Most documented core/L2 events." +], +"type": "string" +}, +"threadsPerCore": { +"description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int32", +"type": "integer" +}, +"turboMode": { +"description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", +"type": "string" +}, +"visibleCoreCount": { +"description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "The IP alias ranges to allocate for this interface. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string (such as 10.1.2.0/24).", +"type": "string" +}, +"subnetworkRangeName": { +"description": "The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservation": { +"description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", +"id": "AllocationAggregateReservation", +"properties": { +"inUseResources": { +"description": "[Output only] List of resources currently in use.", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"reservedResources": { +"description": "List of reserved resources (CPUs, memory, accelerators).", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"vmFamily": { +"description": "The VM family that all instances scheduled against this reservation must belong to.", +"enum": [ +"VM_FAMILY_CLOUD_TPU_DEVICE_CT3", +"VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", +"VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"workloadType": { +"description": "The workload type of the instances that will target this reservation.", +"enum": [ +"BATCH", +"SERVING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Reserved resources will be optimized for BATCH workloads, such as ML training.", +"Reserved resources will be optimized for SERVING workloads, such as ML inference.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfo": { +"id": "AllocationAggregateReservationReservedResourceInfo", +"properties": { +"accelerator": { +"$ref": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"description": "Properties of accelerator resources in this reservation." +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfoAccelerator": { +"id": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"properties": { +"acceleratorCount": { +"description": "Number of accelerators of specified type.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL to accelerator type. e.g. \"projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l\"", +"type": "string" +} +}, +"type": "object" +}, +"AllocationResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "AllocationResourceStatus", +"properties": { +"specificSkuAllocation": { +"$ref": "AllocationResourceStatusSpecificSKUAllocation", +"description": "Allocation Properties of this reservation." +} +}, +"type": "object" +}, +"AllocationResourceStatusSpecificSKUAllocation": { +"description": "Contains Properties set for the reservation.", +"id": "AllocationResourceStatusSpecificSKUAllocation", +"properties": { +"sourceInstanceTemplateId": { +"description": "ID of the instance template used to populate reservation properties.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { +"id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", +"properties": { +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationReservedInstanceProperties": { +"description": "Properties of the SKU instances being reserved. Next ID: 9", +"id": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"properties": { +"guestAccelerators": { +"description": "Specifies accelerator type and count.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"localSsds": { +"description": "Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.", +"items": { +"$ref": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"machineType": { +"description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", +"type": "string" +}, +"minCpuPlatform": { +"description": "Minimum cpu platform the reservation.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUReservation": { +"description": "This reservation type allows to pre allocate specific instance configuration.", +"id": "AllocationSpecificSKUReservation", +"properties": { +"assuredCount": { +"description": "[Output Only] Indicates how many instances are actually usable currently.", +"format": "int64", +"type": "string" +}, +"count": { +"description": "Specifies the number of resources that are allocated.", +"format": "int64", +"type": "string" +}, +"inUseCount": { +"description": "[Output Only] Indicates how many instances are in use.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"description": "The instance properties for the reservation." +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"type": "string" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method." +}, +"diskSizeGb": { +"description": "The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"forceAttach": { +"description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", +"format": "int32", +"type": "integer" +}, +"initializeParams": { +"$ref": "AttachedDiskInitializeParams", +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#attachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"savedState": { +"description": "For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"*[Default]* Disk state has not been preserved.", +"Disk state has been preserved." +], +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "[Output Only] shielded vm initial state stored on disk" +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.", +"type": "string" +}, +"type": { +"description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AttachedDiskInitializeParams": { +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", +"id": "AttachedDiskInitializeParams", +"properties": { +"architecture": { +"description": "The architecture of the attached disk. Valid values are arm64 or x86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"description": { +"description": "An optional description. Provide this property when creating the disk.", +"type": "string" +}, +"diskName": { +"description": "Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created.", +"type": "string" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard.", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", +"type": "object" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"onUpdateAction": { +"description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", +"enum": [ +"RECREATE_DISK", +"RECREATE_DISK_IF_SOURCE_CHANGED", +"USE_EXISTING_DISK" +], +"enumDescriptions": [ +"Always recreate the disk.", +"Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.", +"Use the existing disk, this is the default behaviour." +], +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must greater than or equal to 1.", +"format": "int64", +"type": "string" +}, +"replicaZones": { +"description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceImage": { +"description": "The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." +}, +"sourceSnapshot": { +"description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot." +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"ADMIN_READ", +"DATA_READ", +"DATA_WRITE", +"LOG_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Admin reads. Example: CloudIAM getIamPolicy", +"Data reads. Example: CloudSQL Users list", +"Data writes. Example: CloudSQL Users create", +"Default case. Should never be this." +], +"type": "string" +} +}, +"type": "object" +}, +"Autoscaler": { +"description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/v1/autoscalers) * [Regional](/compute/docs/reference/rest/v1/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.", +"id": "Autoscaler", +"properties": { +"autoscalingPolicy": { +"$ref": "AutoscalingPolicy", +"description": "The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#autoscaler", +"description": "[Output Only] Type of the resource. Always compute#autoscaler for autoscalers.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.autoscalers.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"recommendedSize": { +"description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope).", +"type": "string" +}, +"scalingScheduleStatus": { +"additionalProperties": { +"$ref": "ScalingScheduleStatus" +}, +"description": "[Output Only] Status information of existing scaling schedules.", +"type": "object" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", +"enum": [ +"ACTIVE", +"DELETING", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Configuration is acknowledged to be effective", +"Configuration is being deleted", +"Configuration has errors. Actionable for users.", +"Autoscaler backend hasn't read new/updated configuration" +], +"type": "string" +}, +"statusDetails": { +"description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.", +"items": { +"$ref": "AutoscalerStatusDetails" +}, +"type": "array" +}, +"target": { +"description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope).", +"type": "string" +} +}, +"type": "object" +}, +"AutoscalerAggregatedList": { +"id": "AutoscalerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AutoscalersScopedList", +"description": "[Output Only] Name of the scope containing this set of autoscalers." +}, +"description": "A list of AutoscalersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#autoscalerAggregatedList", +"description": "[Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalerList": { +"description": "Contains a list of Autoscaler resources.", +"id": "AutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#autoscalerList", +"description": "[Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalerStatusDetails": { +"id": "AutoscalerStatusDetails", +"properties": { +"message": { +"description": "The status message.", +"type": "string" +}, +"type": { +"description": "The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", +"enum": [ +"ALL_INSTANCES_UNHEALTHY", +"BACKEND_SERVICE_DOES_NOT_EXIST", +"CAPPED_AT_MAX_NUM_REPLICAS", +"CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE", +"CUSTOM_METRIC_INVALID", +"MIN_EQUALS_MAX", +"MISSING_CUSTOM_METRIC_DATA_POINTS", +"MISSING_LOAD_BALANCING_DATA_POINTS", +"MODE_OFF", +"MODE_ONLY_SCALE_OUT", +"MODE_ONLY_UP", +"MORE_THAN_ONE_BACKEND_SERVICE", +"NOT_ENOUGH_QUOTA_AVAILABLE", +"REGION_RESOURCE_STOCKOUT", +"SCALING_TARGET_DOES_NOT_EXIST", +"SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX", +"SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN", +"UNKNOWN", +"UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION", +"ZONE_RESOURCE_STOCKOUT" +], +"enumDescriptions": [ +"All instances in the instance group are unhealthy (not in RUNNING state).", +"There is no backend service attached to the instance group.", +"Autoscaler recommends a size greater than maxNumReplicas.", +"The custom metric samples are not exported often enough to be a credible base for autoscaling.", +"The custom metric that was specified does not exist or does not have the necessary labels.", +"The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.", +"The autoscaler did not receive any data from the custom metric configured for autoscaling.", +"The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.", +"Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved.", +"Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.", +"Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.", +"The instance group cannot be autoscaled because it has more than one backend service attached to it.", +"There is insufficient quota for the necessary resources, such as CPU or number of instances.", +"Showed only for regional autoscalers: there is a resource stockout in the chosen region.", +"The target to be scaled does not exist.", +"For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.", +"For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.", +"", +"Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate.", +"For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalersScopedList": { +"id": "AutoscalersScopedList", +"properties": { +"autoscalers": { +"description": "[Output Only] A list of autoscalers contained in this scope.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of autoscalers when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"AutoscalingPolicy": { +"description": "Cloud Autoscaler policy.", +"id": "AutoscalingPolicy", +"properties": { +"coolDownPeriodSec": { +"description": "The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.", +"format": "int32", +"type": "integer" +}, +"cpuUtilization": { +"$ref": "AutoscalingPolicyCpuUtilization", +"description": "Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group." +}, +"customMetricUtilizations": { +"description": "Configuration parameters of autoscaling based on a custom metric.", +"items": { +"$ref": "AutoscalingPolicyCustomMetricUtilization" +}, +"type": "array" +}, +"loadBalancingUtilization": { +"$ref": "AutoscalingPolicyLoadBalancingUtilization", +"description": "Configuration parameters of autoscaling based on load balancer." +}, +"maxNumReplicas": { +"description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", +"format": "int32", +"type": "integer" +}, +"minNumReplicas": { +"description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"", +"enum": [ +"OFF", +"ON", +"ONLY_SCALE_OUT", +"ONLY_UP" +], +"enumDescriptions": [ +"Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.", +"Automatically scale the MIG in and out according to the policy.", +"Automatically create VMs according to the policy, but do not scale the MIG in.", +"Automatically create VMs according to the policy, but do not scale the MIG in." +], +"type": "string" +}, +"scaleInControl": { +"$ref": "AutoscalingPolicyScaleInControl" +}, +"scalingSchedules": { +"additionalProperties": { +"$ref": "AutoscalingPolicyScalingSchedule" +}, +"description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.", +"type": "object" +} +}, +"type": "object" +}, +"AutoscalingPolicyCpuUtilization": { +"description": "CPU utilization policy.", +"id": "AutoscalingPolicyCpuUtilization", +"properties": { +"predictiveMethod": { +"description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", +"enum": [ +"NONE", +"OPTIMIZE_AVAILABILITY" +], +"enumDescriptions": [ +"No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics", +"Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand." +], +"type": "string" +}, +"utilizationTarget": { +"description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyCustomMetricUtilization": { +"description": "Custom utilization metric policy.", +"id": "AutoscalingPolicyCustomMetricUtilization", +"properties": { +"filter": { +"description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. For the filter to be valid for autoscaling purposes, the following rules apply: - You can only use the AND operator for joining selectors. - You can only use direct equality comparison operator (=) without any functions for each selector. - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a *per-group metric* for the purpose of autoscaling. If not specified, the type defaults to gce_instance. Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value.", +"type": "string" +}, +"metric": { +"description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. The metric must have a value type of INT64 or DOUBLE.", +"type": "string" +}, +"singleInstanceAssignment": { +"description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", +"format": "double", +"type": "number" +}, +"utilizationTarget": { +"description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", +"format": "double", +"type": "number" +}, +"utilizationTargetType": { +"description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.", +"enum": [ +"DELTA_PER_MINUTE", +"DELTA_PER_SECOND", +"GAUGE" +], +"enumDescriptions": [ +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.", +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.", +"Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingPolicyLoadBalancingUtilization": { +"description": "Configuration parameters of autoscaling based on load balancing.", +"id": "AutoscalingPolicyLoadBalancingUtilization", +"properties": { +"utilizationTarget": { +"description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyScaleInControl": { +"description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", +"id": "AutoscalingPolicyScaleInControl", +"properties": { +"maxScaledInReplicas": { +"$ref": "FixedOrPercent", +"description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." +}, +"timeWindowSec": { +"description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingPolicyScalingSchedule": { +"description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", +"id": "AutoscalingPolicyScalingSchedule", +"properties": { +"description": { +"description": "A description of a scaling schedule.", +"type": "string" +}, +"disabled": { +"description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default.", +"type": "boolean" +}, +"durationSec": { +"description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required.", +"format": "int32", +"type": "integer" +}, +"minRequiredReplicas": { +"description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required.", +"format": "int32", +"type": "integer" +}, +"schedule": { +"description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving.", +"type": "string" +}, +"timeZone": { +"description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty.", +"type": "string" +} +}, +"type": "object" +}, +"Backend": { +"description": "Message containing information of one individual backend.", +"id": "Backend", +"properties": { +"balancingMode": { +"description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", +"enum": [ +"CONNECTION", +"RATE", +"UTILIZATION" +], +"enumDescriptions": [ +"Balance based on the number of simultaneous connections.", +"Balance based on requests per second (RPS).", +"Balance based on the backend utilization." +], +"type": "string" +}, +"capacityScaler": { +"description": "A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.", +"format": "float", +"type": "number" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failover": { +"description": "This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.", +"type": "boolean" +}, +"group": { +"description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", +"type": "string" +}, +"maxConnections": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerEndpoint": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerInstance": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxRate": { +"description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "int32", +"type": "integer" +}, +"maxRatePerEndpoint": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxRatePerInstance": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxUtilization": { +"description": "Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", +"format": "float", +"type": "number" +}, +"preference": { +"description": "This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default ", +"enum": [ +"DEFAULT", +"PREFERENCE_UNSPECIFIED", +"PREFERRED" +], +"enumDescriptions": [ +"No preference.", +"If preference is unspecified, we set it to the DEFAULT value", +"Traffic will be sent to this backend first." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendBucket": { +"description": "Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", +"id": "BackendBucket", +"properties": { +"bucketName": { +"description": "Cloud Storage bucket name.", +"type": "string" +}, +"cdnPolicy": { +"$ref": "BackendBucketCdnPolicy", +"description": "Cloud CDN configuration for this BackendBucket." +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customResponseHeaders": { +"description": "Headers that the Application Load Balancer should add to proxied responses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend bucket.", +"type": "string" +}, +"enableCdn": { +"description": "If true, enable Cloud CDN for this BackendBucket.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#backendBucket", +"description": "Type of the resource.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"usedBy": { +"description": "[Output Only] List of resources referencing that backend bucket.", +"items": { +"$ref": "BackendBucketUsedBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend bucket.", +"id": "BackendBucketCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendBucketCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "BackendBucketCdnPolicyCacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendBucketCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendBucketCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyCacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "BackendBucketCdnPolicyCacheKeyPolicy", +"properties": { +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. Default parameters are always included. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendBucketCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendBucketList": { +"description": "Contains a list of BackendBucket resources.", +"id": "BackendBucketList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendBucket resources.", +"items": { +"$ref": "BackendBucket" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendBucketList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendBucketUsedBy": { +"id": "BackendBucketUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.", +"type": "string" +} +}, +"type": "object" +}, +"BackendService": { +"description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For more information, see Backend Services.", +"id": "BackendService", +"properties": { +"affinityCookieTtlSec": { +"description": "Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"backends": { +"description": "The list of backends that serve this BackendService.", +"items": { +"$ref": "Backend" +}, +"type": "array" +}, +"cdnPolicy": { +"$ref": "BackendServiceCdnPolicy", +"description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." +}, +"circuitBreakers": { +"$ref": "CircuitBreakers" +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"connectionDraining": { +"$ref": "ConnectionDraining" +}, +"connectionTrackingPolicy": { +"$ref": "BackendServiceConnectionTrackingPolicy", +"description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers." +}, +"consistentHash": { +"$ref": "ConsistentHashLoadBalancerSettings", +"description": "Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. " +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customRequestHeaders": { +"description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"customResponseHeaders": { +"description": "Headers that the load balancer adds to proxied responses. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend service.", +"type": "string" +}, +"enableCDN": { +"description": "If true, enables Cloud CDN for the backend service of a global external Application Load Balancer.", +"type": "boolean" +}, +"failoverPolicy": { +"$ref": "BackendServiceFailoverPolicy", +"description": "Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)." +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a BackendService.", +"format": "byte", +"type": "string" +}, +"healthChecks": { +"description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check.", +"items": { +"type": "string" +}, +"type": "array" +}, +"iap": { +"$ref": "BackendServiceIAP", +"description": "The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipAddressSelectionPolicy": { +"description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", +"enum": [ +"IPV4_ONLY", +"IPV6_ONLY", +"IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", +"PREFER_IPV6" +], +"enumDescriptions": [ +"Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", +"Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", +"Unspecified IP address selection policy.", +"Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." +], +"type": "string" +}, +"kind": { +"default": "compute#backendService", +"description": "[Output Only] Type of resource. Always compute#backendService for backend services.", +"type": "string" +}, +"loadBalancingScheme": { +"description": "Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID_LOAD_BALANCING_SCHEME" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", +"Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", +"Signifies that this will be used for internal passthrough Network Load Balancers.", +"Signifies that this will be used for internal Application Load Balancers.", +"Signifies that this will be used by Traffic Director.", +"" +], +"type": "string" +}, +"localityLbPolicies": { +"description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", +"items": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" +}, +"type": "array" +}, +"localityLbPolicy": { +"description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured\u2014that is, if session affinity remains at the default value of NONE\u2014then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." +], +"type": "string" +}, +"logConfig": { +"$ref": "BackendServiceLogConfig", +"description": "This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH", +"type": "object" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", +"type": "string" +}, +"outlierDetection": { +"$ref": "OutlierDetection", +"description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"port": { +"deprecated": true, +"description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.", +"type": "string" +}, +"protocol": { +"description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", +"enum": [ +"GRPC", +"HTTP", +"HTTP2", +"HTTPS", +"SSL", +"TCP", +"UDP", +"UNSPECIFIED" +], +"enumDescriptions": [ +"gRPC (available for Traffic Director).", +"", +"HTTP/2 with SSL.", +"", +"TCP proxying with SSL.", +"TCP proxying or TCP pass-through.", +"UDP.", +"If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3/L4 Forwarding Rules." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this backend service.", +"type": "string" +}, +"securitySettings": { +"$ref": "SecuritySettings", +"description": "This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serviceBindings": { +"description": "URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceLbPolicy": { +"description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", +"type": "string" +}, +"sessionAffinity": { +"description": "Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +}, +"strongSessionAffinityCookie": { +"$ref": "BackendServiceHttpCookie", +"description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." +}, +"subsetting": { +"$ref": "Subsetting" +}, +"timeoutSec": { +"description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.", +"format": "int32", +"type": "integer" +}, +"usedBy": { +"description": "[Output Only] List of resources referencing given backend service.", +"items": { +"$ref": "BackendServiceUsedBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceAggregatedList": { +"description": "Contains a list of BackendServicesScopedList.", +"id": "BackendServiceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "BackendServicesScopedList", +"description": "Name of the scope containing this set of BackendServices." +}, +"description": "A list of BackendServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#backendServiceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend service.", +"id": "BackendServiceCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendServiceCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "CacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendServiceCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendServiceCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendServiceCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendServiceConnectionTrackingPolicy": { +"description": "Connection Tracking configuration for this BackendService.", +"id": "BackendServiceConnectionTrackingPolicy", +"properties": { +"connectionPersistenceOnUnhealthyBackends": { +"description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).", +"enum": [ +"ALWAYS_PERSIST", +"DEFAULT_FOR_PROTOCOL", +"NEVER_PERSIST" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"enableStrongAffinity": { +"description": "Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly.", +"type": "boolean" +}, +"idleTimeoutSec": { +"description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly.", +"format": "int32", +"type": "integer" +}, +"trackingMode": { +"description": "Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).", +"enum": [ +"INVALID_TRACKING_MODE", +"PER_CONNECTION", +"PER_SESSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceFailoverPolicy": { +"description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", +"id": "BackendServiceFailoverPolicy", +"properties": { +"disableConnectionDrainOnFailover": { +"description": "This can be set to true only if the protocol is TCP. The default is false.", +"type": "boolean" +}, +"dropTrafficIfUnhealthy": { +"description": "If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.", +"type": "boolean" +}, +"failoverRatio": { +"description": "The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceGroupHealth": { +"id": "BackendServiceGroupHealth", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"healthStatus": { +"description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceGroupHealth", +"description": "[Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceHttpCookie": { +"description": "The HTTP cookie used for stateful session affinity.", +"id": "BackendServiceHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"BackendServiceIAP": { +"description": "Identity-Aware Proxy", +"id": "BackendServiceIAP", +"properties": { +"enabled": { +"description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.", +"type": "boolean" +}, +"oauth2ClientId": { +"description": "OAuth2 client ID to use for the authentication flow.", +"type": "string" +}, +"oauth2ClientSecret": { +"description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly", +"type": "string" +}, +"oauth2ClientSecretSha256": { +"description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceList": { +"description": "Contains a list of BackendService resources.", +"id": "BackendServiceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceList", +"description": "[Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceListUsable": { +"description": "Contains a list of usable BackendService resources.", +"id": "BackendServiceListUsable", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableBackendServiceList", +"description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfig": { +"description": "Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfig", +"properties": { +"customPolicy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy" +}, +"policy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy": { +"description": "The configuration for a custom policy implemented by the user and deployed with the client.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy", +"properties": { +"data": { +"description": "An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.", +"type": "string" +}, +"name": { +"description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigPolicy": { +"description": "The configuration for a built-in load balancing policy.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", +"properties": { +"name": { +"description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLogConfig": { +"description": "The available logging options for the load balancer traffic served by this backend service.", +"id": "BackendServiceLogConfig", +"properties": { +"enable": { +"description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", +"type": "boolean" +}, +"optionalFields": { +"description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", +"items": { +"type": "string" +}, +"type": "array" +}, +"optionalMode": { +"description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", +"enum": [ +"CUSTOM", +"EXCLUDE_ALL_OPTIONAL", +"INCLUDE_ALL_OPTIONAL" +], +"enumDescriptions": [ +"A subset of optional fields.", +"None optional fields.", +"All optional fields." +], +"type": "string" +}, +"sampleRate": { +"description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceReference": { +"id": "BackendServiceReference", +"properties": { +"backendService": { +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceUsedBy": { +"id": "BackendServiceUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServicesScopedList": { +"id": "BackendServicesScopedList", +"properties": { +"backendServices": { +"description": "A list of BackendServices contained in this scope.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BfdPacket": { +"id": "BfdPacket", +"properties": { +"authenticationPresent": { +"description": "The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"controlPlaneIndependent": { +"description": "The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"demand": { +"description": "The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"diagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"final": { +"description": "The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"length": { +"description": "The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minEchoRxIntervalMs": { +"description": "The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minRxIntervalMs": { +"description": "The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minTxIntervalMs": { +"description": "The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multiplier": { +"description": "The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multipoint": { +"description": "The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"myDiscriminator": { +"description": "The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"poll": { +"description": "The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"state": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"version": { +"description": "The version number of the BFD protocol, as specified in section 4.1 of RFC5880.", +"format": "uint32", +"type": "integer" +}, +"yourDiscriminator": { +"description": "The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"BfdStatus": { +"description": "Next free: 15", +"id": "BfdStatus", +"properties": { +"bfdSessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"configUpdateTimestampMicros": { +"description": "Unix timestamp of the most recent config update.", +"format": "int64", +"type": "string" +}, +"controlPacketCounts": { +"$ref": "BfdStatusPacketCounts", +"description": "Control packet counts for the current BFD session." +}, +"controlPacketIntervals": { +"description": "Inter-packet time interval statistics for control packets.", +"items": { +"$ref": "PacketIntervals" +}, +"type": "array" +}, +"localDiagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"localState": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"negotiatedLocalControlTxIntervalMs": { +"description": "Negotiated transmit interval for control packets.", +"format": "uint32", +"type": "integer" +}, +"rxPacket": { +"$ref": "BfdPacket", +"description": "The most recent Rx control packet for this BFD session." +}, +"txPacket": { +"$ref": "BfdPacket", +"description": "The most recent Tx control packet for this BFD session." +}, +"uptimeMs": { +"description": "Session uptime in milliseconds. Value will be 0 if session is not up.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"BfdStatusPacketCounts": { +"id": "BfdStatusPacketCounts", +"properties": { +"numRx": { +"description": "Number of packets received since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxRejected": { +"description": "Number of packets received that were rejected because of errors since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxSuccessful": { +"description": "Number of packets received that were successfully processed since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numTx": { +"description": "Number of packets transmitted since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BulkInsertDiskResource": { +"description": "A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.", +"id": "BulkInsertDiskResource", +"properties": { +"sourceConsistencyGroupPolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResource": { +"description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", +"id": "BulkInsertInstanceResource", +"properties": { +"count": { +"description": "The maximum number of instances to create.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." +}, +"locationPolicy": { +"$ref": "LocationPolicy", +"description": "Policy for choosing target zone. For more information, see Create VMs in bulk." +}, +"minCount": { +"description": "The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.", +"format": "int64", +"type": "string" +}, +"namePattern": { +"description": "The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters.", +"type": "string" +}, +"perInstanceProperties": { +"additionalProperties": { +"$ref": "BulkInsertInstanceResourcePerInstanceProperties" +}, +"description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used.", +"type": "object" +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional.", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResourcePerInstanceProperties": { +"description": "Per-instance properties to be set on individual instances. To be extended in the future.", +"id": "BulkInsertInstanceResourcePerInstanceProperties", +"properties": { +"hostname": { +"description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention", +"type": "string" +}, +"name": { +"description": "This field is only temporary. It will be removed. Do not use it.", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertOperationStatus": { +"id": "BulkInsertOperationStatus", +"properties": { +"createdVmCount": { +"description": "[Output Only] Count of VMs successfully created so far.", +"format": "int32", +"type": "integer" +}, +"deletedVmCount": { +"description": "[Output Only] Count of VMs that got deleted during rollback.", +"format": "int32", +"type": "integer" +}, +"failedToCreateVmCount": { +"description": "[Output Only] Count of VMs that started creating but encountered an error.", +"format": "int32", +"type": "integer" +}, +"status": { +"description": "[Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.", +"enum": [ +"CREATING", +"DONE", +"ROLLING_BACK", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"Rolling forward - creating VMs.", +"Done", +"Rolling back - cleaning up after an error.", +"" +], +"type": "string" +}, +"targetVmCount": { +"description": "[Output Only] Count of VMs originally planned to be created.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CacheInvalidationRule": { +"id": "CacheInvalidationRule", +"properties": { +"host": { +"description": "If set, this invalidation rule will only apply to requests with a Host header matching host.", +"type": "string" +}, +"path": { +"type": "string" +} +}, +"type": "object" +}, +"CacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "CacheKeyPolicy", +"properties": { +"includeHost": { +"description": "If true, requests to different hosts will be cached separately.", +"type": "boolean" +}, +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeNamedCookies": { +"description": "Allows HTTP cookies (by name) to be used in the cache key. The name=value pair will be used in the cache key Cloud CDN generates.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeProtocol": { +"description": "If true, http and https requests will be cached separately.", +"type": "boolean" +}, +"includeQueryString": { +"description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely.", +"type": "boolean" +}, +"queryStringBlacklist": { +"description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CircuitBreakers": { +"description": "Settings controlling the volume of requests, connections and retries to this backend service.", +"id": "CircuitBreakers", +"properties": { +"maxConnections": { +"description": "The maximum number of connections to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxPendingRequests": { +"description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRequests": { +"description": "The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.", +"format": "int32", +"type": "integer" +}, +"maxRequestsPerConnection": { +"description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRetries": { +"description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Commitment": { +"description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", +"id": "Commitment", +"properties": { +"autoRenew": { +"description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", +"type": "boolean" +}, +"category": { +"description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"LICENSE", +"MACHINE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customEndTimestamp": { +"description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"endTimestamp": { +"description": "[Output Only] Commitment end time in RFC3339 text format.", +"type": "string" +}, +"existingReservations": { +"description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#commitment", +"description": "[Output Only] Type of the resource. Always compute#commitment for commitments.", +"type": "string" +}, +"licenseResource": { +"$ref": "LicenseResourceCommitment", +"description": "The license specification required as part of a license commitment." +}, +"mergeSourceCommitments": { +"description": "List of source commitments to be merged into a new commitment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"plan": { +"description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", +"enum": [ +"INVALID", +"THIRTY_SIX_MONTH", +"TWELVE_MONTH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where this commitment may be used.", +"type": "string" +}, +"reservations": { +"description": "List of create-on-create reservations for this commitment.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "CommitmentResourceStatus", +"description": "[Output Only] Status information for Commitment resource." +}, +"resources": { +"description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", +"items": { +"$ref": "ResourceCommitment" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"splitSourceCommitment": { +"description": "Source commitment to be split into a new commitment.", +"type": "string" +}, +"startTimestamp": { +"description": "[Output Only] Commitment start time in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", +"enum": [ +"ACTIVE", +"CANCELLED", +"CREATING", +"EXPIRED", +"NOT_YET_ACTIVE" +], +"enumDescriptions": [ +"", +"Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.", +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"type": { +"description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", +"enum": [ +"ACCELERATOR_OPTIMIZED", +"ACCELERATOR_OPTIMIZED_A3", +"ACCELERATOR_OPTIMIZED_A3_MEGA", +"COMPUTE_OPTIMIZED", +"COMPUTE_OPTIMIZED_C2D", +"COMPUTE_OPTIMIZED_C3", +"COMPUTE_OPTIMIZED_C3D", +"COMPUTE_OPTIMIZED_H3", +"GENERAL_PURPOSE", +"GENERAL_PURPOSE_C4", +"GENERAL_PURPOSE_C4A", +"GENERAL_PURPOSE_E2", +"GENERAL_PURPOSE_N2", +"GENERAL_PURPOSE_N2D", +"GENERAL_PURPOSE_N4", +"GENERAL_PURPOSE_T2D", +"GRAPHICS_OPTIMIZED", +"MEMORY_OPTIMIZED", +"MEMORY_OPTIMIZED_M3", +"MEMORY_OPTIMIZED_X4_16TB", +"MEMORY_OPTIMIZED_X4_24TB", +"MEMORY_OPTIMIZED_X4_32TB", +"STORAGE_OPTIMIZED_Z3", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"CommitmentAggregatedList": { +"id": "CommitmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "CommitmentsScopedList", +"description": "[Output Only] Name of the scope containing this set of commitments." +}, +"description": "A list of CommitmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#commitmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"CommitmentList": { +"description": "Contains a list of Commitment resources.", +"id": "CommitmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Commitment resources.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"kind": { +"default": "compute#commitmentList", +"description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"CommitmentResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "CommitmentResourceStatus", +"properties": { +"customTermEligibilityEndTimestamp": { +"description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", +"type": "string" +} +}, +"type": "object" +}, +"CommitmentsScopedList": { +"id": "CommitmentsScopedList", +"properties": { +"commitments": { +"description": "[Output Only] A list of commitments contained in this scope.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", +"properties": { +"confidentialInstanceType": { +"description": "Defines the type of technology used by the confidential instance.", +"enum": [ +"CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", +"SEV", +"SEV_SNP", +"TDX" +], +"enumDescriptions": [ +"No type specified. Do not use this value.", +"AMD Secure Encrypted Virtualization.", +"AMD Secure Encrypted Virtualization - Secure Nested Paging.", +"Intel Trust Domain eXtension." +], +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConnectionDraining": { +"description": "Message containing connection draining configuration.", +"id": "ConnectionDraining", +"properties": { +"drainingTimeoutSec": { +"description": "Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettings": { +"description": "This message defines settings for a consistent hash style load balancer.", +"id": "ConsistentHashLoadBalancerSettings", +"properties": { +"httpCookie": { +"$ref": "ConsistentHashLoadBalancerSettingsHttpCookie", +"description": "Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"httpHeaderName": { +"description": "The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD.", +"type": "string" +}, +"minimumRingSize": { +"description": "The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettingsHttpCookie": { +"description": "The information about the HTTP Cookie on which the hash function is based for load balancing policies that use a consistent hash.", +"id": "ConsistentHashLoadBalancerSettingsHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"CorsPolicy": { +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard.", +"id": "CorsPolicy", +"properties": { +"allowCredentials": { +"description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false.", +"type": "boolean" +}, +"allowHeaders": { +"description": "Specifies the content for the Access-Control-Allow-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowMethods": { +"description": "Specifies the content for the Access-Control-Allow-Methods header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOriginRegexes": { +"description": "Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOrigins": { +"description": "Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disabled": { +"description": "If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect.", +"type": "boolean" +}, +"exposeHeaders": { +"description": "Specifies the content for the Access-Control-Expose-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"maxAge": { +"description": "Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CustomErrorResponsePolicy": { +"description": "Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.", +"id": "CustomErrorResponsePolicy", +"properties": { +"errorResponseRules": { +"description": "Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.", +"items": { +"$ref": "CustomErrorResponsePolicyCustomErrorResponseRule" +}, +"type": "array" +}, +"errorService": { +"description": "The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.", +"type": "string" +} +}, +"type": "object" +}, +"CustomErrorResponsePolicyCustomErrorResponseRule": { +"description": "Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.", +"id": "CustomErrorResponsePolicyCustomErrorResponseRule", +"properties": { +"matchResponseCodes": { +"description": "Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"overrideResponseCode": { +"description": "The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.", +"format": "int32", +"type": "integer" +}, +"path": { +"description": "The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKey": { +"id": "CustomerEncryptionKey", +"properties": { +"kmsKeyName": { +"description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 ", +"type": "string" +}, +"kmsKeyServiceAccount": { +"description": "The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: \"kmsKeyServiceAccount\": \"name@project_id.iam.gserviceaccount.com/ ", +"type": "string" +}, +"rawKey": { +"description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" ", +"type": "string" +}, +"rsaEncryptedKey": { +"description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem ", +"type": "string" +}, +"sha256": { +"description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKeyProtectedDisk": { +"id": "CustomerEncryptionKeyProtectedDisk", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with the disk with a customer-supplied encryption key." +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks. For example: \"source\": \"/compute/v1/projects/project_id/zones/zone/disks/ disk_name ", +"type": "string" +} +}, +"type": "object" +}, +"DeprecationStatus": { +"description": "Deprecation status for a public resource.", +"id": "DeprecationStatus", +"properties": { +"deleted": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"deprecated": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"obsolete": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"replacement": { +"description": "The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.", +"type": "string" +}, +"state": { +"description": "The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.", +"enum": [ +"ACTIVE", +"DELETED", +"DEPRECATED", +"OBSOLETE" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Disk": { +"description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/v1/disks) * [Regional](/compute/docs/reference/rest/v1/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.", +"id": "Disk", +"properties": { +"accessMode": { +"description": "The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.", +"enum": [ +"READ_ONLY_MANY", +"READ_WRITE_MANY", +"READ_WRITE_SINGLE" +], +"enumDescriptions": [ +"The AccessMode means the disk can be attached to multiple instances in RO mode.", +"The AccessMode means the disk can be attached to multiple instances in RW mode.", +"The default AccessMode, means the disk can be attached to single instance in RW mode." +], +"type": "string" +}, +"architecture": { +"description": "The architecture of the disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"asyncPrimaryDisk": { +"$ref": "DiskAsyncReplication", +"description": "Disk asynchronously replicated into this disk." +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskAsyncReplicationList" +}, +"description": "[Output Only] A list of disks this disk is asynchronously replicated to.", +"type": "object" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: \"diskEncryptionKey.kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later." +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#disk", +"description": "[Output Only] Type of the resource. Always compute#disk for disks.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastAttachTimestamp": { +"description": "[Output Only] Last attach timestamp in RFC3339 text format.", +"type": "string" +}, +"lastDetachTimestamp": { +"description": "[Output Only] Last detach timestamp in RFC3339 text format.", +"type": "string" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this disk.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"options": { +"description": "Internal use only.", +"type": "string" +}, +"params": { +"$ref": "DiskParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"physicalBlockSizeBytes": { +"description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", +"format": "int64", +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1.", +"format": "int64", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"replicaZones": { +"description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "DiskResourceStatus", +"description": "[Output Only] Status information for the disk resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"sizeGb": { +"description": "Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0.", +"format": "int64", +"type": "string" +}, +"sourceConsistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceConsistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", +"type": "string" +}, +"sourceImage": { +"description": "The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshot": { +"description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.", +"type": "string" +}, +"sourceStorageObject": { +"description": "The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"type": "string" +}, +"type": { +"description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types.", +"type": "string" +}, +"users": { +"description": "[Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAggregatedList": { +"id": "DiskAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DisksScopedList", +"description": "[Output Only] Name of the scope containing this set of disks." +}, +"description": "A list of DisksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskAggregatedList for aggregated lists of persistent disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskAsyncReplication": { +"id": "DiskAsyncReplication", +"properties": { +"consistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"consistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"disk": { +"description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +}, +"diskId": { +"description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAsyncReplicationList": { +"id": "DiskAsyncReplicationList", +"properties": { +"asyncReplicationDisk": { +"$ref": "DiskAsyncReplication" +} +}, +"type": "object" +}, +"DiskInstantiationConfig": { +"description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", +"id": "DiskInstantiationConfig", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"customImage": { +"description": "The custom source image to be used to restore this disk when instantiating this instance template.", +"type": "string" +}, +"deviceName": { +"description": "Specifies the device name of the disk to which the configurations apply to.", +"type": "string" +}, +"instantiateFrom": { +"description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", +"enum": [ +"ATTACH_READ_ONLY", +"BLANK", +"CUSTOM_IMAGE", +"DEFAULT", +"DO_NOT_INCLUDE", +"SOURCE_IMAGE", +"SOURCE_IMAGE_FAMILY" +], +"enumDescriptions": [ +"Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", +"Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", +"Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", +"Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", +"Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", +"Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskList": { +"description": "A list of Disk resources.", +"id": "DiskList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Disk resources.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskList", +"description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskMoveRequest": { +"id": "DiskMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the disk. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetDisk": { +"description": "The URL of the target disk to move. This can be a full or partial URL. For example, the following are all valid URLs to a disk: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DiskParams": { +"description": "Additional disk params.", +"id": "DiskParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"DiskResourceStatus": { +"id": "DiskResourceStatus", +"properties": { +"asyncPrimaryDisk": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"description": "Key: disk, value: AsyncReplicationStatus message", +"type": "object" +} +}, +"type": "object" +}, +"DiskResourceStatusAsyncReplicationStatus": { +"id": "DiskResourceStatusAsyncReplicationStatus", +"properties": { +"state": { +"enum": [ +"ACTIVE", +"CREATED", +"STARTING", +"STATE_UNSPECIFIED", +"STOPPED", +"STOPPING" +], +"enumDescriptions": [ +"Replication is active.", +"Secondary disk is created and is waiting for replication to start.", +"Replication is starting.", +"", +"Replication is stopped.", +"Replication is stopping." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskType": { +"description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/v1/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", +"id": "DiskType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultDiskSizeGb": { +"description": "[Output Only] Server-defined default disk size in GB.", +"format": "int64", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this disk type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#diskType", +"description": "[Output Only] Type of the resource. Always compute#diskType for disk types.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk type resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"validDiskSize": { +"description": "[Output Only] An optional textual description of the valid disk size, such as \"10GB-10TB\".", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskTypeAggregatedList": { +"id": "DiskTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DiskTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of disk types." +}, +"description": "A list of DiskTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskTypeAggregatedList.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskTypeList": { +"description": "Contains a list of disk types.", +"id": "DiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskTypeList", +"description": "[Output Only] Type of resource. Always compute#diskTypeList for disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DiskTypesScopedList": { +"id": "DiskTypesScopedList", +"properties": { +"diskTypes": { +"description": "[Output Only] A list of disk types contained in this scope.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disk types when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DisksAddResourcePoliciesRequest": { +"id": "DisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Full or relative path to the resource policy to be added to this disk. You can only specify one resource policy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksRemoveResourcePoliciesRequest": { +"id": "DisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksResizeRequest": { +"id": "DisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DisksScopedList": { +"id": "DisksScopedList", +"properties": { +"disks": { +"description": "[Output Only] A list of disks contained in this scope.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disks when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"DisksStartAsyncReplicationRequest": { +"id": "DisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DisksStopGroupAsyncReplicationResource": { +"description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", +"id": "DisksStopGroupAsyncReplicationResource", +"properties": { +"resourcePolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", +"properties": { +"enableDisplay": { +"description": "Defines whether the instance has Display enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"DistributionPolicy": { +"id": "DistributionPolicy", +"properties": { +"targetShape": { +"description": "The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED", +"EVEN" +], +"enumDescriptions": [ +"The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.", +"The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.", +"The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads." +], +"type": "string" +}, +"zones": { +"description": "Zones where the regional managed instance group will create and manage its instances.", +"items": { +"$ref": "DistributionPolicyZoneConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"DistributionPolicyZoneConfiguration": { +"id": "DistributionPolicyZoneConfiguration", +"properties": { +"zone": { +"annotations": { +"required": [ +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The URL of the zone. The zone must exist in the region where the managed instance group is located.", +"type": "string" +} +}, +"type": "object" +}, +"Duration": { +"description": "A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", +"id": "Duration", +"properties": { +"nanos": { +"description": "Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ErrorInfo": { +"description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", +"id": "ErrorInfo", +"properties": { +"domain": { +"description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", +"type": "string" +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", +"type": "object" +}, +"reason": { +"description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", +"type": "string" +} +}, +"type": "object" +}, +"ExchangedPeeringRoute": { +"id": "ExchangedPeeringRoute", +"properties": { +"destRange": { +"description": "The destination range of the route.", +"type": "string" +}, +"imported": { +"description": "True if the peering route has been imported from a peer. The actual import happens if the field networkPeering.importCustomRoutes is true for this network, and networkPeering.exportCustomRoutes is true for the peer network, and the import does not result in a route conflict.", +"type": "boolean" +}, +"nextHopRegion": { +"description": "The region of peering route next hop, only applies to dynamic routes.", +"type": "string" +}, +"priority": { +"description": "The priority of the peering route.", +"format": "uint32", +"type": "integer" +}, +"type": { +"description": "The type of the peering route.", +"enum": [ +"DYNAMIC_PEERING_ROUTE", +"STATIC_PEERING_ROUTE", +"SUBNET_PEERING_ROUTE" +], +"enumDescriptions": [ +"For routes exported from local network.", +"The peering route.", +"The peering route corresponding to subnetwork range." +], +"type": "string" +} +}, +"type": "object" +}, +"ExchangedPeeringRoutesList": { +"id": "ExchangedPeeringRoutesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExchangedPeeringRoute resources.", +"items": { +"$ref": "ExchangedPeeringRoute" +}, +"type": "array" +}, +"kind": { +"default": "compute#exchangedPeeringRoutesList", +"description": "[Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for exchanged peering routes lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"ExternalVpnGateway": { +"description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", +"id": "ExternalVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", +"items": { +"$ref": "ExternalVpnGatewayInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGateway", +"description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.externalVpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"redundancyType": { +"description": "Indicates the user-supplied redundancy type of this external VPN gateway.", +"enum": [ +"FOUR_IPS_REDUNDANCY", +"SINGLE_IP_INTERNALLY_REDUNDANT", +"TWO_IPS_REDUNDANCY" +], +"enumDescriptions": [ +"The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", +"The external VPN gateway has only one public IP address which internally provide redundancy or failover.", +"The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayInterface": { +"description": "The interface for the external VPN gateway.", +"id": "ExternalVpnGatewayInterface", +"properties": { +"id": { +"description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", +"format": "uint32", +"type": "integer" +}, +"ipAddress": { +"description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", +"type": "string" +}, +"ipv6Address": { +"description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayList": { +"description": "Response to the list request, and contains a list of externalVpnGateways.", +"id": "ExternalVpnGatewayList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExternalVpnGateway resources.", +"items": { +"$ref": "ExternalVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FileContentBuffer": { +"id": "FileContentBuffer", +"properties": { +"content": { +"description": "The raw content in the secure keys file.", +"format": "byte", +"type": "string" +}, +"fileType": { +"description": "The file type of source file.", +"enum": [ +"BIN", +"UNDEFINED", +"X509" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Firewall": { +"description": "Represents a Firewall Rule resource. Firewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", +"id": "Firewall", +"properties": { +"allowed": { +"description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"denied": { +"description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destinationRanges": { +"description": "If destination ranges are specified, the firewall rule applies only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Indicates that firewall should apply to outgoing traffic.", +"Indicates that firewall should apply to incoming traffic." +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall rule is disabled. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewall", +"description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.", +"type": "string" +}, +"logConfig": { +"$ref": "FirewallLogConfig", +"description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." +}, +"name": { +"annotations": { +"required": [ +"compute.firewalls.insert", +"compute.firewalls.patch" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default ", +"type": "string" +}, +"priority": { +"description": "Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sourceRanges": { +"description": "If source ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both fields are set, the rule applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the rule to apply. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceServiceAccounts": { +"description": "If source service accounts are specified, the firewall rules apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall applies to traffic that has a source IP address within the sourceRanges OR a source IP that belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both fields for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceTags": { +"description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetTags": { +"description": "A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallList": { +"description": "Contains a list of firewalls.", +"id": "FirewallList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Firewall resources.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallList", +"description": "[Output Only] Type of resource. Always compute#firewallList for lists of firewalls.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallLogConfig": { +"description": "The available logging options for a firewall rule.", +"id": "FirewallLogConfig", +"properties": { +"enable": { +"description": "This field denotes whether to enable logging for a particular firewall rule.", +"type": "boolean" +}, +"metadata": { +"description": "This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.", +"enum": [ +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesListAssociationsResponse": { +"id": "FirewallPoliciesListAssociationsResponse", +"properties": { +"associations": { +"description": "A list of associations.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPoliciesListAssociationsResponse", +"description": "[Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesScopedList": { +"id": "FirewallPoliciesScopedList", +"properties": { +"firewallPolicies": { +"description": "A list of firewall policies contained in this scope.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of firewall policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallPolicy": { +"description": "Represents a Firewall Policy resource.", +"id": "FirewallPolicy", +"properties": { +"associations": { +"description": "A list of associations that belong to this firewall policy.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewallPolicy", +"description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", +"type": "string" +}, +"name": { +"description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", +"type": "string" +}, +"parent": { +"description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shortName": { +"description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyAssociation": { +"id": "FirewallPolicyAssociation", +"properties": { +"attachmentTarget": { +"description": "The target that the firewall policy is attached to.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", +"type": "string" +}, +"firewallPolicyId": { +"description": "[Output Only] The firewall policy ID of the association.", +"type": "string" +}, +"name": { +"description": "The name for an association.", +"type": "string" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy of the association.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyList": { +"id": "FirewallPolicyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of FirewallPolicy resources.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPolicyList", +"description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FirewallPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "FirewallPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: \"allow\", \"deny\", \"apply_security_profile_group\" and \"goto_next\". Valid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\" and \"goto_next\".", +"type": "string" +}, +"description": { +"description": "An optional description for this resource.", +"type": "string" +}, +"direction": { +"description": "The direction in which this rule applies.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", +"type": "boolean" +}, +"enableLogging": { +"description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", +"type": "boolean" +}, +"kind": { +"default": "compute#firewallPolicyRule", +"description": "[Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.", +"type": "string" +}, +"match": { +"$ref": "FirewallPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"ruleName": { +"description": "An optional name for the rule. This field is not a unique identifier and can be updated.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", +"format": "int32", +"type": "integer" +}, +"securityProfileGroup": { +"description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.", +"type": "string" +}, +"targetResources": { +"description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSecureTags": { +"description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating the sets of instances that are applied with this rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tlsInspect": { +"description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.", +"type": "boolean" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "FirewallPolicyRuleMatcher", +"properties": { +"destAddressGroups": { +"description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destIpRanges": { +"description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.", +"items": { +"type": "string" +}, +"type": "array" +}, +"layer4Configs": { +"description": "Pairs of IP protocols and ports that the rule should match.", +"items": { +"$ref": "FirewallPolicyRuleMatcherLayer4Config" +}, +"type": "array" +}, +"srcAddressGroups": { +"description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcSecureTags": { +"description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"srcThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcherLayer4Config": { +"id": "FirewallPolicyRuleMatcherLayer4Config", +"properties": { +"ipProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleSecureTag": { +"id": "FirewallPolicyRuleSecureTag", +"properties": { +"name": { +"description": "Name of the secure tag, created with TagManager's TagValue API.", +"pattern": "tagValues/[0-9]+", +"type": "string" +}, +"state": { +"description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", +"enum": [ +"EFFECTIVE", +"INEFFECTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FixedOrPercent": { +"description": "Encapsulates numeric value that can be either absolute or relative.", +"id": "FixedOrPercent", +"properties": { +"calculated": { +"description": "[Output Only] Absolute value of VM instances calculated based on the specific mode. - If the value is fixed, then the calculated value is equal to the fixed value. - If the value is a percent, then the calculated value is percent/100 * targetSize. For example, the calculated value of a 80% of a managed instance group with 150 instances would be (80/100 * 150) = 120 VM instances. If there is a remainder, the number is rounded. ", +"format": "int32", +"type": "integer" +}, +"fixed": { +"description": "Specifies a fixed number of VM instances. This must be a positive integer.", +"format": "int32", +"type": "integer" +}, +"percent": { +"description": "Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ForwardingRule": { +"description": "Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding.", +"id": "ForwardingRule", +"properties": { +"IPAddress": { +"description": "IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number.", +"type": "string" +}, +"IPProtocol": { +"description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).", +"enum": [ +"AH", +"ESP", +"ICMP", +"L3_DEFAULT", +"SCTP", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"allPorts": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. ", +"type": "boolean" +}, +"allowGlobalAccess": { +"description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", +"type": "boolean" +}, +"allowPscGlobalAccess": { +"description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", +"type": "boolean" +}, +"backendService": { +"description": "Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types.", +"type": "string" +}, +"baseForwardingRule": { +"description": "[Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipCollection": { +"description": "Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. Use one of the following formats to specify a sub-PDP when creating an IPv6 NetLB forwarding rule using BYOIP: Full resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region /publicDelegatedPrefixes/sub-pdp-name Partial URL, as in: - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", +"type": "string" +}, +"ipVersion": { +"description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"isMirroringCollector": { +"description": "Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL.", +"type": "boolean" +}, +"kind": { +"default": "compute#forwardingRule", +"description": "[Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"loadBalancingScheme": { +"description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"noAutomateDnsZone": { +"description": "This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable.", +"type": "boolean" +}, +"portRange": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)?", +"type": "string" +}, +"ports": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)?", +"items": { +"type": "string" +}, +"type": "array" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC forwarding rule.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serviceDirectoryRegistrations": { +"description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.", +"items": { +"$ref": "ForwardingRuleServiceDirectoryRegistration" +}, +"type": "array" +}, +"serviceLabel": { +"description": "An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"serviceName": { +"description": "[Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing.", +"type": "string" +}, +"sourceIpRanges": { +"description": "If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).", +"items": { +"type": "string" +}, +"type": "array" +}, +"subnetwork": { +"description": "This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6.", +"type": "string" +}, +"target": { +"description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleAggregatedList": { +"id": "ForwardingRuleAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ForwardingRulesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of ForwardingRulesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#forwardingRuleAggregatedList", +"description": "[Output Only] Type of resource. Always compute#forwardingRuleAggregatedList for lists of forwarding rules.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ForwardingRuleList": { +"description": "Contains a list of ForwardingRule resources.", +"id": "ForwardingRuleList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ForwardingRule resources.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"kind": { +"default": "compute#forwardingRuleList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ForwardingRuleReference": { +"id": "ForwardingRuleReference", +"properties": { +"forwardingRule": { +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleServiceDirectoryRegistration": { +"description": "Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule.", +"id": "ForwardingRuleServiceDirectoryRegistration", +"properties": { +"namespace": { +"description": "Service Directory namespace to register the forwarding rule under.", +"type": "string" +}, +"service": { +"description": "Service Directory service to register the forwarding rule under.", +"type": "string" +}, +"serviceDirectoryRegion": { +"description": "[Optional] Service Directory region to register this global forwarding rule under. Default to \"us-central1\". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region.", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRulesScopedList": { +"id": "ForwardingRulesScopedList", +"properties": { +"forwardingRules": { +"description": "A list of forwarding rules contained in this scope.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of forwarding rules when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"GRPCHealthCheck": { +"id": "GRPCHealthCheck", +"properties": { +"grpcServiceName": { +"description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +} +}, +"type": "object" +}, +"GlobalAddressesMoveRequest": { +"id": "GlobalAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalOrganizationSetPolicyRequest": { +"id": "GlobalOrganizationSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"GlobalSetLabelsRequest": { +"id": "GlobalSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels, otherwise the request will fail with error 412 conditionNotMet. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A list of labels to apply for this resource. Each label must comply with the requirements for labels. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").", +"type": "object" +} +}, +"type": "object" +}, +"GlobalSetPolicyRequest": { +"id": "GlobalSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"GuestAttributes": { +"description": "A guest attributes entry.", +"id": "GuestAttributes", +"properties": { +"kind": { +"default": "compute#guestAttributes", +"description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", +"type": "string" +}, +"queryPath": { +"description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", +"type": "string" +}, +"queryValue": { +"$ref": "GuestAttributesValue", +"description": "[Output Only] The value of the requested queried path." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"variableKey": { +"description": "The key to search for.", +"type": "string" +}, +"variableValue": { +"description": "[Output Only] The value found for the requested key.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributesEntry": { +"description": "A guest attributes namespace/key/value entry.", +"id": "GuestAttributesEntry", +"properties": { +"key": { +"description": "Key for the guest attribute entry.", +"type": "string" +}, +"namespace": { +"description": "Namespace for the guest attribute entry.", +"type": "string" +}, +"value": { +"description": "Value for the guest attribute entry.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributesValue": { +"description": "Array of guest attribute namespace/key/value tuples.", +"id": "GuestAttributesValue", +"properties": { +"items": { +"items": { +"$ref": "GuestAttributesEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GuestOsFeature": { +"description": "Guest OS features.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", +"enum": [ +"FEATURE_TYPE_UNSPECIFIED", +"GVNIC", +"IDPF", +"MULTI_IP_SUBNET", +"SECURE_BOOT", +"SEV_CAPABLE", +"SEV_LIVE_MIGRATABLE", +"SEV_LIVE_MIGRATABLE_V2", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"UEFI_COMPATIBLE", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"HTTP2HealthCheck": { +"id": "HTTP2HealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP/2 health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HTTPHealthCheck": { +"id": "HTTPHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HTTPSHealthCheck": { +"id": "HTTPSHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +} +}, +"type": "object" +}, +"HealthCheck": { +"description": "Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) * [Global](/compute/docs/reference/rest/v1/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview.", +"id": "HealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in 3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcHealthCheck": { +"$ref": "GRPCHealthCheck" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"http2HealthCheck": { +"$ref": "HTTP2HealthCheck" +}, +"httpHealthCheck": { +"$ref": "HTTPHealthCheck" +}, +"httpsHealthCheck": { +"$ref": "HTTPSHealthCheck" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheck", +"description": "Type of the resource.", +"type": "string" +}, +"logConfig": { +"$ref": "HealthCheckLogConfig", +"description": "Configure logging on this health check." +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] Region where the health check resides. Not applicable to global health checks.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sourceRegions": { +"description": "The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslHealthCheck": { +"$ref": "SSLHealthCheck" +}, +"tcpHealthCheck": { +"$ref": "TCPHealthCheck" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", +"enum": [ +"GRPC", +"HTTP", +"HTTP2", +"HTTPS", +"INVALID", +"SSL", +"TCP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HealthCheckList": { +"description": "Contains a list of HealthCheck resources.", +"id": "HealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheck resources.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthCheckLogConfig": { +"description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", +"id": "HealthCheckLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", +"type": "boolean" +} +}, +"type": "object" +}, +"HealthCheckReference": { +"description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"id": "HealthCheckReference", +"properties": { +"healthCheck": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckService": { +"description": "Represents a Health-Check as a Service resource.", +"id": "HealthCheckService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", +"format": "byte", +"type": "string" +}, +"healthChecks": { +"description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthStatusAggregationPolicy": { +"description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", +"enum": [ +"AND", +"NO_AGGREGATION" +], +"enumDescriptions": [ +"If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", +"An EndpointHealth message is returned for each backend in the health check service." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheckService", +"description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", +"type": "string" +}, +"name": { +"description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkEndpointGroups": { +"description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notificationEndpoints": { +"description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServiceReference": { +"description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", +"id": "HealthCheckServiceReference", +"properties": { +"healthCheckService": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServicesList": { +"id": "HealthCheckServicesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheckService resources.", +"items": { +"$ref": "HealthCheckService" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckServicesList", +"description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthChecksAggregatedList": { +"id": "HealthChecksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "HealthChecksScopedList", +"description": "Name of the scope containing this set of HealthChecks." +}, +"description": "A list of HealthChecksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#healthChecksAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthChecksScopedList": { +"id": "HealthChecksScopedList", +"properties": { +"healthChecks": { +"description": "A list of HealthChecks contained in this scope.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HealthStatus": { +"id": "HealthStatus", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations for network endpoint.", +"type": "object" +}, +"forwardingRule": { +"description": "URL of the forwarding rule associated with the health status of the instance.", +"type": "string" +}, +"forwardingRuleIp": { +"description": "A forwarding rule IP address assigned to this instance.", +"type": "string" +}, +"healthState": { +"description": "Health state of the IPv4 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"instance": { +"description": "URL of the instance resource.", +"type": "string" +}, +"ipAddress": { +"description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", +"type": "string" +}, +"ipv6Address": { +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the IPv6 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"port": { +"description": "The named port of the instance group, not necessarily the port that is health-checked.", +"format": "int32", +"type": "integer" +}, +"weight": { +"type": "string" +}, +"weightError": { +"enum": [ +"INVALID_WEIGHT", +"MISSING_WEIGHT", +"UNAVAILABLE_WEIGHT", +"WEIGHT_NONE" +], +"enumDescriptions": [ +"The response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).", +"The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.", +"This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.", +"This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight." +], +"type": "string" +} +}, +"type": "object" +}, +"HealthStatusForNetworkEndpoint": { +"id": "HealthStatusForNetworkEndpoint", +"properties": { +"backendService": { +"$ref": "BackendServiceReference", +"description": "URL of the backend service associated with the health state of the network endpoint." +}, +"forwardingRule": { +"$ref": "ForwardingRuleReference", +"description": "URL of the forwarding rule associated with the health state of the network endpoint." +}, +"healthCheck": { +"$ref": "HealthCheckReference", +"description": "URL of the health check associated with the health state of the network endpoint." +}, +"healthCheckService": { +"$ref": "HealthCheckServiceReference", +"description": "URL of the health check service associated with the health state of the network endpoint." +}, +"healthState": { +"description": "Health state of the network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"type": "string" +} +}, +"type": "object" +}, +"Help": { +"description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", +"id": "Help", +"properties": { +"links": { +"description": "URL(s) pointing to additional information on handling the current error.", +"items": { +"$ref": "HelpLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"HelpLink": { +"description": "Describes a URL link.", +"id": "HelpLink", +"properties": { +"description": { +"description": "Describes what the link offers.", +"type": "string" +}, +"url": { +"description": "The URL of the link.", +"type": "string" +} +}, +"type": "object" +}, +"HostRule": { +"description": "UrlMaps A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.", +"id": "HostRule", +"properties": { +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"hosts": { +"description": "The list of host patterns to match. They must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). In that case, * must be the first character, and if followed by anything, the immediate following character must be either - or .. * based matching is not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pathMatcher": { +"description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.", +"type": "string" +} +}, +"type": "object" +}, +"HttpFaultAbort": { +"description": "Specification for how requests are aborted as part of fault injection.", +"id": "HttpFaultAbort", +"properties": { +"httpStatus": { +"description": "The HTTP status code used to abort the request. The value must be from 200 to 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.", +"format": "uint32", +"type": "integer" +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests that is aborted as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultDelay": { +"description": "Specifies the delay introduced by the load balancer before forwarding the request to the backend service as part of fault injection.", +"id": "HttpFaultDelay", +"properties": { +"fixedDelay": { +"$ref": "Duration", +"description": "Specifies the value of the fixed delay interval." +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests for which a delay is introduced as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultInjection": { +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests.", +"id": "HttpFaultInjection", +"properties": { +"abort": { +"$ref": "HttpFaultAbort", +"description": "The specification for how client requests are aborted as part of fault injection." +}, +"delay": { +"$ref": "HttpFaultDelay", +"description": "The specification for how client requests are delayed as part of fault injection, before being sent to a backend service." +} +}, +"type": "object" +}, +"HttpHeaderAction": { +"description": "The request and response header transformations that take effect before the request is passed along to the selected backendService.", +"id": "HttpHeaderAction", +"properties": { +"requestHeadersToAdd": { +"description": "Headers to add to a matching request before forwarding the request to the backendService.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"requestHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.", +"items": { +"type": "string" +}, +"type": "array" +}, +"responseHeadersToAdd": { +"description": "Headers to add the response before sending the response back to the client.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"responseHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the response before sending the response back to the client.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpHeaderMatch": { +"description": "matchRule criteria for request header matches.", +"id": "HttpHeaderMatch", +"properties": { +"exactMatch": { +"description": "The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"headerName": { +"description": "The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the `content-type` header are supported. The following transport-level headers cannot be used in header matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-bin`.", +"type": "string" +}, +"invertMatch": { +"description": "If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. ", +"type": "boolean" +}, +"prefixMatch": { +"description": "The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"presentMatch": { +"description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "boolean" +}, +"rangeMatch": { +"$ref": "Int64RangeMatch", +"description": "The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL." +}, +"regexMatch": { +"description": "The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +}, +"suffixMatch": { +"description": "The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +} +}, +"type": "object" +}, +"HttpHeaderOption": { +"description": "Specification determining how headers are added to requests or responses.", +"id": "HttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header.", +"type": "string" +}, +"headerValue": { +"description": "The value of the header to add.", +"type": "string" +}, +"replace": { +"description": "If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpHealthCheck": { +"description": "Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are now only required by target pool-based network load balancers. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpHealthCheck", +"description": "[Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTP health check request. The default value is 80.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpHealthCheckList": { +"description": "Contains a list of HttpHealthCheck resources.", +"id": "HttpHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpHealthCheck resources.", +"items": { +"$ref": "HttpHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"HttpQueryParameterMatch": { +"description": "HttpRouteRuleMatch criteria for a request's query parameter.", +"id": "HttpQueryParameterMatch", +"properties": { +"exactMatch": { +"description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "string" +}, +"name": { +"description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", +"type": "string" +}, +"presentMatch": { +"description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "boolean" +}, +"regexMatch": { +"description": "The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, exactMatch, or regexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. ", +"type": "string" +} +}, +"type": "object" +}, +"HttpRedirectAction": { +"description": "Specifies settings for an HTTP redirect.", +"id": "HttpRedirectAction", +"properties": { +"hostRedirect": { +"description": "The host that is used in the redirect response instead of the one that was supplied in the request. The value must be from 1 to 255 characters.", +"type": "string" +}, +"httpsRedirect": { +"description": "If set to true, the URL scheme in the redirected request is set to HTTPS. If set to false, the URL scheme of the redirected request remains the same as that of the request. This must only be set for URL maps used in TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The default is set to false.", +"type": "boolean" +}, +"pathRedirect": { +"description": "The path that is used in the redirect response instead of the one that was supplied in the request. pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"prefixRedirect": { +"description": "The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"redirectResponseCode": { +"description": "The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. ", +"enum": [ +"FOUND", +"MOVED_PERMANENTLY_DEFAULT", +"PERMANENT_REDIRECT", +"SEE_OTHER", +"TEMPORARY_REDIRECT" +], +"enumDescriptions": [ +"Http Status Code 302 - Found.", +"Http Status Code 301 - Moved Permanently.", +"Http Status Code 308 - Permanent Redirect maintaining HTTP method.", +"Http Status Code 303 - See Other.", +"Http Status Code 307 - Temporary Redirect maintaining HTTP method." +], +"type": "string" +}, +"stripQuery": { +"description": "If set to true, any accompanying query portion of the original URL is removed before redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpRetryPolicy": { +"description": "The retry policy associates with HttpRouteRule", +"id": "HttpRetryPolicy", +"properties": { +"numRetries": { +"description": "Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.", +"format": "uint32", +"type": "integer" +}, +"perTryTimeout": { +"$ref": "Duration", +"description": "Specifies a non-zero timeout per retry attempt. If not specified, will use the timeout set in the HttpRouteAction field. If timeout in the HttpRouteAction field is not set, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryConditions": { +"description": "Specifies one or more conditions when this retry policy applies. Valid values are: - 5xx: retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams. - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. - connect-failure: a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts. - retriable-4xx: a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409. - refused-stream: a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: a retry is attempted if the gRPC status code in the response header is set to cancelled. - deadline-exceeded: a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded. - internal: a retry is attempted if the gRPC status code in the response header is set to internal. - resource-exhausted: a retry is attempted if the gRPC status code in the response header is set to resource-exhausted. - unavailable: a retry is attempted if the gRPC status code in the response header is set to unavailable. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true. - cancelled - deadline-exceeded - internal - resource-exhausted - unavailable ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteAction": { +"id": "HttpRouteAction", +"properties": { +"corsPolicy": { +"$ref": "CorsPolicy", +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy." +}, +"faultInjectionPolicy": { +"$ref": "HttpFaultInjection", +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED." +}, +"requestMirrorPolicy": { +"$ref": "RequestMirrorPolicy", +"description": "Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryPolicy": { +"$ref": "HttpRetryPolicy", +"description": "Specifies the retry policy associated with this route." +}, +"timeout": { +"$ref": "Duration", +"description": "Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"urlRewrite": { +"$ref": "UrlRewrite", +"description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"weightedBackendServices": { +"description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", +"items": { +"$ref": "WeightedBackendService" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteRule": { +"description": "The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.", +"id": "HttpRouteRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"description": { +"description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"matchRules": { +"description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", +"items": { +"$ref": "HttpRouteRuleMatch" +}, +"type": "array" +}, +"priority": { +"description": "For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", +"format": "int32", +"type": "integer" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"HttpRouteRuleMatch": { +"description": "HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur.", +"id": "HttpRouteRuleMatch", +"properties": { +"fullPathMatch": { +"description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"headerMatches": { +"description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", +"items": { +"$ref": "HttpHeaderMatch" +}, +"type": "array" +}, +"ignoreCase": { +"description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy.", +"type": "boolean" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"pathTemplateMatch": { +"description": "If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash (\"/\") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.", +"type": "string" +}, +"prefixMatch": { +"description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"queryParameterMatches": { +"description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy.", +"items": { +"$ref": "HttpQueryParameterMatch" +}, +"type": "array" +}, +"regexMatch": { +"description": "For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"HttpsHealthCheck": { +"description": "Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks have been deprecated. If you are using a target pool-based network load balancer, you must use a legacy HTTP (not HTTPS) health check. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpsHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpsHealthCheck", +"description": "Type of the resource.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTPS health check request. The default value is 443.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is \"/\". Must comply with RFC3986.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpsHealthCheckList": { +"description": "Contains a list of HttpsHealthCheck resources.", +"id": "HttpsHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpsHealthCheck resources.", +"items": { +"$ref": "HttpsHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpsHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Image": { +"description": "Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.", +"id": "Image", +"properties": { +"architecture": { +"description": "The architecture of the image. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"archiveSizeBytes": { +"description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "The deprecation status associated with this image." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "Size of the image when restored onto a persistent disk (in GB).", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"family": { +"description": "The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"imageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later." +}, +"kind": { +"default": "compute#image", +"description": "[Output Only] Type of the resource. Always compute#image for images.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this image. These can be later modified by the setLabels method.", +"type": "object" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this image.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "Any applicable license URI.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"rawDisk": { +"description": "The parameters of the raw disk image.", +"properties": { +"containerType": { +"description": "The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.", +"enum": [ +"TAR" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"sha1Checksum": { +"deprecated": true, +"description": "[Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.", +"pattern": "[a-f0-9]{40}", +"type": "string" +}, +"source": { +"description": "The full Google Cloud Storage URL where the raw disk image archive is stored. The following are valid formats for the URL: - https://storage.googleapis.com/bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/folder_name/ image_archive_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +} +}, +"type": "object" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "Set the secure boot keys of shielded instance." +}, +"sourceDisk": { +"description": "URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceImage": { +"description": "URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.", +"type": "string" +}, +"sourceSnapshot": { +"description": "URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.", +"type": "string" +}, +"sourceType": { +"default": "RAW", +"description": "The type of the image used to create this disk. The default and only valid value is RAW.", +"enum": [ +"RAW" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.", +"enum": [ +"DELETING", +"FAILED", +"PENDING", +"READY" +], +"enumDescriptions": [ +"Image is deleting.", +"Image creation failed due to an error.", +"Image hasn't been created as yet.", +"Image has been successfully created." +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the image (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ImageFamilyView": { +"id": "ImageFamilyView", +"properties": { +"image": { +"$ref": "Image", +"description": "The latest image that is part of the specified image family in the requested location, and that is not deprecated." +} +}, +"type": "object" +}, +"ImageList": { +"description": "Contains a list of images.", +"id": "ImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Image resources.", +"items": { +"$ref": "Image" +}, +"type": "array" +}, +"kind": { +"default": "compute#imageList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InitialStateConfig": { +"description": "Initial State for shielded instance, these are public keys which are safe to store in public", +"id": "InitialStateConfig", +"properties": { +"dbs": { +"description": "The Key Database (db).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"dbxs": { +"description": "The forbidden key database (dbx).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"keks": { +"description": "The Key Exchange Key (KEK).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"pk": { +"$ref": "FileContentBuffer", +"description": "The Platform Key (PK)." +} +}, +"type": "object" +}, +"Instance": { +"description": "Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.", +"id": "Instance", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features." +}, +"canIpForward": { +"description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig" +}, +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this instance.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deletionProtection": { +"description": "Whether the resource should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"description": "Array of disks associated with this instance. Persistent disks must be created before you can assign them.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Enables display device for the instance." +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation." +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"kind": { +"default": "compute#instance", +"description": "[Output Only] Type of the resource. Always compute#instance for instances.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this instance. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastStartTimestamp": { +"description": "[Output Only] Last start timestamp in RFC3339 text format.", +"type": "string" +}, +"lastStopTimestamp": { +"description": "[Output Only] Last stop timestamp in RFC3339 text format.", +"type": "string" +}, +"lastSuspendedTimestamp": { +"description": "[Output Only] Last suspended timestamp in RFC3339 text format.", +"type": "string" +}, +"machineType": { +"description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys." +}, +"minCpuPlatform": { +"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\".", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig" +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that this instance can consume from." +}, +"resourcePolicies": { +"description": "Resource policies applied to this instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "ResourceStatus", +"description": "[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field." +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Sets the scheduling options for this instance." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"serviceAccounts": { +"description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig" +}, +"shieldedInstanceIntegrityPolicy": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"sourceMachineImage": { +"description": "Source machine image", +"type": "string" +}, +"sourceMachineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Source machine image encryption key when creating an instance from a machine image." +}, +"startRestricted": { +"description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", +"enum": [ +"DEPROVISIONING", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"tags": { +"$ref": "Tags", +"description": "Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field." +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceAggregatedList": { +"id": "InstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstancesScopedList", +"description": "[Output Only] Name of the scope containing this set of instances." +}, +"description": "An object that contains a list of instances scoped by zone.", +"type": "object" +}, +"kind": { +"default": "compute#instanceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instanceAggregatedList for aggregated lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceConsumptionData": { +"id": "InstanceConsumptionData", +"properties": { +"consumptionInfo": { +"$ref": "InstanceConsumptionInfo", +"description": "Resources consumed by the instance." +}, +"instance": { +"description": "Server-defined URL for the instance.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceConsumptionInfo": { +"id": "InstanceConsumptionInfo", +"properties": { +"guestCpus": { +"description": "The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"localSsdGb": { +"description": "The amount of local SSD storage available to the instance, defined in GiB.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "The amount of physical memory available to the instance, defined in MiB.", +"format": "int32", +"type": "integer" +}, +"minNodeCpus": { +"description": "The minimal guaranteed number of virtual CPUs that are reserved.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroup": { +"description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", +"id": "InstanceGroup", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance group, generated by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroup", +"description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroups.insert" +] +}, +"description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"network": { +"description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance group. The server generates this URL.", +"type": "string" +}, +"size": { +"description": "[Output Only] The total number of instances in the instance group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupAggregatedList": { +"id": "InstanceGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupsScopedList", +"description": "The name of the scope that contains this set of instance groups." +}, +"description": "A list of InstanceGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupList": { +"description": "A list of InstanceGroup resources.", +"id": "InstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupList for instance group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManager": { +"description": "Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.", +"id": "InstanceGroupManager", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerAllInstancesConfig", +"description": "Specifies configuration that overrides the instance template configuration for the group." +}, +"autoHealingPolicies": { +"description": "The autohealing policy for this managed instance group. You can specify only one value.", +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +}, +"baseInstanceName": { +"description": "The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of \"vm-###\" results in \"vm-001\" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\\\[[0-9]{1,10}\\\\])?))", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.", +"type": "string" +}, +"currentActions": { +"$ref": "InstanceGroupManagerActionsSummary", +"description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"distributionPolicy": { +"$ref": "DistributionPolicy", +"description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." +}, +"fingerprint": { +"description": "Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceFlexibilityPolicy": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", +"description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." +}, +"instanceGroup": { +"description": "[Output Only] The URL of the Instance Group resource.", +"type": "string" +}, +"instanceLifecyclePolicy": { +"$ref": "InstanceGroupManagerInstanceLifecyclePolicy", +"description": "The repair policy for this managed instance group." +}, +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroupManager", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.", +"type": "string" +}, +"listManagedInstancesResults": { +"description": "Pagination behavior of the listManagedInstances API method for this managed instance group.", +"enum": [ +"PAGELESS", +"PAGINATED" +], +"enumDescriptions": [ +"(Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.", +"Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", +"type": "string" +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] The URL for this managed instance group. The server defines this URL.", +"type": "string" +}, +"standbyPolicy": { +"$ref": "InstanceGroupManagerStandbyPolicy", +"description": "Standby policy for stopped and suspended instances." +}, +"statefulPolicy": { +"$ref": "StatefulPolicy", +"description": "Stateful configuration for this Instanced Group Manager" +}, +"status": { +"$ref": "InstanceGroupManagerStatus", +"description": "[Output Only] The status of this managed instance group." +}, +"targetPools": { +"description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSize": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.", +"format": "int32", +"type": "integer" +}, +"targetStoppedSize": { +"description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"targetSuspendedSize": { +"description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"updatePolicy": { +"$ref": "InstanceGroupManagerUpdatePolicy", +"description": "The update policy for this managed instance group." +}, +"versions": { +"description": "Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.", +"items": { +"$ref": "InstanceGroupManagerVersion" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerActionsSummary": { +"id": "InstanceGroupManagerActionsSummary", +"properties": { +"abandoning": { +"description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", +"format": "int32", +"type": "integer" +}, +"creating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.", +"format": "int32", +"type": "integer" +}, +"creatingWithoutRetries": { +"description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", +"format": "int32", +"type": "integer" +}, +"deleting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", +"format": "int32", +"type": "integer" +}, +"none": { +"description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", +"format": "int32", +"type": "integer" +}, +"recreating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", +"format": "int32", +"type": "integer" +}, +"refreshing": { +"description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", +"format": "int32", +"type": "integer" +}, +"restarting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", +"format": "int32", +"type": "integer" +}, +"resuming": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.", +"format": "int32", +"type": "integer" +}, +"starting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.", +"format": "int32", +"type": "integer" +}, +"stopping": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.", +"format": "int32", +"type": "integer" +}, +"suspending": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.", +"format": "int32", +"type": "integer" +}, +"verifying": { +"description": "[Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerAggregatedList": { +"id": "InstanceGroupManagerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupManagersScopedList", +"description": "[Output Only] The name of the scope that contains this set of managed instance groups." +}, +"description": "A list of InstanceGroupManagersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupManagerAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerAllInstancesConfig": { +"id": "InstanceGroupManagerAllInstancesConfig", +"properties": { +"properties": { +"$ref": "InstancePropertiesPatch", +"description": "Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method." +} +}, +"type": "object" +}, +"InstanceGroupManagerAutoHealingPolicy": { +"id": "InstanceGroupManagerAutoHealingPolicy", +"properties": { +"healthCheck": { +"description": "The URL for the health check that signals autohealing.", +"type": "string" +}, +"initialDelaySec": { +"description": "The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicy": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicy", +"properties": { +"instanceSelections": { +"additionalProperties": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" +}, +"description": "Named instance selections configuring properties that the group will use when creating new VMs.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", +"properties": { +"machineTypes": { +"description": "Full machine-type names, e.g. \"n1-standard-16\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"rank": { +"description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceLifecyclePolicy": { +"id": "InstanceGroupManagerInstanceLifecyclePolicy", +"properties": { +"defaultActionOnFailure": { +"description": "The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. ", +"enum": [ +"DO_NOTHING", +"REPAIR" +], +"enumDescriptions": [ +"MIG does not repair a failed or an unhealthy VM.", +"(Default) MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG." +], +"type": "string" +}, +"forceUpdateOnRepair": { +"description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", +"enum": [ +"NO", +"YES" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerList": { +"description": "[Output Only] A list of managed instance groups.", +"id": "InstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequest": { +"description": "InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager.", +"id": "InstanceGroupManagerResizeRequest", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this resize request in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequest", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagerResizeRequests.insert" +] +}, +"description": "The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"requestedRunDuration": { +"$ref": "Duration", +"description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." +}, +"resizeBy": { +"description": "The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "[Output Only] The URL for this resize request. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"state": { +"description": "[Output only] Current state of the request.", +"enum": [ +"ACCEPTED", +"CANCELLED", +"CREATING", +"FAILED", +"STATE_UNSPECIFIED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The request was created successfully and was accepted for provisioning when the capacity becomes available.", +"The request is cancelled.", +"Resize request is being created and may still fail creation.", +"The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.", +"Default value. This value should never be returned.", +"The request succeeded." +], +"type": "string" +}, +"status": { +"$ref": "InstanceGroupManagerResizeRequestStatus", +"description": "[Output only] Status of the request." +}, +"zone": { +"description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatus": { +"id": "InstanceGroupManagerResizeRequestStatus", +"properties": { +"error": { +"description": "[Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"lastAttempt": { +"$ref": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"description": "[Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the \"error\" field only." +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatusLastAttempt": { +"id": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"properties": { +"error": { +"description": "Errors that prevented the ResizeRequest to be fulfilled.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestsListResponse": { +"description": "[Output Only] A list of resize requests.", +"id": "InstanceGroupManagerResizeRequestsListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of resize request resources.", +"items": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequestList", +"description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerStandbyPolicy": { +"id": "InstanceGroupManagerStandbyPolicy", +"properties": { +"initialDelaySec": { +"description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", +"enum": [ +"MANUAL", +"SCALE_OUT_POOL" +], +"enumDescriptions": [ +"MIG does not automatically resume or start VMs in the standby pool when the group scales out.", +"MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatus": { +"id": "InstanceGroupManagerStatus", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerStatusAllInstancesConfig", +"description": "[Output only] Status of all-instances configuration on the group." +}, +"autoscaler": { +"description": "[Output Only] The URL of the Autoscaler that targets this instance group manager.", +"type": "string" +}, +"isStable": { +"description": "[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.", +"type": "boolean" +}, +"stateful": { +"$ref": "InstanceGroupManagerStatusStateful", +"description": "[Output Only] Stateful status of the given Instance Group Manager." +}, +"versionTarget": { +"$ref": "InstanceGroupManagerStatusVersionTarget", +"description": "[Output Only] A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusAllInstancesConfig": { +"id": "InstanceGroupManagerStatusAllInstancesConfig", +"properties": { +"currentRevision": { +"description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", +"type": "string" +}, +"effective": { +"description": "[Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStateful": { +"id": "InstanceGroupManagerStatusStateful", +"properties": { +"hasStatefulConfig": { +"description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.", +"type": "boolean" +}, +"perInstanceConfigs": { +"$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"description": "[Output Only] Status of per-instance configurations on the instances." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStatefulPerInstanceConfigs": { +"id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"properties": { +"allEffective": { +"description": "A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusVersionTarget": { +"id": "InstanceGroupManagerStatusVersionTarget", +"properties": { +"isReached": { +"description": "[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerUpdatePolicy": { +"id": "InstanceGroupManagerUpdatePolicy", +"properties": { +"instanceRedistributionType": { +"description": "The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. ", +"enum": [ +"NONE", +"PROACTIVE" +], +"enumDescriptions": [ +"No action is being proactively performed in order to bring this IGM to its target instance distribution.", +"This IGM will actively converge to its target instance distribution." +], +"type": "string" +}, +"maxSurge": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge." +}, +"maxUnavailable": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable." +}, +"minimalAction": { +"description": "Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. ", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"replacementMethod": { +"description": "What action should be used to replace instances. See minimal_action.REPLACE", +"enum": [ +"RECREATE", +"SUBSTITUTE" +], +"enumDescriptions": [ +"Instances will be recreated (with the same name)", +"Default option: instances will be deleted and created (with a new name)" +], +"type": "string" +}, +"type": { +"description": "The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.", +"enum": [ +"OPPORTUNISTIC", +"PROACTIVE" +], +"enumDescriptions": [ +"MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.", +"MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerVersion": { +"id": "InstanceGroupManagerVersion", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached.", +"type": "string" +}, +"name": { +"description": "Name of the version. Unique among all versions in the scope of this managed instance group.", +"type": "string" +}, +"targetSize": { +"$ref": "FixedOrPercent", +"description": "Specifies the intended number of instances to be created from the instanceTemplate. The final number of instances created from the template will be equal to: - If expressed as a fixed number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - if expressed as a percent, the targetSize would be (targetSize.percent/100 * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded. If unset, this version will update any remaining instances not updated by another version. Read Starting a canary update for more information." +} +}, +"type": "object" +}, +"InstanceGroupManagersAbandonInstancesRequest": { +"id": "InstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersApplyUpdatesRequest": { +"description": "InstanceGroupManagers.applyUpdatesToInstances", +"id": "InstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersCreateInstancesRequest": { +"description": "InstanceGroupManagers.createInstances", +"id": "InstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeleteInstancesRequest": { +"id": "InstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeletePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.deletePerInstanceConfigs", +"id": "InstanceGroupManagersDeletePerInstanceConfigsReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersListErrorsResponse": { +"id": "InstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListManagedInstancesResponse": { +"id": "InstanceGroupManagersListManagedInstancesResponse", +"properties": { +"managedInstances": { +"description": "[Output Only] The list of instances in the managed instance group.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListPerInstanceConfigsResp": { +"id": "InstanceGroupManagersListPerInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagersPatchPerInstanceConfigsReq": { +"description": "InstanceGroupManagers.patchPerInstanceConfigs", +"id": "InstanceGroupManagersPatchPerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersRecreateInstancesRequest": { +"id": "InstanceGroupManagersRecreateInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersResumeInstancesRequest": { +"id": "InstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersScopedList": { +"id": "InstanceGroupManagersScopedList", +"properties": { +"instanceGroupManagers": { +"description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetInstanceTemplateRequest": { +"id": "InstanceGroupManagersSetInstanceTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetTargetPoolsRequest": { +"id": "InstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStartInstancesRequest": { +"id": "InstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStopInstancesRequest": { +"id": "InstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersSuspendInstancesRequest": { +"id": "InstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersUpdatePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.updatePerInstanceConfigs", +"id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsAddInstancesRequest": { +"id": "InstanceGroupsAddInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to add to the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsListInstances": { +"id": "InstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupsListInstances", +"description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupsListInstancesRequest": { +"id": "InstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Includes all instances in the generated list regardless of their state.", +"Includes instances in the generated list only if they have a RUNNING state." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupsRemoveInstancesRequest": { +"id": "InstanceGroupsRemoveInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to remove from the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsScopedList": { +"id": "InstanceGroupsScopedList", +"properties": { +"instanceGroups": { +"description": "[Output Only] The list of instance groups that are contained in this scope.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupsSetNamedPortsRequest": { +"id": "InstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request. A request with an incorrect fingerprint will fail with error 412 conditionNotMet.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceList": { +"description": "Contains a list of instances.", +"id": "InstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Instance resources.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceList", +"description": "[Output Only] Type of resource. Always compute#instanceList for lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceListReferrers": { +"description": "Contains a list of instance referrers.", +"id": "InstanceListReferrers", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Reference resources.", +"items": { +"$ref": "Reference" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceListReferrers", +"description": "[Output Only] Type of resource. Always compute#instanceListReferrers for lists of Instance referrers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceManagedByIgmError": { +"id": "InstanceManagedByIgmError", +"properties": { +"error": { +"$ref": "InstanceManagedByIgmErrorManagedInstanceError", +"description": "[Output Only] Contents of the error." +}, +"instanceActionDetails": { +"$ref": "InstanceManagedByIgmErrorInstanceActionDetails", +"description": "[Output Only] Details of the instance action that triggered this error. May be null, if the error was not caused by an action on an instance. This field is optional." +}, +"timestamp": { +"description": "[Output Only] The time that this error occurred. This value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorInstanceActionDetails": { +"id": "InstanceManagedByIgmErrorInstanceActionDetails", +"properties": { +"action": { +"description": "[Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can be set even if the instance has not yet been created.", +"type": "string" +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Version this instance was created from, or was being created from, but the creation failed. Corresponds to one of the versions that were set on the Instance Group Manager resource at the time this instance was being created." +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorManagedInstanceError": { +"id": "InstanceManagedByIgmErrorManagedInstanceError", +"properties": { +"code": { +"description": "[Output Only] Error code.", +"type": "string" +}, +"message": { +"description": "[Output Only] Error message.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceMoveRequest": { +"id": "InstanceMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the instance. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetInstance": { +"description": "The URL of the target instance to move. This can be a full or partial URL. For example, the following are all valid URLs to an instance: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +} +}, +"type": "object" +}, +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceProperties": { +"id": "InstanceProperties", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet." +}, +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Specifies the Confidential Instance options. Note that for MachineImage, this is not supported yet." +}, +"description": { +"description": "An optional text description for the instances that are created from these properties.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from these properties.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from these properties.", +"type": "object" +}, +"machineType": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"description": "The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet." +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"InstancePropertiesPatch": { +"description": "Represents the change that you want to make to the instance properties.", +"id": "InstancePropertiesPatch", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The label key-value pairs that you want to patch onto the instance.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceReference": { +"id": "InstanceReference", +"properties": { +"instance": { +"description": "The URL for a specific instance. @required compute.instancegroups.addInstances/removeInstances", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettings": { +"description": "Represents a Instance Settings resource. You can use instance settings to configure default settings for Compute Engine VM instances. For example, you can use it to configure default machine type of Compute Engine VM instances.", +"id": "InstanceSettings", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for instance settings, which is essentially a hash of the instance settings resource's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance settings resource. You must always provide an up-to-date fingerprint hash in order to update or change the resource, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"kind": { +"default": "compute#instanceSettings", +"description": "[Output Only] Type of the resource. Always compute#instance_settings for instance settings.", +"type": "string" +}, +"metadata": { +"$ref": "InstanceSettingsMetadata", +"description": "The metadata key/value pairs assigned to all the instances in the corresponding scope." +}, +"zone": { +"description": "[Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettingsMetadata": { +"id": "InstanceSettingsMetadata", +"properties": { +"items": { +"additionalProperties": { +"type": "string" +}, +"description": "A metadata key/value items map. The total size of all keys and values must be less than 512KB.", +"type": "object" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceTemplate": { +"description": "Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/v1/instanceTemplates) * [Regional](/compute/docs/reference/rest/v1/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates.", +"id": "InstanceTemplate", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance template in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance template. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceTemplate", +"description": "[Output Only] The resource type, which is always compute#instanceTemplate for instance templates.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"properties": { +"$ref": "InstanceProperties", +"description": "The instance properties for this instance template." +}, +"region": { +"description": "[Output Only] URL of the region where the instance template resides. Only applicable for regional resources.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance template. The server defines this URL.", +"type": "string" +}, +"sourceInstance": { +"description": "The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceParams": { +"$ref": "SourceInstanceParams", +"description": "The source instance params to use to create this instance template." +} +}, +"type": "object" +}, +"InstanceTemplateAggregatedList": { +"description": "Contains a list of InstanceTemplatesScopedList.", +"id": "InstanceTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceTemplatesScopedList", +"description": "The name of the scope that contains this set of instance templates." +}, +"description": "A list of InstanceTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceTemplateAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceTemplateList": { +"description": "A list of instance templates.", +"id": "InstanceTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceTemplate resources.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceTemplateList", +"description": "[Output Only] The resource type, which is always compute#instanceTemplatesListResponse for instance template lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceTemplatesScopedList": { +"id": "InstanceTemplatesScopedList", +"properties": { +"instanceTemplates": { +"description": "[Output Only] A list of instance templates that are contained within the specified project and zone.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance templates when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstanceWithNamedPorts": { +"id": "InstanceWithNamedPorts", +"properties": { +"instance": { +"description": "[Output Only] The URL of the instance.", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] The named ports that belong to this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"status": { +"description": "[Output Only] The status of the instance.", +"enum": [ +"DEPROVISIONING", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesAddResourcePoliciesRequest": { +"id": "InstancesAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesBulkInsertOperationMetadata": { +"id": "InstancesBulkInsertOperationMetadata", +"properties": { +"perLocationStatus": { +"additionalProperties": { +"$ref": "BulkInsertOperationStatus" +}, +"description": "Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponse": { +"id": "InstancesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policies.", +"items": { +"$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the instance.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"SYSTEM_GLOBAL", +"SYSTEM_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesRemoveResourcePoliciesRequest": { +"id": "InstancesRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesScopedList": { +"id": "InstancesScopedList", +"properties": { +"instances": { +"description": "[Output Only] A list of instances contained in this scope.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instances when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstancesSetLabelsRequest": { +"id": "InstancesSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"InstancesSetMachineResourcesRequest": { +"id": "InstancesSetMachineResourcesRequest", +"properties": { +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesSetMachineTypeRequest": { +"id": "InstancesSetMachineTypeRequest", +"properties": { +"machineType": { +"description": "Full or partial URL of the machine type resource. See Machine Types for a full list of machine types. For example: zones/us-central1-f/machineTypes/n1-standard-1", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetMinCpuPlatformRequest": { +"id": "InstancesSetMinCpuPlatformRequest", +"properties": { +"minCpuPlatform": { +"description": "Minimum cpu/platform this instance should be started at.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetNameRequest": { +"id": "InstancesSetNameRequest", +"properties": { +"currentName": { +"description": "The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name.", +"type": "string" +}, +"name": { +"description": "The name to be applied to the instance. Needs to be RFC 1035 compliant.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetSecurityPolicyRequest": { +"id": "InstancesSetSecurityPolicyRequest", +"properties": { +"networkInterfaces": { +"description": "The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config.", +"items": { +"type": "string" +}, +"type": "array" +}, +"securityPolicy": { +"description": "A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetServiceAccountRequest": { +"id": "InstancesSetServiceAccountRequest", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesStartWithEncryptionKeyRequest": { +"id": "InstancesStartWithEncryptionKeyRequest", +"properties": { +"disks": { +"description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to start the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", +"items": { +"$ref": "CustomerEncryptionKeyProtectedDisk" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstantSnapshot": { +"description": "Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly..", +"id": "InstantSnapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instantSnapshot", +"description": "[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"resourceStatus": { +"$ref": "InstantSnapshotResourceStatus", +"description": "[Output Only] Status information for the instant snapshot resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sourceDisk": { +"description": "URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UNAVAILABLE" +], +"enumDescriptions": [ +"InstantSnapshot creation is in progress.", +"InstantSnapshot is currently being deleted.", +"InstantSnapshot creation failed.", +"InstantSnapshot has been created successfully.", +"InstantSnapshot is currently unavailable and cannot be used for Disk restoration" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotAggregatedList": { +"id": "InstantSnapshotAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstantSnapshotsScopedList", +"description": "[Output Only] Name of the scope containing this set of instantSnapshots." +}, +"description": "A list of InstantSnapshotsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instantSnapshotAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstantSnapshotList": { +"description": "Contains a list of InstantSnapshot resources.", +"id": "InstantSnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstantSnapshot resources.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#instantSnapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InstantSnapshotResourceStatus": { +"id": "InstantSnapshotResourceStatus", +"properties": { +"storageSizeBytes": { +"description": "[Output Only] The storage size of this instant snapshot.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotsScopedList": { +"id": "InstantSnapshotsScopedList", +"properties": { +"instantSnapshots": { +"description": "[Output Only] A list of instantSnapshots contained in this scope.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Int64RangeMatch": { +"description": "HttpRouteRuleMatch criteria for field values that must stay within the specified integer range.", +"id": "Int64RangeMatch", +"properties": { +"rangeEnd": { +"description": "The end of the range (exclusive) in signed long integer format.", +"format": "int64", +"type": "string" +}, +"rangeStart": { +"description": "The start of the range (inclusive) in signed long integer format.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Interconnect": { +"description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", +"id": "Interconnect", +"properties": { +"adminEnabled": { +"description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", +"type": "boolean" +}, +"availableFeatures": { +"description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"circuitInfos": { +"description": "[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.", +"items": { +"$ref": "InterconnectCircuitInfo" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerName": { +"description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expectedOutages": { +"description": "[Output Only] A list of outages expected for this Interconnect.", +"items": { +"$ref": "InterconnectOutageNotification" +}, +"type": "array" +}, +"googleIpAddress": { +"description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests.", +"type": "string" +}, +"googleReferenceId": { +"description": "[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnectAttachments": { +"description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interconnectType": { +"description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", +"enum": [ +"DEDICATED", +"IT_PRIVATE", +"PARTNER" +], +"enumDescriptions": [ +"A dedicated physical interconnection with the customer.", +"[Deprecated] A private, physical interconnection with the customer.", +"A partner-managed interconnection shared between customers via partner." +], +"type": "string" +}, +"kind": { +"default": "compute#interconnect", +"description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"linkType": { +"description": "Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.", +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"location": { +"description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned.", +"type": "string" +}, +"macsec": { +"$ref": "InterconnectMacsec", +"description": "Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router." +}, +"macsecEnabled": { +"description": "Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.interconnects.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nocContactEmail": { +"description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +}, +"peerIpAddress": { +"description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.", +"type": "string" +}, +"provisionedLinkCount": { +"description": "[Output Only] Number of links actually provisioned in this interconnect.", +"format": "int32", +"type": "integer" +}, +"remoteLocation": { +"description": "Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.", +"type": "string" +}, +"requestedFeatures": { +"description": "Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"requestedLinkCount": { +"description": "Target number of physical links in the link bundle, as requested by the customer.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"ACTIVE", +"UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachment": { +"description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", +"id": "InterconnectAttachment", +"properties": { +"adminEnabled": { +"description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", +"type": "boolean" +}, +"bandwidth": { +"description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", +"enum": [ +"BPS_100G", +"BPS_100M", +"BPS_10G", +"BPS_1G", +"BPS_200M", +"BPS_20G", +"BPS_2G", +"BPS_300M", +"BPS_400M", +"BPS_500M", +"BPS_50G", +"BPS_50M", +"BPS_5G" +], +"enumDescriptions": [ +"100 Gbit/s", +"100 Mbit/s", +"10 Gbit/s", +"1 Gbit/s", +"200 Mbit/s", +"20 Gbit/s", +"2 Gbit/s", +"300 Mbit/s", +"400 Mbit/s", +"500 Mbit/s", +"50 Gbit/s", +"50 Mbit/s", +"5 Gbit/s" +], +"type": "string" +}, +"candidateIpv6Subnets": { +"description": "This field is not available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"candidateSubnets": { +"description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cloudRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"configurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"dataplaneVersion": { +"description": "[Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"edgeAvailabilityDomain": { +"description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", +"enum": [ +"AVAILABILITY_DOMAIN_1", +"AVAILABILITY_DOMAIN_2", +"AVAILABILITY_DOMAIN_ANY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"encryption": { +"description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", +"enum": [ +"IPSEC", +"NONE" +], +"enumDescriptions": [ +"The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", +"This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." +], +"type": "string" +}, +"googleReferenceId": { +"deprecated": true, +"description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnect": { +"description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through.", +"type": "string" +}, +"ipsecInternalAddresses": { +"description": "A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachment", +"description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"mtu": { +"description": "Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"pairingKey": { +"description": "[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form \"XXXXX/region/domain\"", +"type": "string" +}, +"partnerAsn": { +"description": "Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.", +"format": "int64", +"type": "string" +}, +"partnerMetadata": { +"$ref": "InterconnectAttachmentPartnerMetadata", +"description": "Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED." +}, +"privateInterconnectInfo": { +"$ref": "InterconnectAttachmentPrivateInfo", +"description": "[Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED." +}, +"region": { +"description": "[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteService": { +"description": "[Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: \"Amazon Web Services\" \"Microsoft Azure\". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.", +"type": "string" +}, +"router": { +"description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"The interconnect attachment can have both IPv4 and IPv6 addresses.", +"The interconnect attachment will only be assigned IPv4 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. ", +"enum": [ +"ACTIVE", +"DEFUNCT", +"PARTNER_REQUEST_RECEIVED", +"PENDING_CUSTOMER", +"PENDING_PARTNER", +"STATE_UNSPECIFIED", +"UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.", +"A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.", +"PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.", +"A newly created PARTNER attachment that has not yet been configured on the Partner side.", +"", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"subnetLength": { +"description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. ", +"enum": [ +"DEDICATED", +"PARTNER", +"PARTNER_PROVIDER" +], +"enumDescriptions": [ +"Attachment to a dedicated interconnect.", +"Attachment to a partner interconnect, created by the customer.", +"Attachment to a partner interconnect, created by the partner." +], +"type": "string" +}, +"vlanTag8021q": { +"description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentAggregatedList": { +"id": "InterconnectAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InterconnectAttachmentsScopedList", +"description": "Name of the scope containing this set of interconnect attachments." +}, +"description": "A list of InterconnectAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#interconnectAttachmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectAttachmentConfigurationConstraints": { +"id": "InterconnectAttachmentConfigurationConstraints", +"properties": { +"bgpMd5": { +"description": "[Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.", +"enum": [ +"MD5_OPTIONAL", +"MD5_REQUIRED", +"MD5_UNSUPPORTED" +], +"enumDescriptions": [ +"MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.", +"MD5_REQUIRED: BGP MD5 authentication must be configured.", +"MD5_UNSUPPORTED: BGP MD5 authentication must not be configured" +], +"type": "string" +}, +"bgpPeerAsnRanges": { +"description": "[Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.", +"items": { +"$ref": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange": { +"id": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange", +"properties": { +"max": { +"format": "uint32", +"type": "integer" +}, +"min": { +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentList": { +"description": "Response to the list request, and contains a list of interconnect attachments.", +"id": "InterconnectAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectAttachment resources.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachmentList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectAttachmentPartnerMetadata": { +"description": "Informational metadata about Partner attachments from Partners to display to customers. These fields are propagated from PARTNER_PROVIDER attachments to their corresponding PARTNER attachments.", +"id": "InterconnectAttachmentPartnerMetadata", +"properties": { +"interconnectName": { +"description": "Plain text name of the Interconnect this attachment is connected to, as displayed in the Partner's portal. For instance \"Chicago 1\". This value may be validated to match approved Partner values.", +"type": "string" +}, +"partnerName": { +"description": "Plain text name of the Partner providing this attachment. This value may be validated to match approved Partner values.", +"type": "string" +}, +"portalUrl": { +"description": "URL of the Partner's portal for this Attachment. Partners may customise this to be a deep link to the specific resource on the Partner portal. This value may be validated to match approved Partner values.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentPrivateInfo": { +"description": "Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED.", +"id": "InterconnectAttachmentPrivateInfo", +"properties": { +"tag8021q": { +"description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentsScopedList": { +"id": "InterconnectAttachmentsScopedList", +"properties": { +"interconnectAttachments": { +"description": "A list of interconnect attachments contained in this scope.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectCircuitInfo": { +"description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", +"id": "InterconnectCircuitInfo", +"properties": { +"customerDemarcId": { +"description": "Customer-side demarc ID for this circuit.", +"type": "string" +}, +"googleCircuitId": { +"description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up.", +"type": "string" +}, +"googleDemarcId": { +"description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnostics": { +"description": "Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.", +"id": "InterconnectDiagnostics", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"bundleAggregationType": { +"description": "The aggregation type of the bundle interface.", +"enum": [ +"BUNDLE_AGGREGATION_TYPE_LACP", +"BUNDLE_AGGREGATION_TYPE_STATIC" +], +"enumDescriptions": [ +"LACP is enabled.", +"LACP is disabled." +], +"type": "string" +}, +"bundleOperationalStatus": { +"description": "The operational status of the bundle interface.", +"enum": [ +"BUNDLE_OPERATIONAL_STATUS_DOWN", +"BUNDLE_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", +"If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." +], +"type": "string" +}, +"links": { +"description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", +"items": { +"$ref": "InterconnectDiagnosticsLinkStatus" +}, +"type": "array" +}, +"macAddress": { +"description": "The MAC address of the Interconnect's bundle interface.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsARPEntry": { +"description": "Describing the ARP neighbor entries seen on this link", +"id": "InterconnectDiagnosticsARPEntry", +"properties": { +"ipAddress": { +"description": "The IP address of this ARP neighbor.", +"type": "string" +}, +"macAddress": { +"description": "The MAC address of this ARP neighbor.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkLACPStatus": { +"id": "InterconnectDiagnosticsLinkLACPStatus", +"properties": { +"googleSystemId": { +"description": "System ID of the port on Google's side of the LACP exchange.", +"type": "string" +}, +"neighborSystemId": { +"description": "System ID of the port on the neighbor's side of the LACP exchange.", +"type": "string" +}, +"state": { +"description": "The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. ", +"enum": [ +"ACTIVE", +"DETACHED" +], +"enumDescriptions": [ +"The link is configured and active within the bundle.", +"The link is not configured within the bundle, this means the rest of the object should be empty." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkOpticalPower": { +"id": "InterconnectDiagnosticsLinkOpticalPower", +"properties": { +"state": { +"description": "The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. ", +"enum": [ +"HIGH_ALARM", +"HIGH_WARNING", +"LOW_ALARM", +"LOW_WARNING", +"OK" +], +"enumDescriptions": [ +"The value has crossed above the high alarm threshold.", +"The value of the current optical power has crossed above the high warning threshold.", +"The value of the current optical power has crossed below the low alarm threshold.", +"The value of the current optical power has crossed below the low warning threshold.", +"The value of the current optical power has not crossed a warning threshold." +], +"type": "string" +}, +"value": { +"description": "Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkStatus": { +"id": "InterconnectDiagnosticsLinkStatus", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"circuitId": { +"description": "The unique ID for this link assigned during turn up by Google.", +"type": "string" +}, +"googleDemarc": { +"description": "The Demarc address assigned by Google and provided in the LoA.", +"type": "string" +}, +"lacpStatus": { +"$ref": "InterconnectDiagnosticsLinkLACPStatus" +}, +"macsec": { +"$ref": "InterconnectDiagnosticsMacsecStatus", +"description": "Describes the status of MACsec encryption on this link." +}, +"operationalStatus": { +"description": "The operational status of the link.", +"enum": [ +"LINK_OPERATIONAL_STATUS_DOWN", +"LINK_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"The interface is unable to communicate with the remote end.", +"The interface has low level communication with the remote end." +], +"type": "string" +}, +"receivingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." +}, +"transmittingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level." +} +}, +"type": "object" +}, +"InterconnectDiagnosticsMacsecStatus": { +"description": "Describes the status of MACsec encryption on the link.", +"id": "InterconnectDiagnosticsMacsecStatus", +"properties": { +"ckn": { +"description": "Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.", +"type": "string" +}, +"operational": { +"description": "Indicates whether or not MACsec is operational on this link.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectList": { +"description": "Response to the list request, and contains a list of interconnects.", +"id": "InterconnectList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Interconnect resources.", +"items": { +"$ref": "Interconnect" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectList", +"description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectLocation": { +"description": "Represents an Interconnect Attachment (VLAN) Location resource. You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read Creating VLAN Attachments.", +"id": "InterconnectLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"availabilityZone": { +"description": "[Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\".", +"type": "string" +}, +"availableFeatures": { +"description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", +"items": { +"enum": [ +"IF_MACSEC" +], +"enumDescriptions": [ +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"availableLinkTypes": { +"description": "[Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR ", +"items": { +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"type": "array" +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"C_AFRICA", +"C_ASIA_PAC", +"C_EUROPE", +"C_NORTH_AMERICA", +"C_SOUTH_AMERICA", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"regionInfos": { +"description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", +"items": { +"$ref": "InterconnectLocationRegionInfo" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectLocation is available for provisioning new Interconnects.", +"The InterconnectLocation is closed for provisioning new Interconnects." +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectLocationList": { +"description": "Response to the list request, and contains a list of interconnect locations.", +"id": "InterconnectLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectLocation resources.", +"items": { +"$ref": "InterconnectLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectLocationRegionInfo": { +"description": "Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.", +"id": "InterconnectLocationRegionInfo", +"properties": { +"expectedRttMs": { +"description": "Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.", +"format": "int64", +"type": "string" +}, +"locationPresence": { +"description": "Identifies the network presence of this location.", +"enum": [ +"GLOBAL", +"LOCAL_REGION", +"LP_GLOBAL", +"LP_LOCAL_REGION" +], +"enumDescriptions": [ +"This region is not in any common network presence with this InterconnectLocation.", +"This region shares the same regional network presence as this InterconnectLocation.", +"[Deprecated] This region is not in any common network presence with this InterconnectLocation.", +"[Deprecated] This region shares the same regional network presence as this InterconnectLocation." +], +"type": "string" +}, +"region": { +"description": "URL for the region of this location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsec": { +"description": "Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router.", +"id": "InterconnectMacsec", +"properties": { +"failOpen": { +"description": "If set to true, the Interconnect connection is configured with a should-secure MACsec security policy, that allows the Google router to fallback to cleartext traffic if the MKA session cannot be established. By default, the Interconnect connection is configured with a must-secure security policy that drops all traffic if the MKA session cannot be established with your router.", +"type": "boolean" +}, +"preSharedKeys": { +"description": "Required. A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfig": { +"description": "MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection.", +"id": "InterconnectMacsecConfig", +"properties": { +"preSharedKeys": { +"description": "A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecConfigPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfigPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecConfigPreSharedKey", +"properties": { +"cak": { +"description": "An auto-generated Connectivity Association Key (CAK) for this key.", +"type": "string" +}, +"ckn": { +"description": "An auto-generated Connectivity Association Key Name (CKN) for this key.", +"type": "string" +}, +"name": { +"description": "User provided name for this pre-shared key.", +"type": "string" +}, +"startTime": { +"description": "User provided timestamp on or after which this key is valid.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsecPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecPreSharedKey", +"properties": { +"name": { +"description": "Required. A name for this pre-shared key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"startTime": { +"description": "A RFC3339 timestamp on or after which the key is valid. startTime can be in the future. If the keychain has a single key, startTime can be omitted. If the keychain has multiple keys, startTime is mandatory for each key. The start times of keys must be in increasing order. The start times of two consecutive keys must be at least 6 hours apart.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectOutageNotification": { +"description": "Description of a planned outage on this Interconnect.", +"id": "InterconnectOutageNotification", +"properties": { +"affectedCircuits": { +"description": "If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be affected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "A description about the purpose of the outage.", +"type": "string" +}, +"endTime": { +"description": "Scheduled end time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"issueType": { +"description": "Form this outage is expected to take, which can take one of the following values: - OUTAGE: The Interconnect may be completely out of service for some or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain up, but with reduced bandwidth. Note that the versions of this enum prefixed with \"IT_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"IT_OUTAGE", +"IT_PARTIAL_OUTAGE", +"OUTAGE", +"PARTIAL_OUTAGE" +], +"enumDescriptions": [ +"[Deprecated] The Interconnect may be completely out of service for some or all of the specified window.", +"[Deprecated] Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth.", +"The Interconnect may be completely out of service for some or all of the specified window.", +"Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth." +], +"type": "string" +}, +"name": { +"description": "Unique identifier for this outage notification.", +"type": "string" +}, +"source": { +"description": "The party that generated this notification, which can take the following value: - GOOGLE: this notification as generated by Google. Note that the value of NSRC_GOOGLE has been deprecated in favor of GOOGLE.", +"enum": [ +"GOOGLE", +"NSRC_GOOGLE" +], +"enumDescriptions": [ +"This notification was generated by Google.", +"[Deprecated] This notification was generated by Google." +], +"type": "string" +}, +"startTime": { +"description": "Scheduled start time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"state": { +"description": "State of this notification, which can take one of the following values: - ACTIVE: This outage notification is active. The event could be in the past, present, or future. See start_time and end_time for scheduling. - CANCELLED: The outage associated with this notification was cancelled before the outage was due to start. - COMPLETED: The outage associated with this notification is complete. Note that the versions of this enum prefixed with \"NS_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"ACTIVE", +"CANCELLED", +"COMPLETED", +"NS_ACTIVE", +"NS_CANCELED" +], +"enumDescriptions": [ +"This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"The outage associated with this notification was cancelled before the outage was due to start.", +"The outage associated with this notification is complete.", +"[Deprecated] This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"[Deprecated] The outage associated with this notification was canceled before the outage was due to start." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocation": { +"description": "Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN).", +"id": "InterconnectRemoteLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"attachmentConfigurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location." +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"constraints": { +"$ref": "InterconnectRemoteLocationConstraints", +"description": "[Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments." +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectRemoteLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations.", +"type": "string" +}, +"lacp": { +"description": "[Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED", +"enum": [ +"LACP_SUPPORTED", +"LACP_UNSUPPORTED" +], +"enumDescriptions": [ +"LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.", +"LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port. GetDiagnostics shows bundleAggregationType as \"static\". GCP does not support LAGs without LACP, so requestedLinkCount must be 1." +], +"type": "string" +}, +"maxLagSize100Gbps": { +"description": "[Output Only] The maximum number of 100 Gbps ports supported in a link aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps.", +"format": "int32", +"type": "integer" +}, +"maxLagSize10Gbps": { +"description": "[Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"permittedConnections": { +"description": "[Output Only] Permitted connections.", +"items": { +"$ref": "InterconnectRemoteLocationPermittedConnections" +}, +"type": "array" +}, +"remoteService": { +"description": "[Output Only] Indicates the service provider present at the remote location. Example values: \"Amazon Web Services\", \"Microsoft Azure\".", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.", +"The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraints": { +"id": "InterconnectRemoteLocationConstraints", +"properties": { +"portPairRemoteLocation": { +"description": "[Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.", +"enum": [ +"PORT_PAIR_MATCHING_REMOTE_LOCATION", +"PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_REMOTE_LOCATION, the remote cloud provider allocates ports in pairs, and the user should choose the same remote location for both ports.", +"If PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, a user may opt to provision a redundant pair of Cross-Cloud Interconnects using two different remote locations in the same city." +], +"type": "string" +}, +"portPairVlan": { +"description": "[Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN", +"enum": [ +"PORT_PAIR_MATCHING_VLAN", +"PORT_PAIR_UNCONSTRAINED_VLAN" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_VLAN, the Interconnect for this attachment is part of a pair of ports that should have matching VLAN allocations. This occurs with Cross-Cloud Interconnect to Azure remote locations. While GCP's API does not explicitly group pairs of ports, the UI uses this field to ensure matching VLAN ids when configuring a redundant VLAN pair.", +"PORT_PAIR_UNCONSTRAINED_VLAN means there is no constraint." +], +"type": "string" +}, +"subnetLengthRange": { +"$ref": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"description": "[Output Only] [min-length, max-length] The minimum and maximum value (inclusive) for the IPv4 subnet length. For example, an interconnectRemoteLocation for Azure has {min: 30, max: 30} because Azure requires /30 subnets. This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be {min: 29, max: 30}. " +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraintsSubnetLengthRange": { +"id": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"properties": { +"max": { +"format": "int32", +"type": "integer" +}, +"min": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationList": { +"description": "Response to the list request, and contains a list of interconnect remote locations.", +"id": "InterconnectRemoteLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectRemoteLocation resources.", +"items": { +"$ref": "InterconnectRemoteLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectRemoteLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token lets you get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationPermittedConnections": { +"id": "InterconnectRemoteLocationPermittedConnections", +"properties": { +"interconnectLocation": { +"description": "[Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectsGetDiagnosticsResponse": { +"description": "Response for the InterconnectsGetDiagnosticsRequest.", +"id": "InterconnectsGetDiagnosticsResponse", +"properties": { +"result": { +"$ref": "InterconnectDiagnostics" +} +}, +"type": "object" +}, +"InterconnectsGetMacsecConfigResponse": { +"description": "Response for the InterconnectsGetMacsecConfigRequest.", +"id": "InterconnectsGetMacsecConfigResponse", +"properties": { +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +}, +"result": { +"$ref": "InterconnectMacsecConfig" +} +}, +"type": "object" +}, +"License": { +"description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "License", +"properties": { +"chargesUseFee": { +"description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#license", +"description": "[Output Only] Type of resource. Always compute#license for licenses.", +"type": "string" +}, +"licenseCode": { +"description": "[Output Only] The unique code used to attach this license to images, snapshots, and disks.", +"format": "uint64", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"description": "Name of the resource. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"resourceRequirements": { +"$ref": "LicenseResourceRequirements", +"description": "[Input Only] Deprecated." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"transferable": { +"description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", +"type": "boolean" +} +}, +"type": "object" +}, +"LicenseCode": { +"description": "Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "LicenseCode", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#licenseCode", +"description": "[Output Only] Type of resource. Always compute#licenseCode for licenses.", +"type": "string" +}, +"licenseAlias": { +"description": "[Output Only] URL and description aliases of Licenses with the same License Code.", +"items": { +"$ref": "LicenseCodeLicenseAlias" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.licenses.insert" +] +}, +"description": "[Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer.", +"pattern": "[0-9]{0,20}?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"state": { +"description": "[Output Only] Current state of this License Code.", +"enum": [ +"DISABLED", +"ENABLED", +"RESTRICTED", +"STATE_UNSPECIFIED", +"TERMINATED" +], +"enumDescriptions": [ +"Machines are not allowed to attach boot disks with this License Code. Requests to create new resources with this license will be rejected.", +"Use is allowed for anyone with USE_READ_ONLY access to this License Code.", +"Use of this license is limited to a project whitelist.", +"", +"Reserved state." +], +"type": "string" +}, +"transferable": { +"description": "[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred.", +"type": "boolean" +} +}, +"type": "object" +}, +"LicenseCodeLicenseAlias": { +"id": "LicenseCodeLicenseAlias", +"properties": { +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] URL of license corresponding to this License Code.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceCommitment": { +"description": "Commitment for a particular license resource.", +"id": "LicenseResourceCommitment", +"properties": { +"amount": { +"description": "The number of licenses purchased.", +"format": "int64", +"type": "string" +}, +"coresPerLicense": { +"description": "Specifies the core range of the instance for which this license applies.", +"type": "string" +}, +"license": { +"description": "Any applicable license URI.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceRequirements": { +"id": "LicenseResourceRequirements", +"properties": { +"minGuestCpuCount": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", +"format": "int32", +"type": "integer" +}, +"minMemoryMb": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"LicensesListResponse": { +"id": "LicensesListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of License resources.", +"items": { +"$ref": "License" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"LocalDisk": { +"id": "LocalDisk", +"properties": { +"diskCount": { +"description": "Specifies the number of such disks.", +"format": "int32", +"type": "integer" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int32", +"type": "integer" +}, +"diskType": { +"description": "Specifies the desired disk type on the node. This disk type must be a local storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be the name of the disk type and not its URL.", +"type": "string" +} +}, +"type": "object" +}, +"LocalizedMessage": { +"description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", +"id": "LocalizedMessage", +"properties": { +"locale": { +"description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", +"type": "string" +}, +"message": { +"description": "The localized error message in the above locale.", +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicy": { +"description": "Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).", +"id": "LocationPolicy", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "LocationPolicyLocation" +}, +"description": "Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.", +"type": "object" +}, +"targetShape": { +"description": "Strategy for distributing VMs across zones in a region.", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED" +], +"enumDescriptions": [ +"GCE picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"GCE always selects a single zone for all the VMs, optimizing for resource quotas, available reservations and general capacity. Recommended for batch workloads that cannot tollerate distribution over multiple zones. This the default shape in Bulk Insert and Capacity Advisor APIs.", +"GCE prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across allowed zones to minimize the impact of zonal failure. Recommended for highly available serving workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocation": { +"id": "LocationPolicyLocation", +"properties": { +"constraints": { +"$ref": "LocationPolicyLocationConstraints", +"description": "Constraints that the caller requires on the result distribution in this zone." +}, +"preference": { +"description": "Preference for a given location. Set to either ALLOW or DENY.", +"enum": [ +"ALLOW", +"DENY", +"PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"Location is allowed for use.", +"Location is prohibited.", +"Default value, unused." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocationConstraints": { +"description": "Per-zone constraints on location policy for this zone.", +"id": "LocationPolicyLocationConstraints", +"properties": { +"maxCount": { +"description": "Maximum number of items that are allowed to be placed in this zone. The value must be non-negative.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MachineImage": { +"description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", +"id": "MachineImage", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this machine image in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] A unique identifier for this machine image. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "[Output Only] Properties of source instance" +}, +"kind": { +"default": "compute#machineImage", +"description": "[Output Only] The resource type, which is always compute#machineImage for machine image.", +"type": "string" +}, +"machineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the machine image using a customer-supplied encryption key. After you encrypt a machine image using a customer-supplied key, you must provide the same key if you use the machine image later. For example, you must provide the encryption key when you create an instance from the encrypted machine image in a future request. Customer-supplied encryption keys do not protect access to metadata of the machine image. If you do not provide an encryption key when creating the machine image, then the machine image will be encrypted using an automatically generated key and you do not need to provide a key to use the machine image later." +}, +"name": { +"annotations": { +"required": [ +"compute.machineImages.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"savedDisks": { +"description": "An array of Machine Image specific properties for disks attached to the source instance", +"items": { +"$ref": "SavedDisk" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] The URL for this machine image. The server defines this URL.", +"type": "string" +}, +"sourceDiskEncryptionKeys": { +"description": "[Input Only] The customer-supplied encryption key of the disks attached to the source instance. Required if the source disk is protected by a customer-supplied encryption key.", +"items": { +"$ref": "SourceDiskEncryptionKey" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create the machine image. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceProperties": { +"$ref": "SourceInstanceProperties", +"description": "[Output Only] DEPRECATED: Please use instance_properties instead for source instance related properties. New properties will not be added to this field." +}, +"status": { +"description": "[Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"totalStorageBytes": { +"description": "[Output Only] Total size of the storage used by the machine image.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MachineImageList": { +"description": "A list of machine images.", +"id": "MachineImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineImage resources.", +"items": { +"$ref": "MachineImage" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineImageList", +"description": "[Output Only] The resource type, which is always compute#machineImagesListResponse for machine image lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineType": { +"description": "Represents a Machine Type resource. You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types.", +"id": "MachineType", +"properties": { +"accelerators": { +"description": "[Output Only] A list of accelerator configurations assigned to this machine type.", +"items": { +"properties": { +"guestAcceleratorCount": { +"description": "Number of accelerator cards exposed to the guest.", +"format": "int32", +"type": "integer" +}, +"guestAcceleratorType": { +"description": "The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"architecture": { +"description": "[Output Only] The architecture of the machine type.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this machine type. Only applicable if the machine type is unavailable." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"imageSpaceGb": { +"description": "[Deprecated] This property is deprecated and will never be populated with any relevant values.", +"format": "int32", +"type": "integer" +}, +"isSharedCpu": { +"description": "[Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.", +"type": "boolean" +}, +"kind": { +"default": "compute#machineType", +"description": "[Output Only] The type of the resource. Always compute#machineType for machine types.", +"type": "string" +}, +"maximumPersistentDisks": { +"description": "[Output Only] Maximum persistent disks allowed.", +"format": "int32", +"type": "integer" +}, +"maximumPersistentDisksSizeGb": { +"description": "[Output Only] Maximum total persistent disks size (GB) allowed.", +"format": "int64", +"type": "string" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the instance, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"scratchDisks": { +"description": "[Output Only] A list of extended scratch disks assigned to the instance.", +"items": { +"properties": { +"diskGb": { +"description": "Size of the scratch disk, defined in GB.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the machine type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"MachineTypeAggregatedList": { +"id": "MachineTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "MachineTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of machine types." +}, +"description": "A list of MachineTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#machineTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#machineTypeAggregatedList for aggregated lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineTypeList": { +"description": "Contains a list of machine types.", +"id": "MachineTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineType resources.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineTypeList", +"description": "[Output Only] Type of resource. Always compute#machineTypeList for lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"MachineTypesScopedList": { +"id": "MachineTypesScopedList", +"properties": { +"machineTypes": { +"description": "[Output Only] A list of machine types contained in this scope.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the machine types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ManagedInstance": { +"description": "A Managed Instance resource.", +"id": "ManagedInstance", +"properties": { +"currentAction": { +"description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: - NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. - CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased instead. - RECREATING The managed instance group is recreating this instance. - DELETING The managed instance group is permanently deleting this instance. - ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. - RESTARTING The managed instance group is restarting the instance. - REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance. - VERIFYING The managed instance group has created the instance and it is in the process of being verified. ", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"id": { +"description": "[Output only] The unique identifier for this resource. This field is empty when instance does not exist.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can exist even if the instance has not yet been created.", +"type": "string" +}, +"instanceHealth": { +"description": "[Output Only] Health state of the instance per health-check.", +"items": { +"$ref": "ManagedInstanceInstanceHealth" +}, +"type": "array" +}, +"instanceStatus": { +"description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", +"enum": [ +"DEPROVISIONING", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"lastAttempt": { +"$ref": "ManagedInstanceLastAttempt", +"description": "[Output Only] Information about the last attempt to create or delete the instance." +}, +"name": { +"description": "[Output Only] The name of the instance. The name always exists even if the instance has not yet been created.", +"type": "string" +}, +"preservedStateFromConfig": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state applied from per-instance config for this instance." +}, +"preservedStateFromPolicy": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state generated based on stateful policy for this instance." +}, +"propertiesFromFlexibilityPolicy": { +"$ref": "ManagedInstancePropertiesFromFlexibilityPolicy", +"description": "[Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy." +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Intended version of this instance." +} +}, +"type": "object" +}, +"ManagedInstanceInstanceHealth": { +"id": "ManagedInstanceInstanceHealth", +"properties": { +"detailedHealthState": { +"description": "[Output Only] The current detailed instance health state.", +"enum": [ +"DRAINING", +"HEALTHY", +"TIMEOUT", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"The instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.", +"The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.", +"The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout.", +"The instance is reachable, but does not conform to the requirements defined by the health check.", +"The health checking system is aware of the instance but its health is not known at the moment." +], +"type": "string" +}, +"healthCheck": { +"description": "[Output Only] The URL for the health check that verifies whether the instance is healthy.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceLastAttempt": { +"id": "ManagedInstanceLastAttempt", +"properties": { +"errors": { +"description": "[Output Only] Encountered errors during the last attempt to create or delete the instance.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ManagedInstancePropertiesFromFlexibilityPolicy": { +"id": "ManagedInstancePropertiesFromFlexibilityPolicy", +"properties": { +"machineType": { +"description": "The machine type to be used for this instance.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceVersion": { +"id": "ManagedInstanceVersion", +"properties": { +"instanceTemplate": { +"description": "[Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING }.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the version.", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", +"items": { +"description": "Metadata", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.", +"pattern": "[a-zA-Z0-9-_]{1,128}", +"type": "string" +}, +"value": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilter": { +"description": "Opaque filter criteria used by load balancers to restrict routing configuration to a limited set of load balancing proxies. Proxies and sidecars involved in load balancing would typically present metadata to the load balancers that need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. An example for using metadataFilters would be: if load balancing involves Envoys, they receive routing configuration when values in metadataFilters match values supplied in of their XDS requests to loadbalancers.", +"id": "MetadataFilter", +"properties": { +"filterLabels": { +"description": "The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.", +"items": { +"$ref": "MetadataFilterLabelMatch" +}, +"type": "array" +}, +"filterMatchCriteria": { +"description": "Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata. ", +"enum": [ +"MATCH_ALL", +"MATCH_ANY", +"NOT_SET" +], +"enumDescriptions": [ +"Specifies that all filterLabels must match for the metadataFilter to be considered a match.", +"Specifies that any filterLabel must match for the metadataFilter to be considered a match.", +"Indicates that the match criteria was not set. A metadataFilter must never be created with this value." +], +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilterLabelMatch": { +"description": "MetadataFilter label name value pairs that are expected to match corresponding labels presented as metadata to the load balancer.", +"id": "MetadataFilterLabelMatch", +"properties": { +"name": { +"description": "Name of metadata label. The name can have a maximum length of 1024 characters and must be at least 1 character long.", +"type": "string" +}, +"value": { +"description": "The value of the label must match the specified value. value can have a maximum length of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"NamedPort": { +"description": "The named port. For example: <\"http\", 80>.", +"id": "NamedPort", +"properties": { +"name": { +"description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.", +"type": "string" +}, +"port": { +"description": "The port number, which can be a value between 1 and 65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NatIpInfo": { +"description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).", +"id": "NatIpInfo", +"properties": { +"natIpInfoMappings": { +"description": "A list of all NAT IPs assigned to this NAT config.", +"items": { +"$ref": "NatIpInfoNatIpInfoMapping" +}, +"type": "array" +}, +"natName": { +"description": "Name of the NAT config which the NAT IP belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoNatIpInfoMapping": { +"description": "Contains information of a NAT IP.", +"id": "NatIpInfoNatIpInfoMapping", +"properties": { +"mode": { +"description": "Specifies whether NAT IP is auto or manual.", +"enum": [ +"AUTO", +"MANUAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"natIp": { +"description": "NAT IP address. For example: 203.0.113.11.", +"type": "string" +}, +"usage": { +"description": "Specifies whether NAT IP is currently serving at least one endpoint or not.", +"enum": [ +"IN_USE", +"UNUSED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoResponse": { +"id": "NatIpInfoResponse", +"properties": { +"result": { +"description": "[Output Only] A list of NAT IP information.", +"items": { +"$ref": "NatIpInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"Network": { +"description": "Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Network", +"properties": { +"IPv4Range": { +"deprecated": true, +"description": "Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", +"type": "string" +}, +"autoCreateSubnetworks": { +"description": "Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"enableUlaInternalIpv6": { +"description": "Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. .", +"type": "boolean" +}, +"firewallPolicy": { +"description": "[Output Only] URL of the firewall policy the network is associated with.", +"type": "string" +}, +"gatewayIPv4": { +"description": "[Output Only] The gateway address for default routing out of the network, selected by Google Cloud.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Range": { +"description": "When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. .", +"type": "string" +}, +"kind": { +"default": "compute#network", +"description": "[Output Only] Type of the resource. Always compute#network for networks.", +"type": "string" +}, +"mtu": { +"description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", +"format": "int32", +"type": "integer" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkFirewallPolicyEnforcementOrder": { +"description": "The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified.", +"enum": [ +"AFTER_CLASSIC_FIREWALL", +"BEFORE_CLASSIC_FIREWALL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"networkProfile": { +"description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", +"type": "string" +}, +"peerings": { +"description": "[Output Only] A list of network peerings for the resource.", +"items": { +"$ref": "NetworkPeering" +}, +"type": "array" +}, +"routingConfig": { +"$ref": "NetworkRoutingConfig", +"description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"subnetworks": { +"description": "[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachment": { +"description": "NetworkAttachments A network attachment resource ...", +"id": "NetworkAttachment", +"properties": { +"connectionEndpoints": { +"description": "[Output Only] An array of connections for all the producers connected to this network attachment.", +"items": { +"$ref": "NetworkAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkAttachment", +"description": "[Output Only] Type of the resource.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.networkAttachments.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "[Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.", +"type": "string" +}, +"producerAcceptLists": { +"description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerRejectLists": { +"description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"subnetworks": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachmentAggregatedList": { +"description": "Contains a list of NetworkAttachmentsScopedList.", +"id": "NetworkAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkAttachmentsScopedList", +"description": "Name of the scope containing this set of NetworkAttachments." +}, +"description": "A list of NetworkAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkAttachmentAggregatedList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this network attachment.", +"id": "NetworkAttachmentConnectedEndpoint", +"properties": { +"ipAddress": { +"description": "The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.", +"type": "string" +}, +"ipv6Address": { +"description": "The IPv6 address assigned to the producer instance network interface. This is only assigned when the stack types of both the instance network interface and the consumer subnet are IPv4_IPv6.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number of the interface to which the IP was assigned.", +"type": "string" +}, +"secondaryIpCidrRanges": { +"description": "Alias IP ranges from the same subnetwork.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "The status of a connected endpoint to this network attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The consumer allows traffic from the producer to reach its VPC.", +"The consumer network attachment no longer exists.", +"The consumer needs to take further action before traffic can be served.", +"The consumer neither allows nor prohibits traffic from the producer to reach its VPC.", +"The consumer prohibits traffic from the producer to reach its VPC.", +"" +], +"type": "string" +}, +"subnetwork": { +"description": "The subnetwork used to assign the IP to the producer instance network interface.", +"type": "string" +}, +"subnetworkCidrRange": { +"description": "[Output Only] The CIDR range of the subnet from which the IPv4 internal IP was allocated from.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAttachmentList": { +"id": "NetworkAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkAttachment resources.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkAttachmentList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkAttachmentsScopedList": { +"id": "NetworkAttachmentsScopedList", +"properties": { +"networkAttachments": { +"description": "A list of NetworkAttachments contained in this scope.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of network attachments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityService": { +"description": "Represents a Google Cloud Armor network edge security service resource.", +"id": "NetworkEdgeSecurityService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEdgeSecurityService", +"description": "[Output only] Type of the resource. Always compute#networkEdgeSecurityService for NetworkEdgeSecurityServices", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the network edge security service associated with this network edge security service.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityServiceAggregatedList": { +"id": "NetworkEdgeSecurityServiceAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEdgeSecurityServicesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of NetworkEdgeSecurityServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEdgeSecurityServiceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security Services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityServicesScopedList": { +"id": "NetworkEdgeSecurityServicesScopedList", +"properties": { +"networkEdgeSecurityServices": { +"description": "A list of NetworkEdgeSecurityServices contained in this scope.", +"items": { +"$ref": "NetworkEdgeSecurityService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpoint": { +"description": "The network endpoint.", +"id": "NetworkEndpoint", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint.", +"type": "object" +}, +"clientDestinationPort": { +"description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", +"format": "int32", +"type": "integer" +}, +"fqdn": { +"description": "Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.", +"type": "string" +}, +"instance": { +"description": "The name or a URL of VM instance of this network endpoint. This field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", +"type": "string" +}, +"ipAddress": { +"description": "Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.", +"type": "string" +}, +"ipv6Address": { +"description": "Optional IPv6 address of network endpoint.", +"type": "string" +}, +"port": { +"description": "Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NetworkEndpointGroup": { +"description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.", +"id": "NetworkEndpointGroup", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"appEngine": { +"$ref": "NetworkEndpointGroupAppEngine", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudFunction": { +"$ref": "NetworkEndpointGroupCloudFunction", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudRun": { +"$ref": "NetworkEndpointGroupCloudRun", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultPort": { +"description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEndpointGroup", +"description": "[Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group.", +"type": "string" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"network": { +"description": "The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified.", +"type": "string" +}, +"networkEndpointType": { +"description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", +"enum": [ +"GCE_VM_IP", +"GCE_VM_IP_PORT", +"GCE_VM_IP_PORTMAP", +"INTERNET_FQDN_PORT", +"INTERNET_IP_PORT", +"NON_GCP_PRIVATE_IP_PORT", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS" +], +"enumDescriptions": [ +"The network endpoint is represented by an IP address.", +"The network endpoint is represented by IP address and port pair.", +"The network endpoint is represented by an IP, Port and Client Destination Port.", +"The network endpoint is represented by fully qualified domain name and port.", +"The network endpoint is represented by an internet IP address and port.", +"The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer's on-premises.", +"The network endpoint is either public Google APIs or services exposed by other GCP Project with a Service Attachment. The connection is set up by private service connect", +"The network endpoint is handled by specified serverless infrastructure." +], +"type": "string" +}, +"pscData": { +"$ref": "NetworkEndpointGroupPscData" +}, +"pscTargetService": { +"description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the network endpoint group is located.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"size": { +"description": "[Output only] Number of network endpoints in the network endpoint group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the network endpoint group is located.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupAggregatedList": { +"id": "NetworkEndpointGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEndpointGroupsScopedList", +"description": "The name of the scope that contains this set of network endpoint groups." +}, +"description": "A list of NetworkEndpointGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEndpointGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupAggregatedList for aggregated lists of network endpoint groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupAppEngine": { +"description": "Configuration for an App Engine network endpoint group (NEG). The service is optional, may be provided explicitly or in the URL mask. The version is optional and can only be provided explicitly or in the URL mask when service is present. Note: App Engine service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupAppEngine", +"properties": { +"service": { +"description": "Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: default, my-service.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLs foo1-dot-appname.appspot.com/v1 and foo1-dot-appname.appspot.com/v2 can be backed by the same Serverless NEG with URL mask -dot-appname.appspot.com/. The URL mask will parse them to { service = \"foo1\", version = \"v1\" } and { service = \"foo1\", version = \"v2\" } respectively.", +"type": "string" +}, +"version": { +"description": "Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: v1, v2.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudFunction": { +"description": "Configuration for a Cloud Function network endpoint group (NEG). The function must be provided explicitly or in the URL mask. Note: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudFunction", +"properties": { +"function": { +"description": "A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: func1.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs mydomain.com/function1 and mydomain.com/function2 can be backed by the same Serverless NEG with URL mask /. The URL mask will parse them to { function = \"function1\" } and { function = \"function2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudRun": { +"description": "Configuration for a Cloud Run network endpoint group (NEG). The service must be provided explicitly or in the URL mask. The tag is optional, may be provided explicitly or in the URL mask. Note: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudRun", +"properties": { +"service": { +"description": "Cloud Run service is the main resource of Cloud Run. The service must be 1-63 characters long, and comply with RFC1035. Example value: \"run-service\".", +"type": "string" +}, +"tag": { +"description": "Optional Cloud Run tag represents the \"named-revision\" to provide additional fine-grained traffic routing information. The tag must be 1-63 characters long, and comply with RFC1035. Example value: \"revision-0010\".", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse and fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs foo1.domain.com/bar1 and foo1.domain.com/bar2 can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask .domain.com/. The URL mask will parse them to { service=\"bar1\", tag=\"foo1\" } and { service=\"bar2\", tag=\"foo2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupList": { +"id": "NetworkEndpointGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointGroup resources.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupList for network endpoint group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupPscData": { +"description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", +"id": "NetworkEndpointGroupPscData", +"properties": { +"consumerPscAddress": { +"description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", +"type": "string" +}, +"producerPort": { +"description": "The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type", +"format": "int32", +"type": "integer" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"description": "[Output Only] The connection status of the PSC Forwarding Rule.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsAttachEndpointsRequest": { +"id": "NetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsDetachEndpointsRequest": { +"id": "NetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListEndpointsRequest": { +"id": "NetworkEndpointGroupsListEndpointsRequest", +"properties": { +"healthStatus": { +"description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", +"enum": [ +"SHOW", +"SKIP" +], +"enumDescriptions": [ +"Show the health status for each network endpoint. Impacts latency of the call.", +"Health status for network endpoints will not be provided." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListNetworkEndpoints": { +"id": "NetworkEndpointGroupsListNetworkEndpoints", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointWithHealthStatus resources.", +"items": { +"$ref": "NetworkEndpointWithHealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupsListNetworkEndpoints", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsScopedList": { +"id": "NetworkEndpointGroupsScopedList", +"properties": { +"networkEndpointGroups": { +"description": "[Output Only] The list of network endpoint groups that are contained in this scope.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkEndpointWithHealthStatus": { +"id": "NetworkEndpointWithHealthStatus", +"properties": { +"healths": { +"description": "[Output only] The health status of network endpoint;", +"items": { +"$ref": "HealthStatusForNetworkEndpoint" +}, +"type": "array" +}, +"networkEndpoint": { +"$ref": "NetworkEndpoint", +"description": "[Output only] The network endpoint;" +} +}, +"type": "object" +}, +"NetworkFirewallPolicyAggregatedList": { +"id": "NetworkFirewallPolicyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "FirewallPoliciesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of FirewallPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkFirewallPolicyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkInterface": { +"description": "A network interface resource attached to an instance.", +"id": "NetworkInterface", +"properties": { +"accessConfigs": { +"description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"aliasIpRanges": { +"description": "An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"items": { +"$ref": "AliasIpRange" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.", +"format": "byte", +"type": "string" +}, +"internalIpv6PrefixLength": { +"description": "The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" +}, +"ipv6AccessConfigs": { +"description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"ipv6AccessType": { +"description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"This network interface can have external IPv6.", +"This network interface can have internal IPv6." +], +"type": "string" +}, +"ipv6Address": { +"description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"kind": { +"default": "compute#networkInterface", +"description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.", +"type": "string" +}, +"network": { +"description": "URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default ", +"type": "string" +}, +"networkAttachment": { +"description": "The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, +"networkIP": { +"description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", +"type": "string" +}, +"nicType": { +"description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"queueCount": { +"description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"The network interface can have both IPv4 and IPv6 addresses.", +"The network interface will only be assigned IPv4 addresses.", +"The network interface will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", +"type": "string" +} +}, +"type": "object" +}, +"NetworkList": { +"description": "Contains a list of networks.", +"id": "NetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Network resources.", +"items": { +"$ref": "Network" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkList", +"description": "[Output Only] Type of resource. Always compute#networkList for lists of networks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkPeering": { +"description": "A network peering attached to a network resource. The message includes the peering name, peer network, peering state, and a flag indicating whether Google Compute Engine should automatically create routes for the peering.", +"id": "NetworkPeering", +"properties": { +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exchangeSubnetRoutes": { +"description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exportCustomRoutes": { +"description": "Whether to export the custom routes to peer network. The default value is false.", +"type": "boolean" +}, +"exportSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are exported. The default value is true, all subnet routes are exported. IPv4 special-use ranges are always exported to peers and are not controlled by this field.", +"type": "boolean" +}, +"importCustomRoutes": { +"description": "Whether to import the custom routes from peer network. The default value is false.", +"type": "boolean" +}, +"importSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are imported. The default value is false. IPv4 special-use ranges are always imported from peers and are not controlled by this field.", +"type": "boolean" +}, +"name": { +"description": "Name of this peering. Provided by the client when the peering is created. The name must comply with RFC1035. Specifically, the name must be 1-63 characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all the following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"network": { +"description": "The URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +}, +"peerMtu": { +"description": "Maximum Transmission Unit in bytes.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", +"This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." +], +"type": "string" +}, +"state": { +"description": "[Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The peering is `ACTIVE` when there's a matching configuration in the peer network.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Matching configuration exists on the peer.", +"There is no matching configuration on the peer, including the case when peer does not exist." +], +"type": "string" +}, +"stateDetails": { +"description": "[Output Only] Details about the current state of the peering.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkPerformanceConfig": { +"id": "NetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"enum": [ +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfile": { +"description": "NetworkProfile represents a Google managed network profile resource.", +"id": "NetworkProfile", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"features": { +"$ref": "NetworkProfileNetworkFeatures", +"description": "[Output Only] Features supported by the network." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkProfile", +"description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", +"type": "string" +}, +"location": { +"$ref": "NetworkProfileLocation", +"description": "[Output Only] Location to which the network is restricted." +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"zone": { +"description": "[Output Only] Zone to which the network is restricted.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileLocation": { +"id": "NetworkProfileLocation", +"properties": { +"name": { +"type": "string" +}, +"scope": { +"enum": [ +"REGION", +"ZONE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileNetworkFeatures": { +"id": "NetworkProfileNetworkFeatures", +"properties": { +"addressPurposes": { +"description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", +"items": { +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"IP range for peer networks." +], +"type": "string" +}, +"type": "array" +}, +"allowAliasIpRanges": { +"description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", +"enum": [ +"ALIAS_IP_RANGES_ALLOWED", +"ALIAS_IP_RANGES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowAutoModeSubnet": { +"description": "Specifies whether auto mode subnet creation is allowed.", +"enum": [ +"AUTO_MODE_SUBNET_ALLOWED", +"AUTO_MODE_SUBNET_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowClassDFirewalls": { +"description": "Specifies whether firewalls for Class D address ranges are supported.", +"enum": [ +"CLASS_D_FIREWALLS_ALLOWED", +"CLASS_D_FIREWALLS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudNat": { +"description": "Specifies whether cloud NAT creation is allowed.", +"enum": [ +"CLOUD_NAT_ALLOWED", +"CLOUD_NAT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudRouter": { +"description": "Specifies whether cloud router creation is allowed.", +"enum": [ +"CLOUD_ROUTER_ALLOWED", +"CLOUD_ROUTER_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowExternalIpAccess": { +"description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", +"enum": [ +"EXTERNAL_IP_ACCESS_ALLOWED", +"EXTERNAL_IP_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowInterconnect": { +"description": "Specifies whether Cloud Interconnect creation is allowed.", +"enum": [ +"INTERCONNECT_ALLOWED", +"INTERCONNECT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowLoadBalancing": { +"description": "Specifies whether cloud load balancing is allowed.", +"enum": [ +"LOAD_BALANCING_ALLOWED", +"LOAD_BALANCING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowMultiNicInSameNetwork": { +"description": "Specifies whether multi-nic in the same network is allowed.", +"enum": [ +"MULTI_NIC_IN_SAME_NETWORK_ALLOWED", +"MULTI_NIC_IN_SAME_NETWORK_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPacketMirroring": { +"description": "Specifies whether Packet Mirroring 1.0 is supported.", +"enum": [ +"PACKET_MIRRORING_ALLOWED", +"PACKET_MIRRORING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPrivateGoogleAccess": { +"description": "Specifies whether private Google access is allowed.", +"enum": [ +"PRIVATE_GOOGLE_ACCESS_ALLOWED", +"PRIVATE_GOOGLE_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPsc": { +"description": "Specifies whether PSC creation is allowed.", +"enum": [ +"PSC_ALLOWED", +"PSC_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSameNetworkUnicast": { +"description": "Specifies whether unicast within the same network is allowed.", +"enum": [ +"SAME_NETWORK_UNICAST_ALLOWED", +"SAME_NETWORK_UNICAST_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowStaticRoutes": { +"description": "Specifies whether static route creation is allowed.", +"enum": [ +"STATIC_ROUTES_ALLOWED", +"STATIC_ROUTES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSubInterfaces": { +"description": "Specifies whether sub interfaces are allowed.", +"enum": [ +"SUBINTERFACES_ALLOWED", +"SUBINTERFACES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpcPeering": { +"description": "Specifies whether VPC peering is allowed.", +"enum": [ +"VPC_PEERING_ALLOWED", +"VPC_PEERING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpn": { +"description": "Specifies whether VPN creation is allowed.", +"enum": [ +"VPN_ALLOWED", +"VPN_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"interfaceTypes": { +"description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", +"items": { +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"type": "array" +}, +"subnetPurposes": { +"description": "Specifies which subnetwork purposes are supported.", +"items": { +"enum": [ +"SUBNET_PURPOSE_CUSTOM_HARDWARE", +"SUBNET_PURPOSE_PRIVATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"subnetStackTypes": { +"description": "Specifies which subnetwork stack types are supported.", +"items": { +"enum": [ +"SUBNET_STACK_TYPE_IPV4_IPV6", +"SUBNET_STACK_TYPE_IPV4_ONLY", +"SUBNET_STACK_TYPE_IPV6_ONLY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"unicast": { +"description": "Specifies which type of unicast is supported.", +"enum": [ +"UNICAST_SDN", +"UNICAST_ULL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfilesListResponse": { +"description": "Contains a list of network profiles.", +"id": "NetworkProfilesListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkProfile resources.", +"items": { +"$ref": "NetworkProfile" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkProfileList", +"description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NetworkRoutingConfig": { +"description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", +"id": "NetworkRoutingConfig", +"properties": { +"bgpAlwaysCompareMed": { +"description": "Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm.", +"type": "boolean" +}, +"bgpBestPathSelectionMode": { +"description": "The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.", +"enum": [ +"LEGACY", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"bgpInterRegionCost": { +"description": "Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"effectiveBgpAlwaysCompareMed": { +"description": "[Output Only] Effective value of the bgp_always_compare_med field.", +"type": "boolean" +}, +"effectiveBgpInterRegionCost": { +"description": "[Output Only] Effective value of the bgp_inter_region_cost field.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"routingMode": { +"description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", +"enum": [ +"GLOBAL", +"REGIONAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksAddPeeringRequest": { +"id": "NetworksAddPeeringRequest", +"properties": { +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use exchange_subnet_routes in network_peering instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.addPeering" +] +}, +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +}, +"networkPeering": { +"$ref": "NetworkPeering", +"description": "Network peering parameters. In order to specify route policies for peering using import and export custom routes, you must specify all peering related parameters (name, peer network, exchange_subnet_routes) in the network_peering field. The corresponding fields in NetworksAddPeeringRequest will be deprecated soon." +}, +"peerNetwork": { +"description": "URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponse": { +"id": "NetworksGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", +"items": { +"$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy.", +"enum": [ +"HIERARCHY", +"NETWORK", +"SYSTEM", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksRemovePeeringRequest": { +"id": "NetworksRemovePeeringRequest", +"properties": { +"name": { +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksUpdatePeeringRequest": { +"id": "NetworksUpdatePeeringRequest", +"properties": { +"networkPeering": { +"$ref": "NetworkPeering" +} +}, +"type": "object" +}, +"NodeGroup": { +"description": "Represents a sole-tenant Node Group resource. A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, read Sole-tenant nodes.", +"id": "NodeGroup", +"properties": { +"autoscalingPolicy": { +"$ref": "NodeGroupAutoscalingPolicy", +"description": "Specifies how autoscaling should behave." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeGroup", +"description": "[Output Only] The type of the resource. Always compute#nodeGroup for node group.", +"type": "string" +}, +"locationHint": { +"description": "An opaque location hint used to place the Node close to other resources. This field is for use by internal tools that use the public API. The location hint here on the NodeGroup overrides any location_hint present in the NodeTemplate.", +"type": "string" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `AS_NEEDED` and `RECURRENT`.", +"enum": [ +"AS_NEEDED", +"RECURRENT" +], +"enumDescriptions": [ +"VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", +"VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"maintenancePolicy": { +"description": "Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies.", +"enum": [ +"DEFAULT", +"MAINTENANCE_POLICY_UNSPECIFIED", +"MIGRATE_WITHIN_NODE_GROUP", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Allow the node and corresponding instances to retain default maintenance behavior.", +"", +"When maintenance must be done on a node, the instances on that node will be moved to other nodes in the group. Instances with onHostMaintenance = MIGRATE will live migrate to their destinations while instances with onHostMaintenance = TERMINATE will terminate and then restart on their destination nodes if automaticRestart = true.", +"Instances in this group will restart on the same node when maintenance has completed. Instances must have onHostMaintenance = TERMINATE, and they will only restart if automaticRestart = true." +], +"type": "string" +}, +"maintenanceWindow": { +"$ref": "NodeGroupMaintenanceWindow" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"nodeTemplate": { +"description": "URL of the node template to create the node group from.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Share-settings for the node group" +}, +"size": { +"description": "[Output Only] The total number of nodes in the node group.", +"format": "int32", +"type": "integer" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node group resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupAggregatedList": { +"id": "NodeGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeGroupsScopedList", +"description": "[Output Only] Name of the scope containing this set of node groups." +}, +"description": "A list of NodeGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeGroupAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupAggregatedList for aggregated lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupAutoscalingPolicy": { +"id": "NodeGroupAutoscalingPolicy", +"properties": { +"maxNodes": { +"description": "The maximum number of nodes that the group should have. Must be set if autoscaling is enabled. Maximum value allowed is 100.", +"format": "int32", +"type": "integer" +}, +"minNodes": { +"description": "The minimum number of nodes that the group should have.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", +"enum": [ +"MODE_UNSPECIFIED", +"OFF", +"ON", +"ONLY_SCALE_OUT" +], +"enumDescriptions": [ +"", +"Autoscaling is disabled.", +"Autocaling is fully enabled.", +"Autoscaling will only scale out and will not remove nodes." +], +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupList": { +"description": "Contains a list of nodeGroups.", +"id": "NodeGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeGroup resources.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupList for lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupMaintenanceWindow": { +"description": "Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window.", +"id": "NodeGroupMaintenanceWindow", +"properties": { +"maintenanceDuration": { +"$ref": "Duration", +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario." +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupNode": { +"id": "NodeGroupNode", +"properties": { +"accelerators": { +"description": "Accelerators for this node.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"consumedResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Node resources that are reserved by all instances." +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"disks": { +"description": "Local disk configurations.", +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"instanceConsumptionData": { +"description": "Instance data that shows consumed resources on the node.", +"items": { +"$ref": "InstanceConsumptionData" +}, +"type": "array" +}, +"instances": { +"description": "Instances scheduled on this node.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of the node.", +"type": "string" +}, +"nodeType": { +"description": "The type of this node.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Binding properties for the physical server." +}, +"serverId": { +"description": "Server ID associated with this node.", +"type": "string" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"REPAIRING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"totalResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Total amount of available resources on the node." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "[Output Only] The information about an upcoming maintenance event." +} +}, +"type": "object" +}, +"NodeGroupsAddNodesRequest": { +"id": "NodeGroupsAddNodesRequest", +"properties": { +"additionalNodeCount": { +"description": "Count of additional nodes to be added to the node group.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NodeGroupsDeleteNodesRequest": { +"id": "NodeGroupsDeleteNodesRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to delete.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeGroupsListNodes": { +"id": "NodeGroupsListNodes", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Node resources.", +"items": { +"$ref": "NodeGroupNode" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupsListNodes", +"description": "[Output Only] The resource type, which is always compute.nodeGroupsListNodes for the list of nodes in the specified node group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupsPerformMaintenanceRequest": { +"id": "NodeGroupsPerformMaintenanceRequest", +"properties": { +"nodes": { +"description": "[Required] List of nodes affected by the call.", +"items": { +"type": "string" +}, +"type": "array" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsScopedList": { +"id": "NodeGroupsScopedList", +"properties": { +"nodeGroups": { +"description": "[Output Only] A list of node groups contained in this scope.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the nodeGroup list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeGroupsSetNodeTemplateRequest": { +"id": "NodeGroupsSetNodeTemplateRequest", +"properties": { +"nodeTemplate": { +"description": "Full or partial URL of the node template resource to be updated for this node group.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsSimulateMaintenanceEventRequest": { +"id": "NodeGroupsSimulateMaintenanceEventRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to go under maintenance simulation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeTemplate": { +"description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", +"id": "NodeTemplate", +"properties": { +"accelerators": { +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeTemplate", +"description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", +"type": "string" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"nodeAffinityLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to use for node affinity, which will be used in instance scheduling.", +"type": "object" +}, +"nodeType": { +"description": "The node type to use for nodes group that are created from this template.", +"type": "string" +}, +"nodeTypeFlexibility": { +"$ref": "NodeTemplateNodeTypeFlexibility", +"description": "Do not use. Instead, use the node_type property." +}, +"region": { +"description": "[Output Only] The name of the region where the node template resides, such as us-central1.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." +}, +"status": { +"description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resources are being allocated.", +"The node template is currently being deleted.", +"Invalid status.", +"The node template is ready." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplateAggregatedList": { +"id": "NodeTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTemplatesScopedList", +"description": "[Output Only] Name of the scope containing this set of node templates." +}, +"description": "A list of NodeTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTemplateAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTemplateList": { +"description": "Contains a list of node templates.", +"id": "NodeTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeTemplate resources.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTemplateList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateList for lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTemplateNodeTypeFlexibility": { +"id": "NodeTemplateNodeTypeFlexibility", +"properties": { +"cpus": { +"type": "string" +}, +"localSsd": { +"type": "string" +}, +"memory": { +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplatesScopedList": { +"id": "NodeTemplatesScopedList", +"properties": { +"nodeTemplates": { +"description": "[Output Only] A list of node templates contained in this scope.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node templates list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeType": { +"description": "Represent a sole-tenant Node Type resource. Each node within a node group must have a node type. A node type specifies the total amount of cores and memory for that node. Currently, the only available node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory, available in multiple zones. For more information read Node types.", +"id": "NodeType", +"properties": { +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this node type.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this node type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the node type.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeType", +"description": "[Output Only] The type of the resource. Always compute#nodeType for node types.", +"type": "string" +}, +"localSsdGb": { +"description": "[Output Only] Local SSD available to the node type, defined in GB.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the node type, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTypeAggregatedList": { +"id": "NodeTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of node types." +}, +"description": "A list of NodeTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTypeAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeAggregatedList for aggregated lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTypeList": { +"description": "Contains a list of node types.", +"id": "NodeTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeType resources.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTypeList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeList for lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NodeTypesScopedList": { +"id": "NodeTypesScopedList", +"properties": { +"nodeTypes": { +"description": "[Output Only] A list of node types contained in this scope.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node types list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"NotificationEndpoint": { +"description": "Represents a notification endpoint. A notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service. For more information, see Health checks overview.", +"id": "NotificationEndpoint", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcSettings": { +"$ref": "NotificationEndpointGrpcSettings", +"description": "Settings of the gRPC notification endpoint including the endpoint URL and the retry duration." +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#notificationEndpoint", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the notification endpoint resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"NotificationEndpointGrpcSettings": { +"description": "Represents a gRPC setting that describes one gRPC notification endpoint and the retry duration attempting to send notification to this endpoint.", +"id": "NotificationEndpointGrpcSettings", +"properties": { +"authority": { +"description": "Optional. If specified, this field is used to set the authority header by the sender of notifications. See https://tools.ietf.org/html/rfc7540#section-8.1.2.3", +"type": "string" +}, +"endpoint": { +"description": "Endpoint to which gRPC notifications are sent. This must be a valid gRPCLB DNS name.", +"type": "string" +}, +"payloadName": { +"description": "Optional. If specified, this field is used to populate the \"name\" field in gRPC requests.", +"type": "string" +}, +"resendInterval": { +"$ref": "Duration", +"description": "Optional. This field is used to configure how often to send a full update of all non-healthy backends. If unspecified, full updates are not sent. If specified, must be in the range between 600 seconds to 3600 seconds. Nanos are disallowed. Can only be set for regional notification endpoints." +}, +"retryDurationSec": { +"description": "How much time (in seconds) is spent attempting notification retries until a successful response is received. Default is 30s. Limit is 20m (1200s). Must be a positive number.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"NotificationEndpointList": { +"id": "NotificationEndpointList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NotificationEndpoint resources.", +"items": { +"$ref": "NotificationEndpoint" +}, +"type": "array" +}, +"kind": { +"default": "compute#notificationEndpointList", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Operation": { +"description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period.", +"id": "Operation", +"properties": { +"clientOperationId": { +"description": "[Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Deprecated] This field is deprecated.", +"type": "string" +}, +"description": { +"description": "[Output Only] A textual description of the operation, which is set when the operation is created.", +"type": "string" +}, +"endTime": { +"description": "[Output Only] The time that this operation was completed. This value is in RFC3339 text format.", +"type": "string" +}, +"error": { +"description": "[Output Only] If errors are generated during processing of the operation, this field will be populated.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"httpErrorMessage": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", +"type": "string" +}, +"httpErrorStatusCode": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "[Output Only] The time that this operation was requested. This value is in RFC3339 text format.", +"type": "string" +}, +"instancesBulkInsertOperationMetadata": { +"$ref": "InstancesBulkInsertOperationMetadata" +}, +"kind": { +"default": "compute#operation", +"description": "[Output Only] Type of the resource. Always `compute#operation` for Operation resources.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the operation.", +"type": "string" +}, +"operationGroupId": { +"description": "[Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.", +"type": "string" +}, +"operationType": { +"description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", +"type": "string" +}, +"progress": { +"description": "[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"setCommonInstanceMetadataOperationMetadata": { +"$ref": "SetCommonInstanceMetadataOperationMetadata", +"description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." +}, +"startTime": { +"description": "[Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", +"enum": [ +"DONE", +"PENDING", +"RUNNING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional textual description of the current status of the operation.", +"type": "string" +}, +"targetId": { +"description": "[Output Only] The unique target ID, which identifies a specific incarnation of the target resource.", +"format": "uint64", +"type": "string" +}, +"targetLink": { +"description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", +"type": "string" +}, +"user": { +"description": "[Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.", +"type": "string" +}, +"warnings": { +"description": "[Output Only] If warning messages are generated during processing of the operation, this field will be populated.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", +"type": "string" +} +}, +"type": "object" +}, +"OperationAggregatedList": { +"id": "OperationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "OperationsScopedList", +"description": "[Output Only] Name of the scope containing this set of operations." +}, +"description": "[Output Only] A map of scoped operation lists.", +"type": "object" +}, +"kind": { +"default": "compute#operationAggregatedList", +"description": "[Output Only] Type of resource. Always `compute#operationAggregatedList` for aggregated lists of operations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OperationList": { +"description": "Contains a list of Operation resources.", +"id": "OperationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"kind": { +"default": "compute#operationList", +"description": "[Output Only] Type of resource. Always `compute#operations` for Operations resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OperationsScopedList": { +"id": "OperationsScopedList", +"properties": { +"operations": { +"description": "[Output Only] A list of operations contained in this scope.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of operations when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"OutlierDetection": { +"description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.", +"id": "OutlierDetection", +"properties": { +"baseEjectionTime": { +"$ref": "Duration", +"description": "The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s." +}, +"consecutiveErrors": { +"description": "Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.", +"format": "int32", +"type": "integer" +}, +"consecutiveGatewayFailure": { +"description": "The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveErrors": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveGatewayFailure": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.", +"format": "int32", +"type": "integer" +}, +"enforcingSuccessRate": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"interval": { +"$ref": "Duration", +"description": "Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second." +}, +"maxEjectionPercent": { +"description": "Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.", +"format": "int32", +"type": "integer" +}, +"successRateMinimumHosts": { +"description": "The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateRequestVolume": { +"description": "The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateStdevFactor": { +"description": "This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PacketIntervals": { +"description": "Next free: 7", +"id": "PacketIntervals", +"properties": { +"avgMs": { +"description": "Average observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"duration": { +"description": "From how long ago in the past these intervals were observed.", +"enum": [ +"DURATION_UNSPECIFIED", +"HOUR", +"MAX", +"MINUTE" +], +"enumDescriptions": [ +"", +"", +"From BfdSession object creation time.", +"" +], +"type": "string" +}, +"maxMs": { +"description": "Maximum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"minMs": { +"description": "Minimum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"numIntervals": { +"description": "Number of inter-packet intervals from which these statistics were derived.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The type of packets for which inter-packet intervals were computed.", +"enum": [ +"LOOPBACK", +"RECEIVE", +"TRANSMIT", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Only applies to Echo packets. This shows the intervals between sending and receiving the same packet.", +"Intervals between received packets.", +"Intervals between transmitted packets.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroring": { +"description": "Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of specified instances in your Virtual Private Cloud (VPC) network and forwards it to a collector destination, such as an instance group of an internal TCP/UDP load balancer, for analysis or examination. For more information about setting up Packet Mirroring, see Using Packet Mirroring.", +"id": "PacketMirroring", +"properties": { +"collectorIlb": { +"$ref": "PacketMirroringForwardingRuleInfo", +"description": "The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be used as collector for mirrored traffic. The specified forwarding rule must have isMirroringCollector set to true." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enable": { +"description": "Indicates whether or not this packet mirroring takes effect. If set to FALSE, this packet mirroring policy will not be enforced on the network. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"filter": { +"$ref": "PacketMirroringFilter", +"description": "Filter for mirrored traffic. If unspecified, all IPv4 traffic is mirrored." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#packetMirroring", +"description": "[Output Only] Type of the resource. Always compute#packetMirroring for packet mirrorings.", +"type": "string" +}, +"mirroredResources": { +"$ref": "PacketMirroringMirroredResourceInfo", +"description": "PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of mirrored VM instances, subnetworks and/or tags for which traffic from/to all VM instances will be mirrored." +}, +"name": { +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"$ref": "PacketMirroringNetworkInfo", +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"description": "Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network." +}, +"priority": { +"description": "The priority of applying this configuration. Priority is used to break ties in cases where there is more than one matching rule. In the case of two rules that apply for a given Instance, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535.", +"format": "uint32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URI of the region where the packetMirroring resides.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringAggregatedList": { +"description": "Contains a list of packetMirrorings.", +"id": "PacketMirroringAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PacketMirroringsScopedList", +"description": "Name of the scope containing this set of packetMirrorings." +}, +"description": "A list of PacketMirroring resources.", +"type": "object" +}, +"kind": { +"default": "compute#packetMirroringAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PacketMirroringFilter": { +"id": "PacketMirroringFilter", +"properties": { +"IPProtocols": { +"description": "Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cidrRanges": { +"description": "One or more IPv4 or IPv6 CIDR ranges that apply as filters on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH.", +"enum": [ +"BOTH", +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Default, both directions are mirrored.", +"Only egress traffic is mirrored.", +"Only ingress traffic is mirrored." +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringForwardingRuleInfo": { +"id": "PacketMirroringForwardingRuleInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the forwarding rule; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the forwarding rule representing the ILB configured as destination of the mirrored traffic.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringList": { +"description": "Contains a list of PacketMirroring resources.", +"id": "PacketMirroringList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PacketMirroring resources.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"kind": { +"default": "compute#packetMirroringList", +"description": "[Output Only] Type of resource. Always compute#packetMirroring for packetMirrorings.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfo": { +"id": "PacketMirroringMirroredResourceInfo", +"properties": { +"instances": { +"description": "A set of virtual machine instances that are being mirrored. They must live in zones contained in the same region as this packetMirroring. Note that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring. You may specify a maximum of 50 Instances.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoInstanceInfo" +}, +"type": "array" +}, +"subnetworks": { +"description": "A set of subnetworks for which traffic from/to all VM instances will be mirrored. They must live in the same region as this packetMirroring. You may specify a maximum of 5 subnetworks.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoSubnetInfo" +}, +"type": "array" +}, +"tags": { +"description": "A set of mirrored tags. Traffic from/to all VM instances that have one or more of these tags will be mirrored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoInstanceInfo": { +"id": "PacketMirroringMirroredResourceInfoInstanceInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the instance; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the virtual machine instance which is being mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoSubnetInfo": { +"id": "PacketMirroringMirroredResourceInfoSubnetInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the subnetwork; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the subnetwork for which traffic from/to all VM instances will be mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringNetworkInfo": { +"id": "PacketMirroringNetworkInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the network; defined by the server.", +"type": "string" +}, +"url": { +"description": "URL of the network resource.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringsScopedList": { +"id": "PacketMirroringsScopedList", +"properties": { +"packetMirrorings": { +"description": "A list of packetMirrorings contained in this scope.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of packetMirrorings when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PathMatcher": { +"description": "A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default service is used.", +"id": "PathMatcher", +"properties": { +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." +}, +"defaultService": { +"description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backend service. HeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"name": { +"description": "The name to which this PathMatcher is referred by the HostRule.", +"type": "string" +}, +"pathRules": { +"description": "The list of path rules. Use this list instead of routeRules when routing based on simple path matching is all that's required. The order by which path rules are specified does not matter. Matches are always done on the longest-path-first basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/* irrespective of the order in which those paths appear in this list. Within a given pathMatcher, only one of pathRules or routeRules must be set.", +"items": { +"$ref": "PathRule" +}, +"type": "array" +}, +"routeRules": { +"description": "The list of HTTP route rules. Use this list instead of pathRules when advanced route matching and routing actions are desired. routeRules are evaluated in order of priority, from the lowest to highest number. Within a given pathMatcher, you can set only one of pathRules or routeRules.", +"items": { +"$ref": "HttpRouteRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"PathRule": { +"description": "A path-matching rule for a URL. If matched, will use the specified BackendService to handle the traffic arriving at this URL.", +"id": "PathRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"paths": { +"description": "The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"PerInstanceConfig": { +"id": "PerInstanceConfig", +"properties": { +"fingerprint": { +"description": "Fingerprint of this per-instance config. This field can be used in optimistic locking. It is ignored when inserting a per-instance config. An up-to-date fingerprint must be provided in order to update an existing per-instance configuration or the field needs to be unset.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", +"type": "string" +}, +"preservedState": { +"$ref": "PreservedState", +"description": "The intended preserved state for the given instance. Does not contain preserved state generated from a stateful policy." +}, +"status": { +"description": "The status of applying this per-instance configuration on the corresponding managed instance.", +"enum": [ +"APPLYING", +"DELETING", +"EFFECTIVE", +"NONE", +"UNAPPLIED", +"UNAPPLIED_DELETION" +], +"enumDescriptions": [ +"The per-instance configuration is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration is effective on the instance, meaning that all disks, ips and metadata specified in this configuration are attached or set on the instance.", +"*[Default]* The default status, when no per-instance configuration exists.", +"The per-instance configuration is set on an instance but not been applied yet.", +"The per-instance configuration has been deleted, but the deletion is not yet applied." +], +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PreconfiguredWafSet": { +"id": "PreconfiguredWafSet", +"properties": { +"expressionSets": { +"description": "List of entities that are currently supported for WAF rules.", +"items": { +"$ref": "WafExpressionSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"PreservedState": { +"description": "Preserved state for a given instance.", +"id": "PreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "PreservedStatePreservedDisk" +}, +"description": "Preserved disks defined for this instance. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Preserved metadata defined for this instance.", +"type": "object" +} +}, +"type": "object" +}, +"PreservedStatePreservedDisk": { +"id": "PreservedStatePreservedDisk", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update, instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple VM instances can use a disk in READ_ONLY mode at a time.", +"*[Default]* Attaches this disk in READ_WRITE mode. Only one VM instance at a time can be attached to a disk in READ_WRITE mode." +], +"type": "string" +}, +"source": { +"description": "The URL of the disk resource that is stateful and should be attached to the VM instance.", +"type": "string" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIp": { +"id": "PreservedStatePreservedNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"ipAddress": { +"$ref": "PreservedStatePreservedNetworkIpIpAddress", +"description": "Ip address representation" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIpIpAddress": { +"id": "PreservedStatePreservedNetworkIpIpAddress", +"properties": { +"address": { +"description": "The URL of the reservation for this IP address.", +"type": "string" +}, +"literal": { +"description": "An IPv4 internal network address to assign to the instance for this network interface.", +"type": "string" +} +}, +"type": "object" +}, +"Project": { +"description": "Represents a Project resource. A project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy.", +"id": "Project", +"properties": { +"cloudArmorTier": { +"description": "[Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +}, +"commonInstanceMetadata": { +"$ref": "Metadata", +"description": "Metadata key/value pairs available to all instances contained in this project. See Custom metadata for more information." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultNetworkTier": { +"description": "This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"defaultServiceAccount": { +"description": "[Output Only] Default service account used by VMs running in this project.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "An optional list of restricted features enabled for use on this project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server. This is *not* the project ID, and is just a unique ID used by Compute Engine to identify resources.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#project", +"description": "[Output Only] Type of the resource. Always compute#project for projects.", +"type": "string" +}, +"name": { +"description": "The project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine.", +"type": "string" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this project.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"usageExportLocation": { +"$ref": "UsageExportLocation", +"description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." +}, +"vmDnsSetting": { +"description": "[Output Only] Default internal DNS setting used by VMs running in this project.", +"enum": [ +"GLOBAL_DEFAULT", +"UNSPECIFIED_VM_DNS_SETTING", +"ZONAL_DEFAULT", +"ZONAL_ONLY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"xpnProjectStatus": { +"description": "[Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated.", +"enum": [ +"HOST", +"UNSPECIFIED_XPN_PROJECT_STATUS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsDisableXpnResourceRequest": { +"id": "ProjectsDisableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsEnableXpnResourceRequest": { +"id": "ProjectsEnableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsGetXpnResources": { +"id": "ProjectsGetXpnResources", +"properties": { +"kind": { +"default": "compute#projectsGetXpnResources", +"description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"resources": { +"description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", +"items": { +"$ref": "XpnResourceId" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectsListXpnHostsRequest": { +"id": "ProjectsListXpnHostsRequest", +"properties": { +"organization": { +"description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project.", +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetCloudArmorTierRequest": { +"id": "ProjectsSetCloudArmorTierRequest", +"properties": { +"cloudArmorTier": { +"description": "Managed protection tier to be set.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetDefaultNetworkTierRequest": { +"id": "ProjectsSetDefaultNetworkTierRequest", +"properties": { +"networkTier": { +"description": "Default network tier to be set.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefix": { +"description": "A public advertised prefix represents an aggregated IP prefix or netblock which customers bring to cloud. The IP prefix is a single unit of route advertisement and is announced globally to the internet.", +"id": "PublicAdvertisedPrefix", +"properties": { +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public advertised prefix can be used to create both regional and global public delegated prefixes. It usually takes 4 weeks to create or delete a public delegated prefix. The BGP status cannot be changed.", +"This public advertised prefix can only be used to create regional public delegated prefixes. Public delegated prefix creation and deletion takes minutes and the BGP status can be modified." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"dnsVerificationIp": { +"description": "The address to be used for reverse DNS verification.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The address range, in CIDR format, represented by this public advertised prefix.", +"type": "string" +}, +"kind": { +"default": "compute#publicAdvertisedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicAdvertisedPrefixes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pdpScope": { +"description": "Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. ", +"enum": [ +"GLOBAL", +"GLOBAL_AND_REGIONAL", +"REGIONAL" +], +"enumDescriptions": [ +"The public delegated prefix is global only. The provisioning will take ~4 weeks.", +"The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.", +"The public delegated prefix is regional only. The provisioning will take a few minutes." +], +"type": "string" +}, +"publicDelegatedPrefixs": { +"description": "[Output Only] The list of public delegated prefixes that exist for this public advertised prefix.", +"items": { +"$ref": "PublicAdvertisedPrefixPublicDelegatedPrefix" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "[Output Only] The shared secret to be used for reverse DNS verification.", +"type": "string" +}, +"status": { +"description": "The status of the public advertised prefix. Possible values include: - `INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. ", +"enum": [ +"ANNOUNCED_TO_INTERNET", +"INITIAL", +"PREFIX_CONFIGURATION_COMPLETE", +"PREFIX_CONFIGURATION_IN_PROGRESS", +"PREFIX_REMOVAL_IN_PROGRESS", +"PTR_CONFIGURED", +"READY_TO_ANNOUNCE", +"REVERSE_DNS_LOOKUP_FAILED", +"VALIDATED" +], +"enumDescriptions": [ +"The prefix is announced to Internet.", +"RPKI validation is complete.", +"The prefix is fully configured.", +"The prefix is being configured.", +"The prefix is being removed.", +"User has configured the PTR.", +"The prefix is currently withdrawn but ready to be announced.", +"Reverse DNS lookup failed.", +"Reverse DNS lookup is successful." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefixList": { +"id": "PublicAdvertisedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicAdvertisedPrefix resources.", +"items": { +"$ref": "PublicAdvertisedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicAdvertisedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefixPublicDelegatedPrefix": { +"description": "Represents a CIDR range which can be used to assign addresses.", +"id": "PublicAdvertisedPrefixPublicDelegatedPrefix", +"properties": { +"ipRange": { +"description": "The IP address range of the public delegated prefix", +"type": "string" +}, +"name": { +"description": "The name of the public delegated prefix", +"type": "string" +}, +"project": { +"description": "The project number of the public delegated prefix", +"type": "string" +}, +"region": { +"description": "The region of the public delegated prefix if it is regional. If absent, the prefix is global.", +"type": "string" +}, +"status": { +"description": "The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.", +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefix": { +"description": "A PublicDelegatedPrefix resource represents an IP block within a PublicAdvertisedPrefix that is configured within a single cloud scope (global or region). IPs in the block can be allocated to resources within that scope. Public delegated prefixes may be further broken up into smaller IP blocks in the same scope as the parent block.", +"id": "PublicDelegatedPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.", +"format": "int32", +"type": "integer" +}, +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.", +"This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this public delegated prefix.", +"type": "string" +}, +"isLiveMigration": { +"description": "If true, the prefix will be live migrated.", +"type": "boolean" +}, +"kind": { +"default": "compute#publicDelegatedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes.", +"type": "string" +}, +"mode": { +"description": "The public delegated prefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicDelegatedPrefixes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"parentPrefix": { +"description": "The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.", +"type": "string" +}, +"publicDelegatedSubPrefixs": { +"description": "The list of sub public delegated prefixes that exist for this public delegated prefix.", +"items": { +"$ref": "PublicDelegatedPrefixPublicDelegatedSubPrefix" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. ", +"enum": [ +"ANNOUNCED", +"ANNOUNCED_TO_GOOGLE", +"ANNOUNCED_TO_INTERNET", +"DELETING", +"INITIALIZING", +"READY_TO_ANNOUNCE" +], +"enumDescriptions": [ +"The public delegated prefix is active.", +"The prefix is announced within Google network.", +"The prefix is announced to Internet and within Google.", +"The public delegated prefix is being deprovsioned.", +"The public delegated prefix is being initialized and addresses cannot be created yet.", +"The public delegated prefix is currently withdrawn but ready to be announced." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixAggregatedList": { +"id": "PublicDelegatedPrefixAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PublicDelegatedPrefixesScopedList", +"description": "[Output Only] Name of the scope containing this set of PublicDelegatedPrefixes." +}, +"description": "A list of PublicDelegatedPrefixesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#publicDelegatedPrefixAggregatedList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixAggregatedList for aggregated lists of public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixList": { +"id": "PublicDelegatedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicDelegatedPrefix resources.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicDelegatedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixList for public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixPublicDelegatedSubPrefix": { +"description": "Represents a sub PublicDelegatedPrefix.", +"id": "PublicDelegatedPrefixPublicDelegatedSubPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this PublicDelegatedSubPrefix.", +"format": "int32", +"type": "integer" +}, +"delegateeProject": { +"description": "Name of the project scoping this PublicDelegatedSubPrefix.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this sub public delegated prefix.", +"type": "string" +}, +"isAddress": { +"description": "Whether the sub prefix is delegated to create Address resources in the delegatee project.", +"type": "boolean" +}, +"mode": { +"description": "The PublicDelegatedSubPrefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"description": "The name of the sub public delegated prefix.", +"type": "string" +}, +"region": { +"description": "[Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the sub public delegated prefix.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixesScopedList": { +"id": "PublicDelegatedPrefixesScopedList", +"properties": { +"publicDelegatedPrefixes": { +"description": "[Output Only] A list of PublicDelegatedPrefixes contained in this scope.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of public delegated prefixes when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Quota": { +"description": "A quotas entry.", +"id": "Quota", +"properties": { +"limit": { +"description": "[Output Only] Quota limit for this metric.", +"format": "double", +"type": "number" +}, +"metric": { +"description": "[Output Only] Name of the quota metric.", +"enum": [ +"A2_CPUS", +"AFFINITY_GROUPS", +"AUTOSCALERS", +"BACKEND_BUCKETS", +"BACKEND_SERVICES", +"C2D_CPUS", +"C2_CPUS", +"C3_CPUS", +"COMMITMENTS", +"COMMITTED_A2_CPUS", +"COMMITTED_C2D_CPUS", +"COMMITTED_C2_CPUS", +"COMMITTED_C3_CPUS", +"COMMITTED_CPUS", +"COMMITTED_E2_CPUS", +"COMMITTED_LICENSES", +"COMMITTED_LOCAL_SSD_TOTAL_GB", +"COMMITTED_M3_CPUS", +"COMMITTED_MEMORY_OPTIMIZED_CPUS", +"COMMITTED_N2A_CPUS", +"COMMITTED_N2D_CPUS", +"COMMITTED_N2_CPUS", +"COMMITTED_NVIDIA_A100_80GB_GPUS", +"COMMITTED_NVIDIA_A100_GPUS", +"COMMITTED_NVIDIA_H100_GPUS", +"COMMITTED_NVIDIA_K80_GPUS", +"COMMITTED_NVIDIA_L4_GPUS", +"COMMITTED_NVIDIA_P100_GPUS", +"COMMITTED_NVIDIA_P4_GPUS", +"COMMITTED_NVIDIA_T4_GPUS", +"COMMITTED_NVIDIA_V100_GPUS", +"COMMITTED_T2A_CPUS", +"COMMITTED_T2D_CPUS", +"COMMITTED_Z3_CPUS", +"CPUS", +"CPUS_ALL_REGIONS", +"DISKS_TOTAL_GB", +"E2_CPUS", +"EXTERNAL_MANAGED_FORWARDING_RULES", +"EXTERNAL_NETWORK_LB_FORWARDING_RULES", +"EXTERNAL_PROTOCOL_FORWARDING_RULES", +"EXTERNAL_VPN_GATEWAYS", +"FIREWALLS", +"FORWARDING_RULES", +"GLOBAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_EXTERNAL_MANAGED_FORWARDING_RULES", +"GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES", +"GLOBAL_INTERNAL_ADDRESSES", +"GLOBAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"GPUS_ALL_REGIONS", +"HDB_TOTAL_GB", +"HDB_TOTAL_IOPS", +"HDB_TOTAL_THROUGHPUT", +"HEALTH_CHECKS", +"IMAGES", +"INSTANCES", +"INSTANCE_GROUPS", +"INSTANCE_GROUP_MANAGERS", +"INSTANCE_TEMPLATES", +"INTERCONNECTS", +"INTERCONNECT_ATTACHMENTS_PER_REGION", +"INTERCONNECT_ATTACHMENTS_TOTAL_MBPS", +"INTERCONNECT_TOTAL_GBPS", +"INTERNAL_ADDRESSES", +"INTERNAL_TRAFFIC_DIRECTOR_FORWARDING_RULES", +"IN_PLACE_SNAPSHOTS", +"IN_USE_ADDRESSES", +"IN_USE_BACKUP_SCHEDULES", +"IN_USE_SNAPSHOT_SCHEDULES", +"LOCAL_SSD_TOTAL_GB", +"M1_CPUS", +"M2_CPUS", +"M3_CPUS", +"MACHINE_IMAGES", +"N2A_CPUS", +"N2D_CPUS", +"N2_CPUS", +"NETWORKS", +"NETWORK_ATTACHMENTS", +"NETWORK_ENDPOINT_GROUPS", +"NETWORK_FIREWALL_POLICIES", +"NET_LB_SECURITY_POLICIES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION", +"NODE_GROUPS", +"NODE_TEMPLATES", +"NVIDIA_A100_80GB_GPUS", +"NVIDIA_A100_GPUS", +"NVIDIA_K80_GPUS", +"NVIDIA_L4_GPUS", +"NVIDIA_P100_GPUS", +"NVIDIA_P100_VWS_GPUS", +"NVIDIA_P4_GPUS", +"NVIDIA_P4_VWS_GPUS", +"NVIDIA_T4_GPUS", +"NVIDIA_T4_VWS_GPUS", +"NVIDIA_V100_GPUS", +"PACKET_MIRRORINGS", +"PD_EXTREME_TOTAL_PROVISIONED_IOPS", +"PREEMPTIBLE_CPUS", +"PREEMPTIBLE_LOCAL_SSD_GB", +"PREEMPTIBLE_NVIDIA_A100_80GB_GPUS", +"PREEMPTIBLE_NVIDIA_A100_GPUS", +"PREEMPTIBLE_NVIDIA_H100_GPUS", +"PREEMPTIBLE_NVIDIA_K80_GPUS", +"PREEMPTIBLE_NVIDIA_L4_GPUS", +"PREEMPTIBLE_NVIDIA_P100_GPUS", +"PREEMPTIBLE_NVIDIA_P100_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_P4_GPUS", +"PREEMPTIBLE_NVIDIA_P4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_T4_GPUS", +"PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_V100_GPUS", +"PREEMPTIBLE_TPU_LITE_DEVICE_V5", +"PREEMPTIBLE_TPU_LITE_PODSLICE_V5", +"PREEMPTIBLE_TPU_PODSLICE_V4", +"PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", +"PSC_INTERNAL_LB_FORWARDING_RULES", +"PUBLIC_ADVERTISED_PREFIXES", +"PUBLIC_DELEGATED_PREFIXES", +"REGIONAL_AUTOSCALERS", +"REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES", +"REGIONAL_INSTANCE_GROUP_MANAGERS", +"REGIONAL_INTERNAL_LB_BACKEND_SERVICES", +"REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"RESERVATIONS", +"RESOURCE_POLICIES", +"ROUTERS", +"ROUTES", +"SECURITY_POLICIES", +"SECURITY_POLICIES_PER_REGION", +"SECURITY_POLICY_ADVANCED_RULES_PER_REGION", +"SECURITY_POLICY_CEVAL_RULES", +"SECURITY_POLICY_RULES", +"SECURITY_POLICY_RULES_PER_REGION", +"SERVICE_ATTACHMENTS", +"SNAPSHOTS", +"SSD_TOTAL_GB", +"SSL_CERTIFICATES", +"SSL_POLICIES", +"STATIC_ADDRESSES", +"STATIC_BYOIP_ADDRESSES", +"STATIC_EXTERNAL_IPV6_ADDRESS_RANGES", +"SUBNETWORKS", +"T2A_CPUS", +"T2D_CPUS", +"TARGET_HTTPS_PROXIES", +"TARGET_HTTP_PROXIES", +"TARGET_INSTANCES", +"TARGET_POOLS", +"TARGET_SSL_PROXIES", +"TARGET_TCP_PROXIES", +"TARGET_VPN_GATEWAYS", +"TPU_LITE_DEVICE_V5", +"TPU_LITE_PODSLICE_V5", +"TPU_PODSLICE_V4", +"URL_MAPS", +"VARIABLE_IPV6_PUBLIC_DELEGATED_PREFIXES", +"VPN_GATEWAYS", +"VPN_TUNNELS", +"XPN_SERVICE_PROJECTS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"Guest CPUs", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"The total number of snapshots allowed for a single project.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"owner": { +"description": "[Output Only] Owning resource. This is the resource on which this quota is applied.", +"type": "string" +}, +"usage": { +"description": "[Output Only] Current usage of this metric.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"QuotaExceededInfo": { +"description": "Additional details for quota exceeded error for resource quota.", +"id": "QuotaExceededInfo", +"properties": { +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": "The map holding related quota dimensions.", +"type": "object" +}, +"futureLimit": { +"description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limit": { +"description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limitName": { +"description": "The name of the quota limit.", +"type": "string" +}, +"metricName": { +"description": "The Compute Engine quota metric name.", +"type": "string" +}, +"rolloutStatus": { +"description": "Rollout status of the future quota limit.", +"enum": [ +"IN_PROGRESS", +"ROLLOUT_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"IN_PROGRESS - A rollout is in process which will change the limit value to future limit.", +"ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value." +], +"type": "string" +} +}, +"type": "object" +}, +"Reference": { +"description": "Represents a reference to a resource.", +"id": "Reference", +"properties": { +"kind": { +"default": "compute#reference", +"description": "[Output Only] Type of the resource. Always compute#reference for references.", +"type": "string" +}, +"referenceType": { +"description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", +"type": "string" +}, +"referrer": { +"description": "URL of the resource which refers to the target.", +"type": "string" +}, +"target": { +"description": "URL of the resource to which this reference points.", +"type": "string" +} +}, +"type": "object" +}, +"Region": { +"description": "Represents a Region resource. A region is a geographical area where a resource is located. For more information, read Regions and Zones.", +"id": "Region", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this region." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#region", +"description": "[Output Only] Type of the resource. Always compute#region for regions.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"quotaStatusWarning": { +"description": "[Output Only] Warning of fetching the `quotas` field for this region. This field is populated only if fetching of the `quotas` field fails.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this region.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the region, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"zones": { +"description": "[Output Only] A list of zones available in this region, in the form of resource URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionAddressesMoveRequest": { +"id": "RegionAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project/regions/region /addresses/address - projects/project/regions/region/addresses/address Note that destination project must be different from the source project. So /regions/region/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"RegionAutoscalerList": { +"description": "Contains a list of autoscalers.", +"id": "RegionAutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionAutoscalerList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionDiskTypeList": { +"id": "RegionDiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionDiskTypeList", +"description": "[Output Only] Type of resource. Always compute#regionDiskTypeList for region disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionDisksAddResourcePoliciesRequest": { +"id": "RegionDisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksRemoveResourcePoliciesRequest": { +"id": "RegionDisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksResizeRequest": { +"id": "RegionDisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the regional persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RegionDisksStartAsyncReplicationRequest": { +"id": "RegionDisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupList": { +"description": "Contains a list of InstanceGroup resources.", +"id": "RegionInstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupList", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerDeleteInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.deletePerInstanceConfigs", +"id": "RegionInstanceGroupManagerDeleteInstanceConfigReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerList": { +"description": "Contains a list of managed instance groups.", +"id": "RegionInstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerPatchInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.patchPerInstanceConfigs", +"id": "RegionInstanceGroupManagerPatchInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerUpdateInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.updatePerInstanceConfigs", +"id": "RegionInstanceGroupManagerUpdateInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersAbandonInstancesRequest": { +"id": "RegionInstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersApplyUpdatesRequest": { +"description": "RegionInstanceGroupManagers.applyUpdatesToInstances", +"id": "RegionInstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersCreateInstancesRequest": { +"description": "RegionInstanceGroupManagers.createInstances", +"id": "RegionInstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersDeleteInstancesRequest": { +"id": "RegionInstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListErrorsResponse": { +"id": "RegionInstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListInstanceConfigsResp": { +"id": "RegionInstanceGroupManagersListInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListInstancesResponse": { +"id": "RegionInstanceGroupManagersListInstancesResponse", +"properties": { +"managedInstances": { +"description": "A list of managed instances.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersRecreateRequest": { +"id": "RegionInstanceGroupManagersRecreateRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersResumeInstancesRequest": { +"id": "RegionInstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTargetPoolsRequest": { +"id": "RegionInstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "Fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when you update the target pool entries. This field is optional.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The URL of all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTemplateRequest": { +"id": "RegionInstanceGroupManagersSetTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "URL of the InstanceTemplate resource from which all new instances will be created.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStartInstancesRequest": { +"id": "RegionInstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStopInstancesRequest": { +"id": "RegionInstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSuspendInstancesRequest": { +"id": "RegionInstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupsListInstances": { +"id": "RegionInstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupsListInstances", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionInstanceGroupsListInstancesRequest": { +"id": "RegionInstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Matches any status of the instances, running, non-running and others.", +"Instance is in RUNNING state if it is running." +], +"type": "string" +}, +"portName": { +"description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupsSetNamedPortsRequest": { +"id": "RegionInstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionList": { +"description": "Contains a list of region resources.", +"id": "RegionList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Region resources.", +"items": { +"$ref": "Region" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionList", +"description": "[Output Only] Type of resource. Always compute#regionList for lists of regions.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RegionNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", +"items": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"description": "[Output Only] The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"rules": { +"description": "[Output only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RegionSetLabelsRequest": { +"id": "RegionSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"RegionSetPolicyRequest": { +"id": "RegionSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +}, +"RegionTargetHttpsProxiesSetSslCertificatesRequest": { +"id": "RegionTargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionUrlMapsValidateRequest": { +"id": "RegionUrlMapsValidateRequest", +"properties": { +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"RequestMirrorPolicy": { +"description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow.", +"id": "RequestMirrorPolicy", +"properties": { +"backendService": { +"description": "The full or partial URL to the BackendService resource being mirrored to. The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map. Serverless NEG backends are not currently supported as a mirrored backend service. ", +"type": "string" +} +}, +"type": "object" +}, +"Reservation": { +"description": "Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.", +"id": "Reservation", +"properties": { +"aggregateReservation": { +"$ref": "AllocationAggregateReservation", +"description": "Reservation for aggregated resources, providing shape flexibility." +}, +"commitment": { +"description": "[Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#reservation", +"description": "[Output Only] Type of the resource. Always compute#reservations for reservations.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"resourcePolicies": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", +"type": "object" +}, +"resourceStatus": { +"$ref": "AllocationResourceStatus", +"description": "[Output Only] Status information for Reservation resource." +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation." +}, +"specificReservation": { +"$ref": "AllocationSpecificSKUReservation", +"description": "Reservation for instances with specific machine shapes." +}, +"specificReservationRequired": { +"description": "Indicates whether the reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPDATING" +], +"enumDescriptions": [ +"Reservation resources are being allocated.", +"Reservation deletion is in progress.", +"", +"Reservation resources have been allocated, and the reservation is ready for use.", +"Reservation update is in progress." +], +"type": "string" +}, +"zone": { +"description": "Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples.", +"enum": [ +"ANY_RESERVATION", +"NO_RESERVATION", +"SPECIFIC_RESERVATION", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Consume any allocation available.", +"Do not consume from any allocated capacity.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations.", +"" +], +"type": "string" +}, +"key": { +"description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the key and specify the name of your reservation as its value.", +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of a reservation resource. This can be either a name to a reservation in the same project or \"projects/different-project/reservations/some-reservation-name\" to target a shared reservation in the same zone but in a different project.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReservationAggregatedList": { +"description": "Contains a list of reservations.", +"id": "ReservationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ReservationsScopedList", +"description": "Name of the scope containing this set of reservations." +}, +"description": "A list of Allocation resources.", +"type": "object" +}, +"kind": { +"default": "compute#reservationAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ReservationList": { +"id": "ReservationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Allocation resources.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"kind": { +"default": "compute#reservationList", +"description": "[Output Only] Type of resource.Always compute#reservationsList for listsof reservations", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ReservationsResizeRequest": { +"id": "ReservationsResizeRequest", +"properties": { +"specificSkuCount": { +"description": "Number of allocated resources can be resized with minimum = 1 and maximum = 1000.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReservationsScopedList": { +"id": "ReservationsScopedList", +"properties": { +"reservations": { +"description": "A list of reservations contained in this scope.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of reservations when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourceCommitment": { +"description": "Commitment for a particular resource (a Commitment is composed of one or more of these).", +"id": "ResourceCommitment", +"properties": { +"acceleratorType": { +"description": "Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.", +"type": "string" +}, +"amount": { +"description": "The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.", +"enum": [ +"ACCELERATOR", +"LOCAL_SSD", +"MEMORY", +"UNSPECIFIED", +"VCPU" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceGroupReference": { +"id": "ResourceGroupReference", +"properties": { +"group": { +"description": "A URI referencing one of the instance groups or network endpoint groups listed in the backend service.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePoliciesScopedList": { +"id": "ResourcePoliciesScopedList", +"properties": { +"resourcePolicies": { +"description": "A list of resourcePolicies contained in this scope.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of resourcePolicies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicy": { +"description": "Represents a Resource Policy resource. You can use resource policies to schedule actions for some Compute Engine resources. For example, you can use them to schedule persistent disk snapshots.", +"id": "ResourcePolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"type": "string" +}, +"diskConsistencyGroupPolicy": { +"$ref": "ResourcePolicyDiskConsistencyGroupPolicy", +"description": "Resource policy for disk consistency groups." +}, +"groupPlacementPolicy": { +"$ref": "ResourcePolicyGroupPlacementPolicy", +"description": "Resource policy for instances for placement configuration." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyInstanceSchedulePolicy", +"description": "Resource policy for scheduling instance operations." +}, +"kind": { +"default": "compute#resourcePolicy", +"description": "[Output Only] Type of the resource. Always compute#resource_policies for resource policies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"type": "string" +}, +"resourceStatus": { +"$ref": "ResourcePolicyResourceStatus", +"description": "[Output Only] The system status of the resource policy." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"snapshotSchedulePolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicy", +"description": "Resource policy for persistent disks for creating snapshots." +}, +"status": { +"description": "[Output Only] The status of resource policy creation.", +"enum": [ +"CREATING", +"DELETING", +"EXPIRED", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resource policy is being created.", +"Resource policy is being deleted.", +"Resource policy is expired and will not run again.", +"", +"Resource policy is ready to be used." +], +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyAggregatedList": { +"description": "Contains a list of resourcePolicies.", +"id": "ResourcePolicyAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ResourcePoliciesScopedList", +"description": "Name of the scope containing this set of resourcePolicies." +}, +"description": "A list of ResourcePolicy resources.", +"type": "object" +}, +"kind": { +"default": "compute#resourcePolicyAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicyDailyCycle": { +"description": "Time window specified for daily operations.", +"id": "ResourcePolicyDailyCycle", +"properties": { +"daysInCycle": { +"description": "Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"duration": { +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyDiskConsistencyGroupPolicy": { +"description": "Resource policy for disk consistency groups.", +"id": "ResourcePolicyDiskConsistencyGroupPolicy", +"properties": {}, +"type": "object" +}, +"ResourcePolicyGroupPlacementPolicy": { +"description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation", +"id": "ResourcePolicyGroupPlacementPolicy", +"properties": { +"availabilityDomainCount": { +"description": "The number of availability domains to spread instances across. If two instances are in different availability domain, they are not in the same low latency network.", +"format": "int32", +"type": "integer" +}, +"collocation": { +"description": "Specifies network collocation", +"enum": [ +"COLLOCATED", +"UNSPECIFIED_COLLOCATION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"vmCount": { +"description": "Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourcePolicyHourlyCycle": { +"description": "Time window specified for hourly operations.", +"id": "ResourcePolicyHourlyCycle", +"properties": { +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"hoursInCycle": { +"description": "Defines a schedule with units measured in hours. The value determines how many hours pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicy": { +"description": "An InstanceSchedulePolicy specifies when and how frequent certain operations are performed on the instance.", +"id": "ResourcePolicyInstanceSchedulePolicy", +"properties": { +"expirationTime": { +"description": "The expiration time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"timeZone": { +"description": "Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database.", +"type": "string" +}, +"vmStartSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for starting instances." +}, +"vmStopSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for stopping instances." +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicySchedule": { +"description": "Schedule for an instance operation.", +"id": "ResourcePolicyInstanceSchedulePolicySchedule", +"properties": { +"schedule": { +"description": "Specifies the frequency for the operation, using the unix-cron format.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyList": { +"id": "ResourcePolicyList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of ResourcePolicy resources.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#resourcePolicyList", +"description": "[Output Only] Type of resource.Always compute#resourcePoliciesList for listsof resourcePolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ResourcePolicyResourceStatus": { +"description": "Contains output only fields. Use this sub-message for all output fields set on ResourcePolicy. The internal structure of this \"status\" field should mimic the structure of ResourcePolicy proto specification.", +"id": "ResourcePolicyResourceStatus", +"properties": { +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"description": "[Output Only] Specifies a set of output values reffering to the instance_schedule_policy system status. This field should have the same name as corresponding policy field." +} +}, +"type": "object" +}, +"ResourcePolicyResourceStatusInstanceSchedulePolicyStatus": { +"id": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"properties": { +"lastRunStartTime": { +"description": "[Output Only] The last time the schedule successfully ran. The timestamp is an RFC3339 string.", +"type": "string" +}, +"nextRunStartTime": { +"description": "[Output Only] The next time the schedule is planned to run. The actual time might be slightly different. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicy": { +"description": "A snapshot schedule policy specifies when and how frequently snapshots are to be created for the target disk. Also specifies how many and how long these scheduled snapshots should be retained.", +"id": "ResourcePolicySnapshotSchedulePolicy", +"properties": { +"retentionPolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"description": "Retention policy applied to snapshots created by this resource policy." +}, +"schedule": { +"$ref": "ResourcePolicySnapshotSchedulePolicySchedule", +"description": "A Vm Maintenance Policy specifies what kind of infrastructure maintenance we are allowed to perform on this VM and when. Schedule that is applied to disks covered by this policy." +}, +"snapshotProperties": { +"$ref": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"description": "Properties with which snapshots are created such as labels, encryption keys." +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicyRetentionPolicy": { +"description": "Policy for retention of scheduled snapshots.", +"id": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"properties": { +"maxRetentionDays": { +"description": "Maximum age of the snapshot that is allowed to be kept.", +"format": "int32", +"type": "integer" +}, +"onSourceDiskDelete": { +"description": "Specifies the behavior to apply to scheduled snapshots when the source disk is deleted.", +"enum": [ +"APPLY_RETENTION_POLICY", +"KEEP_AUTO_SNAPSHOTS", +"UNSPECIFIED_ON_SOURCE_DISK_DELETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySchedule": { +"description": "A schedule for disks where the schedueled operations are performed.", +"id": "ResourcePolicySnapshotSchedulePolicySchedule", +"properties": { +"dailySchedule": { +"$ref": "ResourcePolicyDailyCycle" +}, +"hourlySchedule": { +"$ref": "ResourcePolicyHourlyCycle" +}, +"weeklySchedule": { +"$ref": "ResourcePolicyWeeklyCycle" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySnapshotProperties": { +"description": "Specified snapshot properties for scheduled snapshots created by this policy.", +"id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"properties": { +"chainName": { +"description": "Chain name that the snapshot is created in.", +"type": "string" +}, +"guestFlush": { +"description": "Indication to perform a 'guest aware' snapshot.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the auto snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycle": { +"description": "Time window specified for weekly operations.", +"id": "ResourcePolicyWeeklyCycle", +"properties": { +"dayOfWeeks": { +"description": "Up to 7 intervals/windows, one for each day of the week.", +"items": { +"$ref": "ResourcePolicyWeeklyCycleDayOfWeek" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycleDayOfWeek": { +"id": "ResourcePolicyWeeklyCycleDayOfWeek", +"properties": { +"day": { +"description": "Defines a schedule that runs on specific days of the week. Specify one or more days. The following options are available: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.", +"enum": [ +"FRIDAY", +"INVALID", +"MONDAY", +"SATURDAY", +"SUNDAY", +"THURSDAY", +"TUESDAY", +"WEDNESDAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatus": { +"description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", +"id": "ResourceStatus", +"properties": { +"physicalHost": { +"description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", +"type": "string" +}, +"scheduling": { +"$ref": "ResourceStatusScheduling" +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance" +} +}, +"type": "object" +}, +"ResourceStatusScheduling": { +"id": "ResourceStatusScheduling", +"properties": { +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Route": { +"description": "Represents a Route resource. A route defines a path from VM instances in the VPC network to a specific destination. This destination can be inside or outside the VPC network. For more information, read the Routes overview.", +"id": "Route", +"properties": { +"asPaths": { +"description": "[Output Only] AS path.", +"items": { +"$ref": "RouteAsPath" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destRange": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#route", +"description": "[Output Only] Type of this resource. Always compute#routes for Route resources.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "Fully-qualified URL of the network that this route applies to.", +"type": "string" +}, +"nextHopGateway": { +"description": "The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway", +"type": "string" +}, +"nextHopHub": { +"description": "[Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.", +"type": "string" +}, +"nextHopIlb": { +"description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses: - 10.128.0.56 - 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopInstance": { +"description": "The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", +"type": "string" +}, +"nextHopInterRegionCost": { +"description": "[Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.", +"format": "uint32", +"type": "integer" +}, +"nextHopIp": { +"description": "The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopMed": { +"description": "[Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.", +"format": "uint32", +"type": "integer" +}, +"nextHopNetwork": { +"description": "The URL of the local network if it should handle matching packets.", +"type": "string" +}, +"nextHopOrigin": { +"description": "[Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.", +"enum": [ +"EGP", +"IGP", +"INCOMPLETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"nextHopPeering": { +"description": "[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.", +"type": "string" +}, +"nextHopVpnTunnel": { +"description": "The URL to a VpnTunnel that should handle matching packets.", +"type": "string" +}, +"priority": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive.", +"format": "uint32", +"type": "integer" +}, +"routeStatus": { +"description": "[Output only] The status of the route.", +"enum": [ +"ACTIVE", +"DROPPED", +"INACTIVE", +"PENDING" +], +"enumDescriptions": [ +"This route is processed and active.", +"The route is dropped due to the VPC exceeding the dynamic route limit. For dynamic route limit, please refer to the Learned route example", +"This route is processed but inactive due to failure from the backend. The backend may have rejected the route", +"This route is being processed internally. The status will change once processed." +], +"type": "string" +}, +"routeType": { +"description": "[Output Only] The type of this route, which can be one of the following values: - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers - 'SUBNET' for a route from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this router - 'STATIC' for a static route", +"enum": [ +"BGP", +"STATIC", +"SUBNET", +"TRANSIT" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"tags": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "A list of instance tags to which this route applies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouteAsPath": { +"id": "RouteAsPath", +"properties": { +"asLists": { +"description": "[Output Only] The AS numbers of the AS Path.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"pathSegmentType": { +"description": "[Output Only] The type of the AS Path, which can be one of the following values: - 'AS_SET': unordered set of autonomous systems that the route in has traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed ", +"enum": [ +"AS_CONFED_SEQUENCE", +"AS_CONFED_SET", +"AS_SEQUENCE", +"AS_SET" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RouteList": { +"description": "Contains a list of Route resources.", +"id": "RouteList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Route resources.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"kind": { +"default": "compute#routeList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Router": { +"description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", +"id": "Router", +"properties": { +"bgp": { +"$ref": "RouterBgp", +"description": "BGP information specific to this router." +}, +"bgpPeers": { +"description": "BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.", +"items": { +"$ref": "RouterBgpPeer" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"encryptedInterconnectRouter": { +"description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.", +"items": { +"$ref": "RouterInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#router", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"md5AuthenticationKeys": { +"description": "Keys used for MD5 authentication.", +"items": { +"$ref": "RouterMd5AuthenticationKey" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nats": { +"description": "A list of NAT services created in this router.", +"items": { +"$ref": "RouterNat" +}, +"type": "array" +}, +"network": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "URI of the network to which this router belongs.", +"type": "string" +}, +"region": { +"description": "[Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"RouterAdvertisedIpRange": { +"description": "Description-tagged IP ranges for the router to advertise.", +"id": "RouterAdvertisedIpRange", +"properties": { +"description": { +"description": "User-specified description for the IP range.", +"type": "string" +}, +"range": { +"description": "The IP range to advertise. The value must be a CIDR-formatted string.", +"type": "string" +} +}, +"type": "object" +}, +"RouterAggregatedList": { +"description": "Contains a list of routers.", +"id": "RouterAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "RoutersScopedList", +"description": "Name of the scope containing this set of routers." +}, +"description": "A list of Router resources.", +"type": "object" +}, +"kind": { +"default": "compute#routerAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RouterBgp": { +"id": "RouterBgp", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_SUBNETS" +], +"enumDescriptions": [ +"Advertise all available subnets (including peer VPC subnets)." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"asn": { +"description": "Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.", +"format": "uint32", +"type": "integer" +}, +"identifierRange": { +"description": "Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this \"router ID\".", +"type": "string" +}, +"keepaliveInterval": { +"description": "The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterBgpPeer": { +"id": "RouterBgpPeer", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_SUBNETS" +], +"enumDescriptions": [ +"Advertise all available subnets (including peer VPC subnets)." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"advertisedRoutePriority": { +"description": "The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.", +"format": "uint32", +"type": "integer" +}, +"bfd": { +"$ref": "RouterBgpPeerBfd", +"description": "BFD configuration for the BGP peering." +}, +"customLearnedIpRanges": { +"description": "A list of user-defined custom learned route IP address ranges for a BGP session.", +"items": { +"$ref": "RouterBgpPeerCustomLearnedIpRange" +}, +"type": "array" +}, +"customLearnedRoutePriority": { +"description": "The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you don't provide a value, Google Cloud assigns a priority of `100` to the ranges.", +"format": "int32", +"type": "integer" +}, +"enable": { +"description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"exportPolicies": { +"description": "List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"importPolicies": { +"description": "List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interfaceName": { +"description": "Name of the interface the BGP peer is associated with.", +"type": "string" +}, +"ipAddress": { +"description": "IP address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The BGP peer is automatically created for PARTNER type InterconnectAttachment; Google will automatically create/delete this BGP peer when the PARTNER InterconnectAttachment is created/deleted, and Google will update the ipAddress and peerIpAddress when the PARTNER InterconnectAttachment is provisioned. This type of BGP peer cannot be created or deleted, but can be modified for all fields except for name, ipAddress and peerIpAddress.", +"Default value, the BGP peer is manually created and managed by user." +], +"type": "string" +}, +"md5AuthenticationKeyName": { +"description": "Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerAsn": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.", +"type": "string" +} +}, +"type": "object" +}, +"RouterBgpPeerBfd": { +"id": "RouterBgpPeerBfd", +"properties": { +"minReceiveInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"minTransmitInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"multiplier": { +"description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.", +"format": "uint32", +"type": "integer" +}, +"sessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RouterBgpPeerCustomLearnedIpRange": { +"id": "RouterBgpPeerCustomLearnedIpRange", +"properties": { +"range": { +"description": "The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`.", +"type": "string" +} +}, +"type": "object" +}, +"RouterInterface": { +"id": "RouterInterface", +"properties": { +"ipRange": { +"description": "IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. ", +"type": "string" +}, +"ipVersion": { +"description": "IP version of this interface.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"linkedInterconnectAttachment": { +"description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The interface is automatically created for PARTNER type InterconnectAttachment, Google will automatically create/update/delete this interface when the PARTNER InterconnectAttachment is created/provisioned/deleted. This type of interface cannot be manually managed by user.", +"Default value, the interface is manually created and managed by user." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateIpAddress": { +"description": "The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.", +"type": "string" +}, +"redundantInterface": { +"description": "Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"subnetwork": { +"description": "The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.", +"type": "string" +} +}, +"type": "object" +}, +"RouterList": { +"description": "Contains a list of Router resources.", +"id": "RouterList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Router resources.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"kind": { +"default": "compute#routerList", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"RouterMd5AuthenticationKey": { +"id": "RouterMd5AuthenticationKey", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "[Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"RouterNat": { +"description": "Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.", +"id": "RouterNat", +"properties": { +"autoNetworkTier": { +"description": "The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"drainNatIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableDynamicPortAllocation": { +"description": "Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. ", +"type": "boolean" +}, +"enableEndpointIndependentMapping": { +"type": "boolean" +}, +"endpointTypes": { +"description": "List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM", +"items": { +"enum": [ +"ENDPOINT_TYPE_MANAGED_PROXY_LB", +"ENDPOINT_TYPE_SWG", +"ENDPOINT_TYPE_VM" +], +"enumDescriptions": [ +"This is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.", +"This is used for Secure Web Gateway endpoints.", +"This is the default." +], +"type": "string" +}, +"type": "array" +}, +"icmpIdleTimeoutSec": { +"description": "Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"logConfig": { +"$ref": "RouterNatLogConfig", +"description": "Configure logging on this NAT." +}, +"maxPortsPerVm": { +"description": "Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.", +"format": "int32", +"type": "integer" +}, +"minPortsPerVm": { +"description": "Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natIpAllocateOption": { +"description": "Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. ", +"enum": [ +"AUTO_ONLY", +"MANUAL_ONLY" +], +"enumDescriptions": [ +"Nat IPs are allocated by GCP; customers can not specify any Nat IPs.", +"Only use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs." +], +"type": "string" +}, +"natIps": { +"description": "A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rules": { +"description": "A list of rules associated with this NAT.", +"items": { +"$ref": "RouterNatRule" +}, +"type": "array" +}, +"sourceSubnetworkIpRangesToNat": { +"description": "Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.", +"enum": [ +"ALL_SUBNETWORKS_ALL_IP_RANGES", +"ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", +"LIST_OF_SUBNETWORKS" +], +"enumDescriptions": [ +"All the IP ranges in every Subnetwork are allowed to Nat.", +"All the primary IP ranges in every Subnetwork are allowed to Nat.", +"A list of Subnetworks are allowed to Nat (specified in the field subnetwork below)" +], +"type": "string" +}, +"subnetworks": { +"description": "A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.", +"items": { +"$ref": "RouterNatSubnetworkToNat" +}, +"type": "array" +}, +"tcpEstablishedIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTimeWaitTimeoutSec": { +"description": "Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTransitoryIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.", +"enum": [ +"PRIVATE", +"PUBLIC" +], +"enumDescriptions": [ +"NAT used for private IP translation.", +"NAT used for public IP translation. This is the default." +], +"type": "string" +}, +"udpIdleTimeoutSec": { +"description": "Timeout (in seconds) for UDP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatLogConfig": { +"description": "Configuration of logging on a NAT.", +"id": "RouterNatLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default.", +"type": "boolean" +}, +"filter": { +"description": "Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful. ", +"enum": [ +"ALL", +"ERRORS_ONLY", +"TRANSLATIONS_ONLY" +], +"enumDescriptions": [ +"Export logs for all (successful and unsuccessful) connections.", +"Export logs for connection failures only.", +"Export logs for successful connections only." +], +"type": "string" +} +}, +"type": "object" +}, +"RouterNatRule": { +"id": "RouterNatRule", +"properties": { +"action": { +"$ref": "RouterNatRuleAction", +"description": "The action to be enforced for traffic that matches this rule." +}, +"description": { +"description": "An optional description of this rule.", +"type": "string" +}, +"match": { +"description": "CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`", +"type": "string" +}, +"ruleNumber": { +"description": "An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatRuleAction": { +"id": "RouterNatRuleAction", +"properties": { +"sourceNatActiveIps": { +"description": "A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatActiveRanges": { +"description": "A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainRanges": { +"description": "A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterNatSubnetworkToNat": { +"description": "Defines the IP ranges that want to use NAT for a subnetwork.", +"id": "RouterNatSubnetworkToNat", +"properties": { +"name": { +"description": "URL for the subnetwork resource that will use NAT.", +"type": "string" +}, +"secondaryIpRangeNames": { +"description": "A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if \"LIST_OF_SECONDARY_IP_RANGES\" is one of the values in source_ip_ranges_to_nat.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceIpRangesToNat": { +"description": "Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: [\"PRIMARY_IP_RANGE\", \"LIST_OF_SECONDARY_IP_RANGES\"] Default: [ALL_IP_RANGES]", +"items": { +"enum": [ +"ALL_IP_RANGES", +"LIST_OF_SECONDARY_IP_RANGES", +"PRIMARY_IP_RANGE" +], +"enumDescriptions": [ +"The primary and all the secondary ranges are allowed to Nat.", +"A list of secondary ranges are allowed to Nat.", +"The primary range is allowed to Nat." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterStatus": { +"id": "RouterStatus", +"properties": { +"bestRoutes": { +"description": "A list of the best dynamic routes for this Cloud Router's Virtual Private Cloud (VPC) network in the same region as this Cloud Router. Lists all of the best routes per prefix that are programmed into this region's VPC data plane. When global dynamic routing mode is turned on in the VPC network, this list can include cross-region dynamic routes from Cloud Routers in other regions.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bestRoutesForRouter": { +"description": "A list of the best BGP routes learned by this Cloud Router. It is possible that routes listed might not be programmed into the data plane, if the Google Cloud control plane finds a more optimal route for a prefix than a route learned by this Cloud Router.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bgpPeerStatus": { +"items": { +"$ref": "RouterStatusBgpPeerStatus" +}, +"type": "array" +}, +"natStatus": { +"items": { +"$ref": "RouterStatusNatStatus" +}, +"type": "array" +}, +"network": { +"description": "URI of the network to which this router belongs.", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusBgpPeerStatus": { +"id": "RouterStatusBgpPeerStatus", +"properties": { +"advertisedRoutes": { +"description": "Routes that were advertised to the remote BGP peer", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bfdStatus": { +"$ref": "BfdStatus" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"ipAddress": { +"description": "IP address of the local BGP interface.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the local BGP interface.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the local BGP interface.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URL of the VPN tunnel that this BGP peer controls.", +"type": "string" +}, +"md5AuthEnabled": { +"description": "Informs whether MD5 authentication is enabled on this BGP peer.", +"type": "boolean" +}, +"name": { +"description": "Name of this BGP peer. Unique within the Routers resource.", +"type": "string" +}, +"numLearnedRoutes": { +"description": "Number of routes learned from the remote BGP Peer.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the remote BGP interface.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the remote BGP interface.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the remote BGP interface.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "[Output only] URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance is the peer side of the BGP session.", +"type": "string" +}, +"state": { +"description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", +"type": "string" +}, +"status": { +"description": "Status of the BGP peer: {UP, DOWN}", +"enum": [ +"DOWN", +"UNKNOWN", +"UP" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusReason": { +"description": "Indicates why particular status was returned.", +"enum": [ +"IPV4_PEER_ON_IPV6_ONLY_CONNECTION", +"IPV6_PEER_ON_IPV4_ONLY_CONNECTION", +"MD5_AUTH_INTERNAL_PROBLEM", +"STATUS_REASON_UNSPECIFIED" +], +"enumDescriptions": [ +"BGP peer disabled because it requires IPv4 but the underlying connection is IPv6-only.", +"BGP peer disabled because it requires IPv6 but the underlying connection is IPv4-only.", +"Indicates internal problems with configuration of MD5 authentication. This particular reason can only be returned when md5AuthEnabled is true and status is DOWN.", +"" +], +"type": "string" +}, +"uptime": { +"description": "Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds", +"type": "string" +}, +"uptimeSeconds": { +"description": "Time this session has been up, in seconds. Format: 145", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusNatStatus": { +"description": "Status of a NAT contained in this router.", +"id": "RouterStatusNatStatus", +"properties": { +"autoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT. Example: [\"1.1.1.1\", \"129.2.16.89\"]", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainAutoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainUserAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraNatIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if user-specified IPs are NOT enough to allow all configured VMs to use NAT. This value is meaningful only when auto-allocation of NAT IPs is *not* used.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this NAT.", +"type": "string" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., Nics) that can use NAT.", +"format": "int32", +"type": "integer" +}, +"ruleStatus": { +"description": "Status of rules in this NAT.", +"items": { +"$ref": "RouterStatusNatStatusNatRuleStatus" +}, +"type": "array" +}, +"userAllocatedNatIpResources": { +"description": "A list of fully qualified URLs of reserved IP address resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT. They will be raw IP strings like \"179.12.26.133\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterStatusNatStatusNatRuleStatus": { +"description": "Status of a NAT Rule contained in this NAT.", +"id": "RouterStatusNatStatusNatRuleStatus", +"properties": { +"activeNatIps": { +"description": "A list of active IPs for NAT. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainNatIps": { +"description": "A list of IPs for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if the existing IPs in this NAT Rule are NOT enough to allow all configured VMs to use NAT.", +"format": "int32", +"type": "integer" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterStatusResponse": { +"id": "RouterStatusResponse", +"properties": { +"kind": { +"default": "compute#routerStatusResponse", +"description": "Type of resource.", +"type": "string" +}, +"result": { +"$ref": "RouterStatus" +} +}, +"type": "object" +}, +"RoutersPreviewResponse": { +"id": "RoutersPreviewResponse", +"properties": { +"resource": { +"$ref": "Router", +"description": "Preview of given router." +} +}, +"type": "object" +}, +"RoutersScopedList": { +"id": "RoutersScopedList", +"properties": { +"routers": { +"description": "A list of routers contained in this scope.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of routers when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SSLHealthCheck": { +"id": "SSLHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection and SSL handshake.", +"type": "string" +}, +"response": { +"description": "Creates a content-based SSL health check. In addition to establishing a TCP connection and the TLS handshake, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"SavedAttachedDisk": { +"description": "DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource.", +"id": "SavedAttachedDisk", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies the name of the disk attached to the source instance.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The encryption key for the disk." +}, +"diskSizeGb": { +"description": "The size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "[Output Only] URL of the disk type resource. For example: projects/project /zones/zone/diskTypes/pd-standard or pd-ssd", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Specifies zero-based index of the disk that is attached to the source instance.", +"format": "int32", +"type": "integer" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.", +"enum": [ +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#savedAttachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "The mode in which this disk is attached to the source instance, either READ_WRITE or READ_ONLY.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"source": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the disk's snapshot by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "Specifies the type of the attached disk, either SCRATCH or PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SavedDisk": { +"description": "An instance-attached disk resource.", +"id": "SavedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"kind": { +"default": "compute#savedDisk", +"description": "[Output Only] Type of the resource. Always compute#savedDisk for attached disks.", +"type": "string" +}, +"sourceDisk": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] Size of the individual disk snapshot used by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ScalingScheduleStatus": { +"id": "ScalingScheduleStatus", +"properties": { +"lastStartTime": { +"description": "[Output Only] The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"nextStartTime": { +"description": "[Output Only] The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of a scaling schedule.", +"enum": [ +"ACTIVE", +"DISABLED", +"OBSOLETE", +"READY" +], +"enumDescriptions": [ +"The current autoscaling recommendation is influenced by this scaling schedule.", +"This scaling schedule has been disabled by the user.", +"This scaling schedule will never become active again.", +"The current autoscaling recommendation is not influenced by this scaling schedule." +], +"type": "string" +} +}, +"type": "object" +}, +"Scheduling": { +"description": "Sets the scheduling options for an Instance.", +"id": "Scheduling", +"properties": { +"automaticRestart": { +"description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", +"type": "boolean" +}, +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +}, +"instanceTerminationAction": { +"description": "Specifies the termination action for the instance.", +"enum": [ +"DELETE", +"INSTANCE_TERMINATION_ACTION_UNSPECIFIED", +"STOP" +], +"enumDescriptions": [ +"Delete the VM.", +"Default value. This value is unused.", +"Stop the VM without storing in-memory content. default action." +], +"type": "string" +}, +"localSsdRecoveryTimeout": { +"$ref": "Duration", +"description": "Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour." +}, +"locationHint": { +"description": "An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"maxRunDuration": { +"$ref": "Duration", +"description": "Specifies the max run duration for the given instance. If specified, the instance termination action will be performed at the end of the run duration." +}, +"minNodeCpus": { +"description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", +"format": "int32", +"type": "integer" +}, +"nodeAffinities": { +"description": "A set of node affinity and anti-affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity.", +"items": { +"$ref": "SchedulingNodeAffinity" +}, +"type": "array" +}, +"onHostMaintenance": { +"description": "Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy.", +"enum": [ +"MIGRATE", +"TERMINATE" +], +"enumDescriptions": [ +"*[Default]* Allows Compute Engine to automatically migrate instances out of the way of maintenance events.", +"Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity. If you would like your instance to be restarted, set the automaticRestart flag to true. Your instance may be restarted more than once, and it may be restarted outside the window of maintenance events." +], +"type": "string" +}, +"onInstanceStopAction": { +"$ref": "SchedulingOnInstanceStopAction" +}, +"preemptible": { +"description": "Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", +"type": "boolean" +}, +"provisioningModel": { +"description": "Specifies the provisioning model of the instance.", +"enum": [ +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +}, +"terminationTime": { +"description": "Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.", +"type": "string" +} +}, +"type": "object" +}, +"SchedulingNodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "SchedulingNodeAffinity", +"properties": { +"key": { +"description": "Corresponds to the label key of Node resource.", +"type": "string" +}, +"operator": { +"description": "Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity.", +"enum": [ +"IN", +"NOT_IN", +"OPERATOR_UNSPECIFIED" +], +"enumDescriptions": [ +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes.", +"" +], +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of Node resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SchedulingOnInstanceStopAction": { +"description": "Defines the behaviour for instances with the instance_termination_action STOP.", +"id": "SchedulingOnInstanceStopAction", +"properties": { +"discardLocalSsd": { +"description": "If true, the contents of any attached Local SSD disks will be discarded else, the Local SSD data will be preserved when the instance is stopped at the end of the run duration/termination time.", +"type": "boolean" +} +}, +"type": "object" +}, +"Screenshot": { +"description": "An instance's screenshot.", +"id": "Screenshot", +"properties": { +"contents": { +"description": "[Output Only] The Base64-encoded screenshot data.", +"type": "string" +}, +"kind": { +"default": "compute#screenshot", +"description": "[Output Only] Type of the resource. Always compute#screenshot for the screenshots.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPoliciesAggregatedList": { +"id": "SecurityPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SecurityPoliciesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of SecurityPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#securityPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyAggregatedList for lists of Security Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPoliciesListPreconfiguredExpressionSetsResponse": { +"id": "SecurityPoliciesListPreconfiguredExpressionSetsResponse", +"properties": { +"preconfiguredExpressionSets": { +"$ref": "SecurityPoliciesWafConfig" +} +}, +"type": "object" +}, +"SecurityPoliciesScopedList": { +"id": "SecurityPoliciesScopedList", +"properties": { +"securityPolicies": { +"description": "A list of SecurityPolicies contained in this scope.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPoliciesWafConfig": { +"id": "SecurityPoliciesWafConfig", +"properties": { +"wafRules": { +"$ref": "PreconfiguredWafSet" +} +}, +"type": "object" +}, +"SecurityPolicy": { +"description": "Represents a Google Cloud Armor security policy resource. Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview.", +"id": "SecurityPolicy", +"properties": { +"adaptiveProtectionConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfig" +}, +"advancedOptionsConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfig" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"ddosProtectionConfig": { +"$ref": "SecurityPolicyDdosProtectionConfig" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#securityPolicy", +"description": "[Output only] Type of the resource. Always compute#securityPolicyfor security policies", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"recaptchaOptionsConfig": { +"$ref": "SecurityPolicyRecaptchaOptionsConfig" +}, +"region": { +"description": "[Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.", +"type": "string" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match \"*\" for srcIpRanges and for the networkMatch condition every field must be either match \"*\" or not set). If no rules are provided when creating a security policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"type": { +"description": "The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.", +"enum": [ +"CLOUD_ARMOR", +"CLOUD_ARMOR_EDGE", +"CLOUD_ARMOR_NETWORK" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"userDefinedFields": { +"description": "Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: \"ipv4_fragment_offset\" base: IPV4 offset: 6 size: 2 mask: \"0x1fff\"", +"items": { +"$ref": "SecurityPolicyUserDefinedField" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfig": { +"description": "Configuration options for Cloud Armor Adaptive Protection (CAAP).", +"id": "SecurityPolicyAdaptiveProtectionConfig", +"properties": { +"layer7DdosDefenseConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"description": "If set to true, enables Cloud Armor Machine Learning." +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig": { +"description": "Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"properties": { +"enable": { +"description": "If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "boolean" +}, +"ruleVisibility": { +"description": "Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"enum": [ +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"thresholdConfigs": { +"description": "Configuration options for layer7 adaptive protection for various customizable thresholds.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig": { +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig", +"properties": { +"autoDeployConfidenceThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployExpirationSec": { +"format": "int32", +"type": "integer" +}, +"autoDeployImpactedBaselineThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionAbsoluteQps": { +"format": "float", +"type": "number" +}, +"detectionLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionRelativeToBaselineQps": { +"format": "float", +"type": "number" +}, +"name": { +"description": "The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"trafficGranularityConfigs": { +"description": "Configuration options for enabling Adaptive Protection to operate on specified granular traffic units.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig": { +"description": "Configurations to specifc granular traffic units processed by Adaptive Protection.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig", +"properties": { +"enableEachUniqueValue": { +"description": "If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if `value` is empty.", +"type": "boolean" +}, +"type": { +"description": "Type of this configuration.", +"enum": [ +"HTTP_HEADER_HOST", +"HTTP_PATH", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"value": { +"description": "Requests that match this value constitute a granular traffic unit.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfig": { +"id": "SecurityPolicyAdvancedOptionsConfig", +"properties": { +"jsonCustomConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." +}, +"jsonParsing": { +"enum": [ +"DISABLED", +"STANDARD", +"STANDARD_WITH_GRAPHQL" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"logLevel": { +"enum": [ +"NORMAL", +"VERBOSE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"userIpRequestHeaders": { +"description": "An optional list of case-insensitive request header names to use for resolving the callers client IP address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { +"id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"properties": { +"contentTypes": { +"description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyDdosProtectionConfig": { +"id": "SecurityPolicyDdosProtectionConfig", +"properties": { +"ddosProtection": { +"enum": [ +"ADVANCED", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyList": { +"id": "SecurityPolicyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SecurityPolicy resources.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#securityPolicyList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SecurityPolicyRecaptchaOptionsConfig": { +"id": "SecurityPolicyRecaptchaOptionsConfig", +"properties": { +"redirectSiteKey": { +"description": "An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyReference": { +"id": "SecurityPolicyReference", +"properties": { +"securityPolicy": { +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "SecurityPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"headerAction": { +"$ref": "SecurityPolicyRuleHttpHeaderAction", +"description": "Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"kind": { +"default": "compute#securityPolicyRule", +"description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", +"type": "string" +}, +"match": { +"$ref": "SecurityPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"networkMatch": { +"$ref": "SecurityPolicyRuleNetworkMatcher", +"description": "A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - \"192.0.2.0/24\" - \"198.51.100.0/24\" userDefinedFields: - name: \"ipv4_fragment_offset\" values: - \"1-0x1fff\" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named \"ipv4_fragment_offset\" with a value between 1 and 0x1fff inclusive." +}, +"preconfiguredWafConfig": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfig", +"description": "Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect." +}, +"preview": { +"description": "If set to true, the specified action is not enforced.", +"type": "boolean" +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"rateLimitOptions": { +"$ref": "SecurityPolicyRuleRateLimitOptions", +"description": "Must be specified if the action is \"rate_based_ban\" or \"throttle\". Cannot be specified for any other actions." +}, +"redirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderAction": { +"id": "SecurityPolicyRuleHttpHeaderAction", +"properties": { +"requestHeadersToAdds": { +"description": "The list of request headers to add or overwrite if they're already present.", +"items": { +"$ref": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderActionHttpHeaderOption": { +"id": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header to set.", +"type": "string" +}, +"headerValue": { +"description": "The value to set the named header to.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "SecurityPolicyRuleMatcher", +"properties": { +"config": { +"$ref": "SecurityPolicyRuleMatcherConfig", +"description": "The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified." +}, +"expr": { +"$ref": "Expr", +"description": "User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies." +}, +"exprOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptions", +"description": "The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr')." +}, +"versionedExpr": { +"description": "Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.", +"enum": [ +"SRC_IPS_V1" +], +"enumDescriptions": [ +"Matches the source IP address of a request to the IP ranges supplied in config." +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfig": { +"id": "SecurityPolicyRuleMatcherConfig", +"properties": { +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptions": { +"id": "SecurityPolicyRuleMatcherExprOptions", +"properties": { +"recaptchaOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"description": "reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect." +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions": { +"id": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"properties": { +"actionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sessionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcher": { +"description": "Represents a match condition that incoming network traffic is evaluated against.", +"id": "SecurityPolicyRuleNetworkMatcher", +"properties": { +"destIpRanges": { +"description": "Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destPorts": { +"description": "Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipProtocols": { +"description": "IPv4 protocol / IPv6 next header (after extension headers). Each element can be an 8-bit unsigned decimal number (e.g. \"6\"), range (e.g. \"253-254\"), or one of the following protocol names: \"tcp\", \"udp\", \"icmp\", \"esp\", \"ah\", \"ipip\", or \"sctp\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcAsns": { +"description": "BGP Autonomous System Number associated with the source IP address.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcPorts": { +"description": "Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Two-letter ISO 3166-1 alpha-2 country code associated with the source IP address.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userDefinedFields": { +"description": "User-defined fields. Each element names a defined field and lists the matching values for that field.", +"items": { +"$ref": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch": { +"id": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch", +"properties": { +"name": { +"description": "Name of the user-defined field, as given in the definition.", +"type": "string" +}, +"values": { +"description": "Matching values of the field. Each element can be a 32-bit unsigned decimal or hexadecimal (starting with \"0x\") number (e.g. \"64\") or range (e.g. \"0x400-0x7ff\").", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfig": { +"id": "SecurityPolicyRulePreconfiguredWafConfig", +"properties": { +"exclusions": { +"description": "A list of exclusions to apply during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusion" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusion": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusion", +"properties": { +"requestCookiesToExclude": { +"description": "A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestHeadersToExclude": { +"description": "A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestQueryParamsToExclude": { +"description": "A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestUrisToExclude": { +"description": "A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"targetRuleIds": { +"description": "A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetRuleSet": { +"description": "Target WAF rule set to apply the preconfigured WAF exclusion.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams", +"properties": { +"op": { +"description": "The match operator for the field.", +"enum": [ +"CONTAINS", +"ENDS_WITH", +"EQUALS", +"EQUALS_ANY", +"STARTS_WITH" +], +"enumDescriptions": [ +"The operator matches if the field value contains the specified value.", +"The operator matches if the field value ends with the specified value.", +"The operator matches if the field value equals the specified value.", +"The operator matches if the field value is any value.", +"The operator matches if the field value starts with the specified value." +], +"type": "string" +}, +"val": { +"description": "The value of the field.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptions": { +"id": "SecurityPolicyRuleRateLimitOptions", +"properties": { +"banDurationSec": { +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.", +"format": "int32", +"type": "integer" +}, +"banThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'." +}, +"conformAction": { +"description": "Action to take for requests that are under the configured rate limit threshold. Valid option is \"allow\" only.", +"type": "string" +}, +"enforceOnKey": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enforceOnKeyConfigs": { +"description": "If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified.", +"items": { +"$ref": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig" +}, +"type": "array" +}, +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"exceedAction": { +"description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below. The `redirect` action is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +}, +"exceedRedirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"rateLimitThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Threshold at which to begin ratelimiting." +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig": { +"id": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig", +"properties": { +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"enforceOnKeyType": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsThreshold": { +"id": "SecurityPolicyRuleRateLimitOptionsThreshold", +"properties": { +"count": { +"description": "Number of HTTP(S) requests for calculating the threshold.", +"format": "int32", +"type": "integer" +}, +"intervalSec": { +"description": "Interval over which the threshold is computed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRedirectOptions": { +"id": "SecurityPolicyRuleRedirectOptions", +"properties": { +"target": { +"description": "Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.", +"type": "string" +}, +"type": { +"description": "Type of the redirect action.", +"enum": [ +"EXTERNAL_302", +"GOOGLE_RECAPTCHA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyUserDefinedField": { +"id": "SecurityPolicyUserDefinedField", +"properties": { +"base": { +"description": "The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required", +"enum": [ +"IPV4", +"IPV6", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"mask": { +"description": "If specified, apply this mask (bitwise AND) to the field to ignore bits before matching. Encoded as a hexadecimal number (starting with \"0x\"). The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.", +"type": "string" +}, +"name": { +"description": "The name of this field. Must be unique within the policy.", +"type": "string" +}, +"offset": { +"description": "Offset of the first byte of the field (in network byte order) relative to 'base'.", +"format": "int32", +"type": "integer" +}, +"size": { +"description": "Size of the field in bytes. Valid values: 1-4.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecuritySettings": { +"description": "The authentication and authorization settings for a BackendService.", +"id": "SecuritySettings", +"properties": { +"awsV4Authentication": { +"$ref": "AWSV4Signature", +"description": "The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication. Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends." +}, +"clientTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted.", +"type": "string" +}, +"subjectAltNames": { +"description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SerialPortOutput": { +"description": "An instance serial console output.", +"id": "SerialPortOutput", +"properties": { +"contents": { +"description": "[Output Only] The contents of the console output.", +"type": "string" +}, +"kind": { +"default": "compute#serialPortOutput", +"description": "[Output Only] Type of the resource. Always compute#serialPortOutput for serial port output.", +"type": "string" +}, +"next": { +"description": "[Output Only] The position of the next byte of content, regardless of whether the content exists, following the output returned in the `contents` property. Use this value in the next request as the start parameter.", +"format": "int64", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"start": { +"description": "The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer (1 MB), older output is overwritten by newer content. The output start value will indicate the byte position of the output that was returned, which might be different than the `start` value that was specified in the request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ServerBinding": { +"id": "ServerBinding", +"properties": { +"type": { +"enum": [ +"RESTART_NODE_ON_ANY_SERVER", +"RESTART_NODE_ON_MINIMAL_SERVERS", +"SERVER_BINDING_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Node may associate with any physical server over its lifetime.", +"Node may associate with minimal physical servers over its lifetime.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceAttachment": { +"description": "Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service.", +"id": "ServiceAttachment", +"properties": { +"connectedEndpoints": { +"description": "[Output Only] An array of connections for all the consumers connected to this service attachment.", +"items": { +"$ref": "ServiceAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"description": "The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules.", +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"CONNECTION_PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"consumerAcceptLists": { +"description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", +"items": { +"$ref": "ServiceAttachmentConsumerProjectLimit" +}, +"type": "array" +}, +"consumerRejectLists": { +"description": "Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"domainNames": { +"description": "If specified, the domain name will be used during the integration between the PSC connected endpoints and the Cloud DNS. For example, this is a valid domain name: \"p.mycompany.com.\". Current max number of domain names supported is 1.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableProxyProtocol": { +"description": "If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers.", +"type": "boolean" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to-date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the ServiceAttachment.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#serviceAttachment", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.serviceAttachments.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natSubnets": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service producer to use for NAT in this service attachment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerForwardingRule": { +"deprecated": true, +"description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", +"type": "string" +}, +"propagatedConnectionLimit": { +"description": "The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.", +"format": "uint32", +"type": "integer" +}, +"pscServiceAttachmentId": { +"$ref": "Uint128", +"description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." +}, +"reconcileConnections": { +"description": "This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"targetService": { +"description": "The URL of a service serving the endpoint identified by this service attachment.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentAggregatedList": { +"description": "Contains a list of ServiceAttachmentsScopedList.", +"id": "ServiceAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ServiceAttachmentsScopedList", +"description": "Name of the scope containing this set of ServiceAttachments." +}, +"description": "A list of ServiceAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#serviceAttachmentAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ServiceAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this service attachment.", +"id": "ServiceAttachmentConnectedEndpoint", +"properties": { +"consumerNetwork": { +"description": "The url of the consumer network.", +"type": "string" +}, +"endpoint": { +"description": "The url of a connected endpoint.", +"type": "string" +}, +"propagatedConnectionCount": { +"description": "The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.", +"format": "uint32", +"type": "integer" +}, +"pscConnectionId": { +"description": "The PSC connection id of the connected endpoint.", +"format": "uint64", +"type": "string" +}, +"status": { +"description": "The status of a connected endpoint to this service attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The consumer is still connected but not using the connection.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentConsumerProjectLimit": { +"id": "ServiceAttachmentConsumerProjectLimit", +"properties": { +"connectionLimit": { +"description": "The value of the limit to set.", +"format": "uint32", +"type": "integer" +}, +"networkUrl": { +"description": "The network URL for the network to set the limit for.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number for the project to set the limit for.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentList": { +"id": "ServiceAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ServiceAttachment resources.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#serviceAttachmentList", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ServiceAttachmentsScopedList": { +"id": "ServiceAttachmentsScopedList", +"properties": { +"serviceAttachments": { +"description": "A list of ServiceAttachments contained in this scope.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of service attachments when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadata": { +"id": "SetCommonInstanceMetadataOperationMetadata", +"properties": { +"clientOperationId": { +"description": "[Output Only] The client operation id.", +"type": "string" +}, +"perLocationOperations": { +"additionalProperties": { +"$ref": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo" +}, +"description": "[Output Only] Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo": { +"id": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo", +"properties": { +"error": { +"$ref": "Status", +"description": "[Output Only] If state is `ABANDONED` or `FAILED`, this field is populated." +}, +"state": { +"description": "[Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.", +"enum": [ +"ABANDONED", +"DONE", +"FAILED", +"PROPAGATED", +"PROPAGATING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Operation not tracked in this location e.g. zone is marked as DOWN.", +"Operation has completed successfully.", +"Operation is in an error state.", +"Operation is confirmed to be in the location.", +"Operation is not yet confirmed to have been created in the location.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettings": { +"description": "The share setting for reservations and sole tenancy node groups.", +"id": "ShareSettings", +"properties": { +"projectMap": { +"additionalProperties": { +"$ref": "ShareSettingsProjectConfig" +}, +"description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS.", +"type": "object" +}, +"shareType": { +"description": "Type of sharing for this shared-reservation", +"enum": [ +"LOCAL", +"ORGANIZATION", +"SHARE_TYPE_UNSPECIFIED", +"SPECIFIC_PROJECTS" +], +"enumDescriptions": [ +"Default value.", +"Shared-reservation is open to entire Organization", +"Default value. This value is unused.", +"Shared-reservation is open to specific projects" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettingsProjectConfig": { +"description": "Config for each project in the share settings.", +"id": "ShareSettingsProjectConfig", +"properties": { +"projectId": { +"description": "The project ID, should be same as the key of this project config in the parent map.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedInstanceIdentity": { +"description": "A Shielded Instance Identity.", +"id": "ShieldedInstanceIdentity", +"properties": { +"encryptionKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Endorsement Key (EK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +}, +"kind": { +"default": "compute#shieldedInstanceIdentity", +"description": "[Output Only] Type of the resource. Always compute#shieldedInstanceIdentity for shielded Instance identity entry.", +"type": "string" +}, +"signingKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Attestation Key (AK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +} +}, +"type": "object" +}, +"ShieldedInstanceIdentityEntry": { +"description": "A Shielded Instance Identity Entry.", +"id": "ShieldedInstanceIdentityEntry", +"properties": { +"ekCert": { +"description": "A PEM-encoded X.509 certificate. This field can be empty.", +"type": "string" +}, +"ekPub": { +"description": "A PEM-encoded public key.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceIntegrityPolicy": { +"description": "The policy describes the baseline against which Instance boot integrity is measured.", +"id": "ShieldedInstanceIntegrityPolicy", +"properties": { +"updateAutoLearnPolicy": { +"description": "Updates the integrity policy baseline using the measurements from the VM instance's most recent boot.", +"type": "boolean" +} +}, +"type": "object" +}, +"SignedUrlKey": { +"description": "Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs", +"id": "SignedUrlKey", +"properties": { +"keyName": { +"description": "Name of the key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"keyValue": { +"description": "128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.", +"type": "string" +} +}, +"type": "object" +}, +"Snapshot": { +"description": "Represents a Persistent Disk Snapshot resource. You can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots.", +"id": "Snapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoCreated": { +"description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk.", +"type": "boolean" +}, +"chainName": { +"description": "Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value.", +"type": "string" +}, +"creationSizeBytes": { +"description": "[Output Only] Size in bytes of the snapshot at creation time.", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"downloadBytes": { +"description": "[Output Only] Number of bytes downloaded to restore a snapshot to a disk.", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this snapshot is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "[Output Only] A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#snapshot", +"description": "[Output Only] Type of the resource. Always compute#snapshot for Snapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a snapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"licenseCodes": { +"description": "[Output Only] Integer license codes indicating which licenses are attached to this snapshot.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "[Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image).", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the snapshot close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.createSnapshot", +"compute.snapshots.insert" +] +}, +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"snapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later." +}, +"snapshotType": { +"description": "Indicates the type of the snapshot.", +"enum": [ +"ARCHIVE", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this snapshot.", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskForRecoveryCheckpoint": { +"description": "The source disk whose recovery checkpoint will be used to create this snapshot.", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this snapshot. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Customer provided encryption key when creating Snapshot from Instant Snapshot." +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshotSchedulePolicy": { +"description": "[Output Only] URL of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"sourceSnapshotSchedulePolicyId": { +"description": "[Output Only] ID of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"Snapshot creation is in progress.", +"Snapshot is currently being deleted.", +"Snapshot creation failed.", +"Snapshot has been created successfully.", +"Snapshot is being uploaded." +], +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SnapshotList": { +"description": "Contains a list of Snapshot resources.", +"id": "SnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Snapshot resources.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#snapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SnapshotSettings": { +"id": "SnapshotSettings", +"properties": { +"storageLocation": { +"$ref": "SnapshotSettingsStorageLocationSettings", +"description": "Policy of which storage location is going to be resolved, and additional data that particularizes how the policy is going to be carried out." +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettings": { +"id": "SnapshotSettingsStorageLocationSettings", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference" +}, +"description": "When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the locations listed in this field. Keys are Cloud Storage bucket locations. Only one location can be specified.", +"type": "object" +}, +"policy": { +"description": "The chosen location policy.", +"enum": [ +"LOCAL_REGION", +"NEAREST_MULTI_REGION", +"SPECIFIC_LOCATIONS", +"STORAGE_LOCATION_POLICY_UNSPECIFIED" +], +"enumDescriptions": [ +"Store snapshot in the same region as with the originating disk. No additional parameters are needed.", +"Store snapshot in the nearest multi region Cloud Storage bucket, relative to the originating disk. No additional parameters are needed.", +"Store snapshot in the specific locations, as specified by the user. The list of regions to store must be defined under the `locations` field.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettingsStorageLocationPreference": { +"description": "A structure for specifying storage locations.", +"id": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference", +"properties": { +"name": { +"description": "Name of the location. It should be one of the Cloud Storage buckets. Only one location can be specified.", +"type": "string" +} +}, +"type": "object" +}, +"SourceDiskEncryptionKey": { +"id": "SourceDiskEncryptionKey", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDisk": { +"description": "URL of the disk attached to the source instance. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"SourceInstanceParams": { +"description": "A specification of the parameters to use when creating the instance template from a source instance.", +"id": "SourceInstanceParams", +"properties": { +"diskConfigs": { +"description": "Attached disks configuration. If not provided, defaults are applied: For boot disk and any other R/W disks, the source images for each disk will be used. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"items": { +"$ref": "DiskInstantiationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SourceInstanceProperties": { +"description": "DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field.", +"id": "SourceInstanceProperties", +"properties": { +"canIpForward": { +"description": "Enables instances created based on this machine image to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"deletionProtection": { +"description": "Whether the instance created from this machine image should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional text description for the instances that are created from this machine image.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from this machine image.", +"items": { +"$ref": "SavedAttachedDisk" +}, +"type": "array" +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from this machine image.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from this machine image.", +"type": "object" +}, +"machineType": { +"description": "The machine type to use for instances that are created from this machine image.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from this machine image. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances created from this machine image. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from this machine image." +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from this machine image. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from this machine image. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"SslCertificate": { +"description": "Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", +"id": "SslCertificate", +"properties": { +"certificate": { +"description": "A value read into memory from a certificate file. The certificate file must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expireTime": { +"description": "[Output Only] Expire time of the certificate. RFC3339", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslCertificate", +"description": "[Output Only] Type of the resource. Always compute#sslCertificate for SSL certificates.", +"type": "string" +}, +"managed": { +"$ref": "SslCertificateManagedSslCertificate", +"description": "Configuration and status of a managed SSL certificate." +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateKey": { +"description": "A value read into memory from a write-only private key file. The private key file must be in PEM format. For security, only insert requests include this field.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL Certificate resides. This field is not applicable to global SSL Certificate.", +"type": "string" +}, +"selfLink": { +"description": "[Output only] Server-defined URL for the resource.", +"type": "string" +}, +"selfManaged": { +"$ref": "SslCertificateSelfManagedSslCertificate", +"description": "Configuration and status of a self-managed SSL certificate." +}, +"subjectAlternativeNames": { +"description": "[Output Only] Domains associated with the certificate via Subject Alternative Name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "(Optional) Specifies the type of SSL certificate, either \"SELF_MANAGED\" or \"MANAGED\". If not specified, the certificate is self-managed and the fields certificate and private_key are used.", +"enum": [ +"MANAGED", +"SELF_MANAGED", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Google-managed SSLCertificate.", +"Certificate uploaded by user.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateAggregatedList": { +"id": "SslCertificateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslCertificatesScopedList", +"description": "Name of the scope containing this set of SslCertificates." +}, +"description": "A list of SslCertificatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslCertificateAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslCertificateAggregatedList for lists of SSL Certificates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslCertificateList": { +"description": "Contains a list of SslCertificate resources.", +"id": "SslCertificateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslCertificate resources.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslCertificateList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslCertificateManagedSslCertificate": { +"description": "Configuration and status of a managed SSL certificate.", +"id": "SslCertificateManagedSslCertificate", +"properties": { +"domainStatus": { +"additionalProperties": { +"enum": [ +"ACTIVE", +"DOMAIN_STATUS_UNSPECIFIED", +"FAILED_CAA_CHECKING", +"FAILED_CAA_FORBIDDEN", +"FAILED_NOT_VISIBLE", +"FAILED_RATE_LIMITED", +"PROVISIONING" +], +"enumDescriptions": [ +"A managed certificate can be provisioned, no issues for this domain.", +"", +"Failed to check CAA records for the domain.", +"Certificate issuance forbidden by an explicit CAA record for the domain.", +"There seems to be problem with the user's DNS or load balancer configuration for this domain.", +"Reached rate-limit for certificates per top-level private domain.", +"Certificate provisioning for this domain is under way. GCP will attempt to provision the first certificate." +], +"type": "string" +}, +"description": "[Output only] Detailed statuses of the domains specified for managed certificate resource.", +"type": "object" +}, +"domains": { +"description": "The domains for which a managed SSL certificate will be generated. Each Google-managed SSL certificate supports up to the [maximum number of domains per Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "[Output only] Status of the managed certificate resource.", +"enum": [ +"ACTIVE", +"MANAGED_CERTIFICATE_STATUS_UNSPECIFIED", +"PROVISIONING", +"PROVISIONING_FAILED", +"PROVISIONING_FAILED_PERMANENTLY", +"RENEWAL_FAILED" +], +"enumDescriptions": [ +"The certificate management is working, and a certificate has been provisioned.", +"", +"The certificate management is working. GCP will attempt to provision the first certificate.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. For details of which domain failed, consult domain_status field.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. It won't be retried. To try again delete and create a new managed SslCertificate resource. For details of which domain failed, consult domain_status field.", +"Renewal of the certificate has failed due to an issue with the DNS or load balancing configuration. The existing cert is still serving; however, it will expire shortly. To provision a renewed certificate, delete and create a new managed SslCertificate resource. For details on which domain failed, consult domain_status field." +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateSelfManagedSslCertificate": { +"description": "Configuration and status of a self-managed SSL certificate.", +"id": "SslCertificateSelfManagedSslCertificate", +"properties": { +"certificate": { +"description": "A local certificate file. The certificate must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"privateKey": { +"description": "A write-only private key in PEM format. Only insert requests will include this field.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertificatesScopedList": { +"id": "SslCertificatesScopedList", +"properties": { +"sslCertificates": { +"description": "List of SslCertificates contained in this scope.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesAggregatedList": { +"id": "SslPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslPoliciesScopedList", +"description": "Name of the scope containing this set of SSL policies." +}, +"description": "A list of SslPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslPolicyAggregatedList for lists of SSL Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesList": { +"id": "SslPoliciesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslPolicy resources.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslPoliciesList", +"description": "[Output Only] Type of the resource. Always compute#sslPoliciesList for lists of sslPolicies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPoliciesListAvailableFeaturesResponse": { +"id": "SslPoliciesListAvailableFeaturesResponse", +"properties": { +"features": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SslPoliciesScopedList": { +"id": "SslPoliciesScopedList", +"properties": { +"sslPolicies": { +"description": "A list of SslPolicies contained in this scope.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of SSL policies when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SslPolicy": { +"description": "Represents an SSL Policy resource. Use SSL policies to control SSL features, such as versions and cipher suites, that are offered by Application Load Balancers and proxy Network Load Balancers. For more information, read SSL policies overview.", +"id": "SslPolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customFeatures": { +"description": "A list of features enabled when the selected profile is CUSTOM. The method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "[Output Only] The list of features enabled in the SSL policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a SslPolicy. An up-to-date fingerprint must be provided in order to update the SslPolicy, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an SslPolicy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslPolicy", +"description": "[Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.", +"type": "string" +}, +"minTlsVersion": { +"description": "The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2.", +"enum": [ +"TLS_1_0", +"TLS_1_1", +"TLS_1_2" +], +"enumDescriptions": [ +"TLS 1.0", +"TLS 1.1", +"TLS 1.2" +], +"type": "string" +}, +"name": { +"description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"profile": { +"description": "Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field.", +"enum": [ +"COMPATIBLE", +"CUSTOM", +"MODERN", +"RESTRICTED" +], +"enumDescriptions": [ +"Compatible profile. Allows the broadset set of clients, even those which support only out-of-date SSL features to negotiate with the load balancer.", +"Custom profile. Allow only the set of allowed SSL features specified in the customFeatures field.", +"Modern profile. Supports a wide set of SSL features, allowing modern clients to negotiate SSL with the load balancer.", +"Restricted profile. Supports a reduced set of SSL features, intended to meet stricter compliance requirements." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"SslPolicyReference": { +"id": "SslPolicyReference", +"properties": { +"sslPolicy": { +"description": "URL of the SSL policy resource. Set this to empty string to clear any existing SSL policy associated with the target proxy resource.", +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicy": { +"id": "StatefulPolicy", +"properties": { +"preservedState": { +"$ref": "StatefulPolicyPreservedState" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedState": { +"description": "Configuration of preserved resources.", +"id": "StatefulPolicyPreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateDiskDevice" +}, +"description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateDiskDevice": { +"id": "StatefulPolicyPreservedStateDiskDevice", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateNetworkIp": { +"id": "StatefulPolicyPreservedStateNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StoragePool": { +"description": "Represents a zonal storage pool resource.", +"id": "StoragePool", +"properties": { +"capacityProvisioningType": { +"description": "Provisioning type of the byte capacity of the pool.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePool", +"description": "[Output Only] Type of the resource. Always compute#storagePool for storage pools.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this storage pool. These can be later modified by the setLabels method.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"performanceProvisioningType": { +"description": "Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"poolProvisionedCapacityGb": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolProvisionedIops": { +"description": "Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.", +"format": "int64", +"type": "string" +}, +"poolProvisionedThroughput": { +"description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", +"format": "int64", +"type": "string" +}, +"resourceStatus": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"state": { +"description": "[Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"StoragePool is provisioning", +"StoragePool is deleting.", +"StoragePool creation failed.", +"StoragePool is ready for use." +], +"type": "string" +}, +"status": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"storagePoolType": { +"description": "Type of the storage pool.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolAggregatedList": { +"id": "StoragePoolAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolsScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool." +}, +"description": "A list of StoragePoolsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolAggregatedList for aggregated lists of storage pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolDisk": { +"id": "StoragePoolDisk", +"properties": { +"attachedInstances": { +"description": "[Output Only] Instances this disk is attached to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"disk": { +"description": "[Output Only] The URL of the disk.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the disk.", +"type": "string" +}, +"provisionedIops": { +"description": "[Output Only] The number of IOPS provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "[Output Only] The throughput provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"resourcePolicies": { +"description": "[Output Only] Resource policies applied to disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sizeGb": { +"description": "[Output Only] The disk size, in GB.", +"format": "int64", +"type": "string" +}, +"status": { +"description": "[Output Only] The disk status.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"type": { +"description": "[Output Only] The disk type.", +"type": "string" +}, +"usedBytes": { +"description": "[Output Only] Amount of disk space used.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolList": { +"description": "A list of StoragePool resources.", +"id": "StoragePoolList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePool resources.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolList", +"description": "[Output Only] Type of resource. Always compute#storagePoolList for lists of storagePools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolListDisks": { +"id": "StoragePoolListDisks", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolDisk resources.", +"items": { +"$ref": "StoragePoolDisk" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolListDisks", +"description": "[Output Only] Type of resource. Always compute#storagePoolListDisks for lists of disks in a storagePool.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "StoragePoolResourceStatus", +"properties": { +"diskCount": { +"description": "[Output Only] Number of disks used.", +"format": "int64", +"type": "string" +}, +"lastResizeTimestamp": { +"description": "[Output Only] Timestamp of the last successful resize in RFC3339 text format.", +"type": "string" +}, +"maxTotalProvisionedDiskCapacityGb": { +"description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", +"format": "int64", +"type": "string" +}, +"poolUsedCapacityBytes": { +"description": "[Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.", +"format": "int64", +"type": "string" +}, +"poolUsedIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolUsedThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", +"format": "int64", +"type": "string" +}, +"poolUserWrittenBytes": { +"description": "[Output Only] Amount of data written into the pool, before it is compacted.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskCapacityGb": { +"description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolType": { +"id": "StoragePoolType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this storage pool type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePoolType", +"description": "[Output Only] Type of the resource. Always compute#storagePoolType for storage pool types.", +"type": "string" +}, +"maxPoolProvisionedCapacityGb": { +"description": "[Output Only] Maximum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedIops": { +"description": "[Output Only] Maximum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedThroughput": { +"description": "[Output Only] Maximum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedCapacityGb": { +"description": "[Output Only] Minimum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedIops": { +"description": "[Output Only] Minimum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedThroughput": { +"description": "[Output Only] Minimum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minSizeGb": { +"description": "[Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb instead.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"supportedDiskTypes": { +"description": "[Output Only] The list of disk types supported in this storage pool type.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolTypeAggregatedList": { +"id": "StoragePoolTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool types." +}, +"description": "A list of StoragePoolTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolTypeList": { +"description": "Contains a list of storage pool types.", +"id": "StoragePoolTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolType resources.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolTypeList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeList for storage pool types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolTypesScopedList": { +"id": "StoragePoolTypesScopedList", +"properties": { +"storagePoolTypes": { +"description": "[Output Only] A list of storage pool types contained in this scope.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool types when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"StoragePoolsScopedList": { +"id": "StoragePoolsScopedList", +"properties": { +"storagePools": { +"description": "[Output Only] A list of storage pool contained in this scope.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"Subnetwork": { +"description": "Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a logical partition of a Virtual Private Cloud network with one primary IP range and zero or more secondary IP ranges. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Subnetwork", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.", +"type": "string" +}, +"enableFlowLogs": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"externalIpv6Prefix": { +"description": "The external IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.", +"format": "byte", +"type": "string" +}, +"gatewayAddress": { +"description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "The internal IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"ipv6CidrRange": { +"description": "[Output Only] This field is for internal use.", +"type": "string" +}, +"kind": { +"default": "compute#subnetwork", +"description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", +"type": "string" +}, +"logConfig": { +"$ref": "SubnetworkLogConfig", +"description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging." +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.", +"type": "string" +}, +"privateIpGoogleAccess": { +"description": "Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.", +"type": "boolean" +}, +"privateIpv6GoogleAccess": { +"description": "This field is for internal use. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"DISABLE_GOOGLE_ACCESS", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE" +], +"enumDescriptions": [ +"Disable private IPv6 access to/from Google services.", +"Bidirectional private IPv6 access to/from Google services.", +"Outbound private IPv6 access from VMs in this subnet to Google services." +], +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"region": { +"description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.", +"items": { +"$ref": "SubnetworkSecondaryRange" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY", +"enum": [ +"DRAINING", +"READY" +], +"enumDescriptions": [ +"Subnetwork is being drained.", +"Subnetwork is ready for use." +], +"type": "string" +} +}, +"type": "object" +}, +"SubnetworkAggregatedList": { +"id": "SubnetworkAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SubnetworksScopedList", +"description": "Name of the scope containing this set of Subnetworks." +}, +"description": "A list of SubnetworksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#subnetworkAggregatedList", +"description": "[Output Only] Type of resource. Always compute#subnetworkAggregatedList for aggregated lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworkList": { +"description": "Contains a list of Subnetwork resources.", +"id": "SubnetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Subnetwork resources.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#subnetworkList", +"description": "[Output Only] Type of resource. Always compute#subnetworkList for lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworkLogConfig": { +"description": "The available logging options for this subnetwork.", +"id": "SubnetworkLogConfig", +"properties": { +"aggregationInterval": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", +"enum": [ +"INTERVAL_10_MIN", +"INTERVAL_15_MIN", +"INTERVAL_1_MIN", +"INTERVAL_30_SEC", +"INTERVAL_5_MIN", +"INTERVAL_5_SEC" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enable": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"filterExpr": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", +"type": "string" +}, +"flowSampling": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", +"format": "float", +"type": "number" +}, +"metadata": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", +"enum": [ +"CUSTOM_METADATA", +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"metadataFields": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SubnetworkSecondaryRange": { +"description": "Represents a secondary IP range of a subnetwork.", +"id": "SubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksExpandIpCidrRangeRequest": { +"id": "SubnetworksExpandIpCidrRangeRequest", +"properties": { +"ipCidrRange": { +"description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksScopedList": { +"id": "SubnetworksScopedList", +"properties": { +"subnetworks": { +"description": "A list of subnetworks contained in this scope.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"warning": { +"description": "An informational warning that appears when the list of addresses is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"SubnetworksSetPrivateIpGoogleAccessRequest": { +"id": "SubnetworksSetPrivateIpGoogleAccessRequest", +"properties": { +"privateIpGoogleAccess": { +"type": "boolean" +} +}, +"type": "object" +}, +"Subsetting": { +"description": "Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director.", +"id": "Subsetting", +"properties": { +"policy": { +"enum": [ +"CONSISTENT_HASH_SUBSETTING", +"NONE" +], +"enumDescriptions": [ +"Subsetting based on consistent hashing. For Traffic Director, the number of backends per backend group (the subset size) is based on the `subset_size` parameter. For Internal HTTP(S) load balancing, the number of backends per backend group (the subset size) is dynamically adjusted in two cases: - As the number of proxy instances participating in Internal HTTP(S) load balancing increases, the subset size decreases. - When the total number of backends in a network exceeds the capacity of a single proxy instance, subset sizes are reduced automatically for each service that has backend subsetting enabled.", +"No Subsetting. Clients may open connections and send traffic to all backends of this backend service. This can lead to performance issues if there is substantial imbalance in the count of clients and backends." +], +"type": "string" +} +}, +"type": "object" +}, +"TCPHealthCheck": { +"id": "TCPHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection.", +"type": "string" +}, +"response": { +"description": "Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"Tags": { +"description": "A set of instance tags.", +"id": "Tags", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the tags' contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update tags. You must always provide an up-to-date fingerprint hash in order to update or change tags. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.", +"items": { +"type": "string" +}, +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "array" +} +}, +"type": "object" +}, +"TargetGrpcProxy": { +"description": "Represents a Target gRPC Proxy resource. A target gRPC proxy is a component of load balancers intended for load balancing gRPC traffic. Only global forwarding rules with load balancing scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target gRPC Proxy references a URL map that specifies how traffic is routed to gRPC backend services.", +"id": "TargetGrpcProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetGrpcProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetGrpcProxy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetGrpcProxy", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.targetGrpcProxies.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService. The protocol field in the BackendService must be set to GRPC.", +"type": "string" +}, +"validateForProxyless": { +"description": "If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use \"xds:///\" scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use \"xds:///\" scheme in the target URI of the service it is connecting to", +"type": "boolean" +} +}, +"type": "object" +}, +"TargetGrpcProxyList": { +"id": "TargetGrpcProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetGrpcProxy resources.", +"items": { +"$ref": "TargetGrpcProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetGrpcProxyList", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpProxiesScopedList": { +"id": "TargetHttpProxiesScopedList", +"properties": { +"targetHttpProxies": { +"description": "A list of TargetHttpProxies contained in this scope.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpProxy": { +"description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of Google Cloud HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy.", +"format": "byte", +"type": "string" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpProxyAggregatedList": { +"id": "TargetHttpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpProxies." +}, +"description": "A list of TargetHttpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetHttpProxyList": { +"description": "A list of TargetHttpProxy resources.", +"id": "TargetHttpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpProxy resources.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpProxyList", +"description": "Type of resource. Always compute#targetHttpProxyList for lists of target HTTP proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxiesScopedList": { +"id": "TargetHttpsProxiesScopedList", +"properties": { +"targetHttpsProxies": { +"description": "A list of TargetHttpsProxies contained in this scope.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetCertificateMapRequest": { +"id": "TargetHttpsProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetQuicOverrideRequest": { +"id": "TargetHttpsProxiesSetQuicOverrideRequest", +"properties": { +"quicOverride": { +"description": "QUIC policy for the TargetHttpsProxy resource.", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetSslCertificatesRequest": { +"id": "TargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetHttpsProxy": { +"description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpsProxy", +"properties": { +"authorizationPolicy": { +"description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.", +"type": "string" +}, +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.", +"format": "byte", +"type": "string" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpsProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"quicOverride": { +"description": "Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied. ", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"serverTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.", +"type": "string" +}, +"tlsEarlyData": { +"description": " Specifies whether TLS 1.3 0-RTT Data (\"Early Data\") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to \"zero\". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the \"Early-Data\" HTTP header set on the request, with a value of \"1\", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the \"Early-Data: 1\" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.", +"enum": [ +"DISABLED", +"PERMISSIVE", +"STRICT", +"UNRESTRICTED" +], +"enumDescriptions": [ +"TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", +"This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." +], +"type": "string" +}, +"urlMap": { +"description": "A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map ", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxyAggregatedList": { +"id": "TargetHttpsProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpsProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpsProxies." +}, +"description": "A list of TargetHttpsProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpsProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetHttpsProxyList": { +"description": "Contains a list of TargetHttpsProxy resources.", +"id": "TargetHttpsProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpsProxy resources.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpsProxyList", +"description": "Type of resource. Always compute#targetHttpsProxyList for lists of target HTTPS proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstance": { +"description": "Represents a Target Instance resource. You can use a target instance to handle traffic for one or more forwarding rules, which is ideal for forwarding protocol traffic that is managed by a single source. For example, ESP, AH, TCP, or UDP. For more information, read Target instances.", +"id": "TargetInstance", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "A URL to the virtual machine instance that handles traffic for this target instance. When creating a target instance, you can provide the fully-qualified URL or a valid partial URL to the desired virtual machine. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +}, +"kind": { +"default": "compute#targetInstance", +"description": "[Output Only] The type of the resource. Always compute#targetInstance for target instances.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natPolicy": { +"description": "Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance.", +"enum": [ +"NO_NAT" +], +"enumDescriptions": [ +"No NAT performed." +], +"type": "string" +}, +"network": { +"description": "The URL of the network this target instance uses to forward traffic. If not specified, the traffic will be forwarded to the network that the default network interface belongs to.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target instance.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"TargetInstanceAggregatedList": { +"id": "TargetInstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetInstancesScopedList", +"description": "Name of the scope containing this set of target instances." +}, +"description": "A list of TargetInstance resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetInstanceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstanceList": { +"description": "Contains a list of TargetInstance resources.", +"id": "TargetInstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetInstance resources.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetInstanceList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetInstancesScopedList": { +"id": "TargetInstancesScopedList", +"properties": { +"targetInstances": { +"description": "A list of target instances contained in this scope.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPool": { +"description": "Represents a Target Pool resource. Target pools are used with external passthrough Network Load Balancers. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools.", +"id": "TargetPool", +"properties": { +"backupPool": { +"description": "The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1]. backupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failoverRatio": { +"description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1]. If set, backupPool must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio is not set or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"format": "float", +"type": "number" +}, +"healthChecks": { +"description": "The URL of the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if the health checks pass. Only legacy HttpHealthChecks are supported. Only one health check may be specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instances": { +"description": "A list of resource URLs to the virtual machine instances serving this pool. They must live in zones contained in the same region as this pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPool", +"description": "[Output Only] Type of the resource. Always compute#targetPool for target pools.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target pool resides.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target pool.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sessionAffinity": { +"description": "Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolAggregatedList": { +"id": "TargetPoolAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetPoolsScopedList", +"description": "Name of the scope containing this set of target pools." +}, +"description": "A list of TargetPool resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetPoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetPoolAggregatedList for aggregated lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPoolInstanceHealth": { +"id": "TargetPoolInstanceHealth", +"properties": { +"healthStatus": { +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolInstanceHealth", +"description": "[Output Only] Type of resource. Always compute#targetPoolInstanceHealth when checking the health of an instance.", +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolList": { +"description": "Contains a list of TargetPool resources.", +"id": "TargetPoolList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetPool resources.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolList", +"description": "[Output Only] Type of resource. Always compute#targetPoolList for lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetPoolsAddHealthCheckRequest": { +"id": "TargetPoolsAddHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "The HttpHealthCheck to add to the target pool.", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsAddInstanceRequest": { +"id": "TargetPoolsAddInstanceRequest", +"properties": { +"instances": { +"description": "A full or partial URL to an instance to add to this target pool. This can be a full or partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/v1/projects/project-id/zones/zone /instances/instance-name - projects/project-id/zones/zone/instances/instance-name - zones/zone/instances/instance-name ", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveHealthCheckRequest": { +"id": "TargetPoolsRemoveHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "Health check URL to be removed. This can be a full or valid partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project /global/httpHealthChecks/health-check - projects/project/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveInstanceRequest": { +"id": "TargetPoolsRemoveInstanceRequest", +"properties": { +"instances": { +"description": "URLs of the instances to be removed from target pool.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsScopedList": { +"id": "TargetPoolsScopedList", +"properties": { +"targetPools": { +"description": "A list of target pools contained in this scope.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetReference": { +"id": "TargetReference", +"properties": { +"target": { +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetBackendServiceRequest": { +"id": "TargetSslProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetSslProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetCertificateMapRequest": { +"id": "TargetSslProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetProxyHeaderRequest": { +"id": "TargetSslProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetSslCertificatesRequest": { +"id": "TargetSslProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetSslProxy": { +"description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target SSL proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetSslProxy", +"properties": { +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetSslProxy", +"description": "[Output Only] Type of the resource. Always compute#targetSslProxy for target SSL proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxyList": { +"description": "Contains a list of TargetSslProxy resources.", +"id": "TargetSslProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetSslProxy resources.", +"items": { +"$ref": "TargetSslProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetSslProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxiesScopedList": { +"id": "TargetTcpProxiesScopedList", +"properties": { +"targetTcpProxies": { +"description": "A list of TargetTcpProxies contained in this scope.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxiesSetBackendServiceRequest": { +"id": "TargetTcpProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetTcpProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxiesSetProxyHeaderRequest": { +"id": "TargetTcpProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxy": { +"description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target TCP proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetTcpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetTcpProxy", +"description": "[Output Only] Type of the resource. Always compute#targetTcpProxy for target TCP proxies.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxyAggregatedList": { +"id": "TargetTcpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetTcpProxiesScopedList", +"description": "Name of the scope containing this set of TargetTcpProxies." +}, +"description": "A list of TargetTcpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetTcpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetTcpProxyAggregatedList for lists of Target TCP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetTcpProxyList": { +"description": "Contains a list of TargetTcpProxy resources.", +"id": "TargetTcpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetTcpProxy resources.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetTcpProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGateway": { +"description": "Represents a Target VPN Gateway resource. The target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview.", +"id": "TargetVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"forwardingRules": { +"description": "[Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules are created using compute.forwardingRules.insert and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetVpnGateway", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"tunnels": { +"description": "[Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created using the compute.vpntunnels.insert method and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetVpnGatewayAggregatedList": { +"id": "TargetVpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetVpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of target VPN gateways." +}, +"description": "A list of TargetVpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetVpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGatewayList": { +"description": "Contains a list of TargetVpnGateway resources.", +"id": "TargetVpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetVpnGateway resources.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TargetVpnGatewaysScopedList": { +"id": "TargetVpnGatewaysScopedList", +"properties": { +"targetVpnGateways": { +"description": "[Output Only] A list of target VPN gateways contained in this scope.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"TestFailure": { +"id": "TestFailure", +"properties": { +"actualOutputUrl": { +"description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"actualRedirectResponseCode": { +"description": "Actual HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"actualService": { +"description": "BackendService or BackendBucket returned by load balancer.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "Expected HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"expectedService": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.", +"type": "string" +}, +"headers": { +"description": "HTTP headers of the request.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL.", +"type": "string" +}, +"path": { +"description": "Path portion including query parameters in the URL.", +"type": "string" +} +}, +"type": "object" +}, +"TestPermissionsRequest": { +"id": "TestPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestPermissionsResponse": { +"id": "TestPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Uint128": { +"id": "Uint128", +"properties": { +"high": { +"format": "uint64", +"type": "string" +}, +"low": { +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"UpcomingMaintenance": { +"description": "Upcoming Maintenance notification information.", +"id": "UpcomingMaintenance", +"properties": { +"canReschedule": { +"description": "Indicates if the maintenance can be customer triggered.", +"type": "boolean" +}, +"latestWindowStartTime": { +"description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"maintenanceStatus": { +"enum": [ +"ONGOING", +"PENDING", +"UNKNOWN" +], +"enumDescriptions": [ +"There is ongoing maintenance on this VM.", +"There is pending maintenance.", +"Unknown maintenance status. Do not use this value." +], +"type": "string" +}, +"type": { +"description": "Defines the type of maintenance.", +"enum": [ +"SCHEDULED", +"UNKNOWN_TYPE", +"UNSCHEDULED" +], +"enumDescriptions": [ +"Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", +"No type specified. Do not use this value.", +"Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." +], +"type": "string" +}, +"windowEndTime": { +"description": "The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"windowStartTime": { +"description": "The current start time of the maintenance window. This timestamp value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMap": { +"description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", +"id": "UrlMap", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"defaultService": { +"description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap.", +"format": "byte", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction specified here take effect after headerAction specified under pathMatcher. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"hostRules": { +"description": "The list of host rules to use against the URL.", +"items": { +"$ref": "HostRule" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#urlMap", +"description": "[Output Only] Type of the resource. Always compute#urlMaps for url maps.", +"type": "string" +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pathMatchers": { +"description": "The list of named PathMatchers to use against the URL.", +"items": { +"$ref": "PathMatcher" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"tests": { +"description": "The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "UrlMapTest" +}, +"type": "array" +} +}, +"type": "object" +}, +"UrlMapList": { +"description": "Contains a list of UrlMap resources.", +"id": "UrlMapList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of UrlMap resources.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"kind": { +"default": "compute#urlMapList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapReference": { +"id": "UrlMapReference", +"properties": { +"urlMap": { +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTest": { +"description": "Message for the expected URL mappings.", +"id": "UrlMapTest", +"properties": { +"description": { +"description": "Description of this test case.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters. For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies https_redirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query, the test passes only if expectedOutputUrl does not contain any query parameters. expectedOutputUrl is optional when service is specified.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response. expectedRedirectResponseCode cannot be set when service is set.", +"format": "int32", +"type": "integer" +}, +"headers": { +"description": "HTTP headers for this request. If headers contains a host header, then host must also match the header value.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL. If headers contains a host header, then host must also match the header value.", +"type": "string" +}, +"path": { +"description": "Path portion of the URL.", +"type": "string" +}, +"service": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to. The service field cannot be set if expectedRedirectResponseCode is set.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTestHeader": { +"description": "HTTP headers used in UrlMapTests.", +"id": "UrlMapTestHeader", +"properties": { +"name": { +"description": "Header name.", +"type": "string" +}, +"value": { +"description": "Header value.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapValidationResult": { +"description": "Message representing the validation result for a UrlMap.", +"id": "UrlMapValidationResult", +"properties": { +"loadErrors": { +"items": { +"type": "string" +}, +"type": "array" +}, +"loadSucceeded": { +"description": "Whether the given UrlMap can be successfully loaded. If false, 'loadErrors' indicates the reasons.", +"type": "boolean" +}, +"testFailures": { +"items": { +"$ref": "TestFailure" +}, +"type": "array" +}, +"testPassed": { +"description": "If successfully loaded, this field indicates whether the test passed. If false, 'testFailures's indicate the reason of failure.", +"type": "boolean" +} +}, +"type": "object" +}, +"UrlMapsAggregatedList": { +"id": "UrlMapsAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "UrlMapsScopedList", +"description": "Name of the scope containing this set of UrlMaps." +}, +"description": "A list of UrlMapsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#urlMapsAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapsScopedList": { +"id": "UrlMapsScopedList", +"properties": { +"urlMaps": { +"description": "A list of UrlMaps contained in this scope.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UrlMapsValidateRequest": { +"id": "UrlMapsValidateRequest", +"properties": { +"loadBalancingSchemes": { +"description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", +"items": { +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"LOAD_BALANCING_SCHEME_UNSPECIFIED" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers.", +"Signifies that this will be used for Envoy-based global external Application Load Balancers.", +"If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type." +], +"type": "string" +}, +"type": "array" +}, +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"UrlMapsValidateResponse": { +"id": "UrlMapsValidateResponse", +"properties": { +"result": { +"$ref": "UrlMapValidationResult" +} +}, +"type": "object" +}, +"UrlRewrite": { +"description": "The spec for modifying the path before sending the request to the matched backend service.", +"id": "UrlRewrite", +"properties": { +"hostRewrite": { +"description": "Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. The value must be from 1 to 255 characters.", +"type": "string" +}, +"pathPrefixRewrite": { +"description": "Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"pathTemplateRewrite": { +"description": " If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetwork": { +"description": "Subnetwork which the current user has compute.subnetworks.use permission on.", +"id": "UsableSubnetwork", +"properties": { +"externalIpv6Prefix": { +"description": "[Output Only] The external IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "[Output Only] The internal IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork.", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"network": { +"description": "Network URL.", +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "Secondary IP ranges.", +"items": { +"$ref": "UsableSubnetworkSecondaryRange" +}, +"type": "array" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork URL.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworkSecondaryRange": { +"description": "Secondary IP range of a usable subnetwork.", +"id": "UsableSubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworksAggregatedList": { +"id": "UsableSubnetworksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output] A list of usable subnetwork URLs.", +"items": { +"$ref": "UsableSubnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableSubnetworksAggregatedList", +"description": "[Output Only] Type of resource. Always compute#usableSubnetworksAggregatedList for aggregated lists of usable subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. In special cases listUsable may return 0 subnetworks and nextPageToken which still should be used to get the next page of results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"UsageExportLocation": { +"description": "The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix.", +"id": "UsageExportLocation", +"properties": { +"bucketName": { +"description": "The name of an existing bucket in Cloud Storage where the usage report object is stored. The Google Service Account is granted write access to this bucket. This can either be the bucket name by itself, such as example-bucket, or the bucket name with gs:// or https://storage.googleapis.com/ in front of it, such as gs://example-bucket.", +"type": "string" +}, +"reportNamePrefix": { +"description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage_gce. The report is stored as a CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day of the usage according to Pacific Time. If you supply a prefix, it should conform to Cloud Storage object naming conventions.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappings": { +"description": "Contain information of Nat mapping for a VM endpoint (i.e., NIC).", +"id": "VmEndpointNatMappings", +"properties": { +"instanceName": { +"description": "Name of the VM instance which the endpoint belongs to", +"type": "string" +}, +"interfaceNatMappings": { +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappings" +}, +"type": "array" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappings": { +"description": "Contain information of Nat mapping for an interface of this endpoint.", +"id": "VmEndpointNatMappingsInterfaceNatMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleMappings": { +"description": "Information about mappings provided by rules in this NAT.", +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings" +}, +"type": "array" +}, +"sourceAliasIpRange": { +"description": "Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP range. Examples: \"10.33.4.55/32\", or \"192.168.5.0/24\".", +"type": "string" +}, +"sourceVirtualIp": { +"description": "Primary IP of the VM for this NIC.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings": { +"description": "Contains information of NAT Mappings provided by a NAT Rule.", +"id": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the NAT Rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsList": { +"description": "Contains a list of VmEndpointNatMappings.", +"id": "VmEndpointNatMappingsList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#vmEndpointNatMappingsList", +"description": "[Output Only] Type of resource. Always compute#vmEndpointNatMappingsList for lists of Nat mappings of VM endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of Nat mapping information of VM endpoints.", +"items": { +"$ref": "VmEndpointNatMappings" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGateway": { +"description": "Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies .", +"id": "VpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"gatewayIpVersion": { +"description": "The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"Every HA-VPN gateway interface is configured with an IPv4 address.", +"Every HA-VPN gateway interface is configured with an IPv6 address." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#vpnGateway", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN gateway resides.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"Enable VPN gateway with both IPv4 and IPv6 protocols.", +"Enable VPN gateway with only IPv4 protocol.", +"Enable VPN gateway with only IPv6 protocol." +], +"type": "string" +}, +"vpnInterfaces": { +"description": "The list of VPN interfaces associated with this VPN gateway.", +"items": { +"$ref": "VpnGatewayVpnGatewayInterface" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayAggregatedList": { +"id": "VpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of VPN gateways." +}, +"description": "A list of VpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGatewayList": { +"description": "Contains a list of VpnGateway resources.", +"id": "VpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnGateway resources.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnGatewayStatus": { +"id": "VpnGatewayStatus", +"properties": { +"vpnConnections": { +"description": "List of VPN connection for this VpnGateway.", +"items": { +"$ref": "VpnGatewayStatusVpnConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayStatusHighAvailabilityRequirementState": { +"description": "Describes the high availability requirement state for the VPN connection between this Cloud VPN gateway and a peer gateway.", +"id": "VpnGatewayStatusHighAvailabilityRequirementState", +"properties": { +"state": { +"description": "Indicates the high availability requirement state for the VPN connection. Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET.", +"enum": [ +"CONNECTION_REDUNDANCY_MET", +"CONNECTION_REDUNDANCY_NOT_MET" +], +"enumDescriptions": [ +"VPN tunnels are configured with adequate redundancy from Cloud VPN gateway to the peer VPN gateway. For both GCP-to-non-GCP and GCP-to-GCP connections, the adequate redundancy is a pre-requirement for users to get 99.99% availability on GCP side; please note that for any connection, end-to-end 99.99% availability is subject to proper configuration on the peer VPN gateway.", +"VPN tunnels are not configured with adequate redundancy from the Cloud VPN gateway to the peer gateway" +], +"type": "string" +}, +"unsatisfiedReason": { +"description": "Indicates the reason why the VPN connection does not meet the high availability redundancy criteria/requirement. Valid values is INCOMPLETE_TUNNELS_COVERAGE.", +"enum": [ +"INCOMPLETE_TUNNELS_COVERAGE" +], +"enumDescriptions": [ +"" +], +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusTunnel": { +"description": "Contains some information about a VPN tunnel.", +"id": "VpnGatewayStatusTunnel", +"properties": { +"localGatewayInterface": { +"description": "The VPN gateway interface this VPN tunnel is associated with.", +"format": "uint32", +"type": "integer" +}, +"peerGatewayInterface": { +"description": "The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"tunnelUrl": { +"description": "URL reference to the VPN tunnel.", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusVpnConnection": { +"description": "A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"id": "VpnGatewayStatusVpnConnection", +"properties": { +"peerExternalGateway": { +"description": "URL reference to the peer external VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"peerGcpGateway": { +"description": "URL reference to the peer side VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"state": { +"$ref": "VpnGatewayStatusHighAvailabilityRequirementState", +"description": "HighAvailabilityRequirementState for the VPN connection." +}, +"tunnels": { +"description": "List of VPN tunnels that are in this VPN connection.", +"items": { +"$ref": "VpnGatewayStatusTunnel" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayVpnGatewayInterface": { +"description": "A VPN gateway interface.", +"id": "VpnGatewayVpnGatewayInterface", +"properties": { +"id": { +"description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"interconnectAttachment": { +"description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", +"type": "string" +}, +"ipAddress": { +"description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", +"type": "string" +}, +"ipv6Address": { +"description": "[Output Only] IPv6 address for this VPN interface associated with the VPN gateway. The IPv6 address must be a regional external IPv6 address. The format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewaysGetStatusResponse": { +"id": "VpnGatewaysGetStatusResponse", +"properties": { +"result": { +"$ref": "VpnGatewayStatus" +} +}, +"type": "object" +}, +"VpnGatewaysScopedList": { +"id": "VpnGatewaysScopedList", +"properties": { +"vpnGateways": { +"description": "[Output Only] A list of VPN gateways contained in this scope.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnel": { +"description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", +"id": "VpnTunnel", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"detailedStatus": { +"description": "[Output Only] Detailed status message for the VPN tunnel.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ikeVersion": { +"description": "IKE protocol version to use when establishing the VPN tunnel with the peer VPN gateway. Acceptable IKE versions are 1 or 2. The default version is 2.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#vpnTunnel", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"localTrafficSelector": { +"description": "Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnTunnels.insert" +] +}, +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerExternalGateway": { +"description": "URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway.", +"type": "string" +}, +"peerExternalGatewayInterface": { +"description": "The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type.", +"format": "int32", +"type": "integer" +}, +"peerGcpGateway": { +"description": "URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway.", +"type": "string" +}, +"peerIp": { +"description": "IP address of the peer VPN gateway. Only IPv4 is supported. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteTrafficSelector": { +"description": "Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"router": { +"description": "URL of the router resource to be used for dynamic routing.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.", +"type": "string" +}, +"sharedSecretHash": { +"description": "Hash of the shared secret.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel. ", +"enum": [ +"ALLOCATING_RESOURCES", +"AUTHORIZATION_ERROR", +"DEPROVISIONING", +"ESTABLISHED", +"FAILED", +"FIRST_HANDSHAKE", +"NEGOTIATION_FAILURE", +"NETWORK_ERROR", +"NO_INCOMING_PACKETS", +"PROVISIONING", +"REJECTED", +"STOPPED", +"WAITING_FOR_FULL_CONFIG" +], +"enumDescriptions": [ +"Cloud VPN is in the process of allocating all required resources (specifically, a borg task).", +"Auth error (e.g. bad shared secret).", +"Resources is being deallocated for the VPN tunnel.", +"Secure session is successfully established with peer VPN.", +"Tunnel creation has failed and the tunnel is not ready to be used.", +"Successful first handshake with peer VPN.", +"Handshake failed.", +"Deprecated, replaced by NO_INCOMING_PACKETS", +"No incoming packets from peer", +"Resource is being allocated for the VPN tunnel.", +"Tunnel configuration was rejected, can be result of being denylisted.", +"Tunnel is stopped due to its Forwarding Rules being deleted.", +"Waiting to receive all VPN-related configs from user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule and Route resources are needed to setup VPN tunnel." +], +"type": "string" +}, +"targetVpnGateway": { +"description": "URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"vpnGateway": { +"description": "URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This must be used (instead of target_vpn_gateway) if a High Availability VPN gateway resource is created.", +"type": "string" +}, +"vpnGatewayInterface": { +"description": "The interface ID of the VPN gateway with which this VPN tunnel is associated. Possible values are: `0`, `1`.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VpnTunnelAggregatedList": { +"id": "VpnTunnelAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnTunnelsScopedList", +"description": "Name of the scope containing this set of VPN tunnels." +}, +"description": "A list of VpnTunnelsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnTunnelAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnelList": { +"description": "Contains a list of VpnTunnel resources.", +"id": "VpnTunnelList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnTunnel resources.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnTunnelList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"VpnTunnelsScopedList": { +"id": "VpnTunnelsScopedList", +"properties": { +"vpnTunnels": { +"description": "A list of VPN tunnels contained in this scope.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"WafExpressionSet": { +"id": "WafExpressionSet", +"properties": { +"aliases": { +"description": "A list of alternate IDs. The format should be: - E.g. XSS-stable Generic suffix like \"stable\" is particularly useful if a policy likes to avail newer set of expressions without having to change the policy. A given alias name can't be used for more than one entity set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"expressions": { +"description": "List of available expressions.", +"items": { +"$ref": "WafExpressionSetExpression" +}, +"type": "array" +}, +"id": { +"description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", +"type": "string" +} +}, +"type": "object" +}, +"WafExpressionSetExpression": { +"id": "WafExpressionSetExpression", +"properties": { +"id": { +"description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", +"type": "string" +}, +"sensitivity": { +"description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WeightedBackendService": { +"description": "In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService", +"id": "WeightedBackendService", +"properties": { +"backendService": { +"description": "The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"weight": { +"description": "Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"XpnHostList": { +"id": "XpnHostList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of shared VPC host project URLs.", +"items": { +"$ref": "Project" +}, +"type": "array" +}, +"kind": { +"default": "compute#xpnHostList", +"description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"XpnResourceId": { +"description": "Service resource (a.k.a service project) ID.", +"id": "XpnResourceId", +"properties": { +"id": { +"description": "The ID of the service resource. In the case of projects, this field supports project id (e.g., my-project-123) and project number (e.g. 12345678).", +"type": "string" +}, +"type": { +"description": "The type of the service resource.", +"enum": [ +"PROJECT", +"XPN_RESOURCE_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Zone": { +"description": "Represents a Zone resource. A zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-b is located in the us-east1 region. For more information, read Regions and Zones.", +"id": "Zone", +"properties": { +"availableCpuPlatforms": { +"description": "[Output Only] Available cpu/platform selections for the zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this zone." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#zone", +"description": "[Output Only] Type of the resource. Always compute#zone for zones.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"region": { +"description": "[Output Only] Full URL reference to the region which hosts the zone.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the zone, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"ZoneList": { +"description": "Contains a list of zone resources.", +"id": "ZoneList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Zone resources.", +"items": { +"$ref": "Zone" +}, +"type": "array" +}, +"kind": { +"default": "compute#zoneList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ZoneSetLabelsRequest": { +"id": "ZoneSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"ZoneSetPolicyRequest": { +"id": "ZoneSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "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 in general a valid policy but certain services (like Projects) might reject them." +} +}, +"type": "object" +} +}, +"servicePath": "compute/v1/", +"title": "Compute Engine API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/config.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/config.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ca1014c791c147a34e80554892ff7aff97c896f9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/config.v1.json @@ -0,0 +1,2707 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://config.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Config", +"description": "Creates and manages Google Cloud Platform resources and infrastructure.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/infrastructure-manager/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "config:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://config.mtls.googleapis.com/", +"name": "config", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "config.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "config.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"deployments": { +"methods": { +"create": { +"description": "Creates a Deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"deploymentId": { +"description": "Required. The Deployment ID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the Deployment is created. The parent value is in the format: 'projects/{project_id}/locations/{location}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/deployments", +"request": { +"$ref": "Deployment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}", +"httpMethod": "DELETE", +"id": "config.projects.locations.deployments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"deletePolicy": { +"description": "Optional. Policy on how resources actuated by the deployment should be deleted. If unspecified, the default behavior is to delete the underlying resources.", +"enum": [ +"DELETE_POLICY_UNSPECIFIED", +"DELETE", +"ABANDON" +], +"enumDescriptions": [ +"Unspecified policy, resources will be deleted.", +"Deletes resources actuated by the deployment.", +"Abandons resources and only deletes the deployment and its metadata." +], +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, any revisions for this deployment will also be deleted. (Otherwise, the request will only work if the deployment has no revisions.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the Deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteState": { +"description": "Deletes Terraform state file in a given deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:deleteState", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.deleteState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteState", +"request": { +"$ref": "DeleteStatefileRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportLock": { +"description": "Exports the lock info on a locked deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:exportLock", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.exportLock", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:exportLock", +"response": { +"$ref": "LockInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportState": { +"description": "Exports Terraform state file from a given deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:exportState", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.exportState", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:exportState", +"request": { +"$ref": "ExportDeploymentStatefileRequest" +}, +"response": { +"$ref": "Statefile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details about a Deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment. Format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/deployments/{deploymentsId}:getIamPolicy", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importState": { +"description": "Imports Terraform state file in a given deployment. The state file does not take effect until the Deployment has been unlocked.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:importState", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.importState", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:importState", +"request": { +"$ref": "ImportStatefileRequest" +}, +"response": { +"$ref": "Statefile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Deployments in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Deployments that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = \"projects/foo/locations/us-central1/deployments/bar - Filter by labels: - Resources that have a key called 'foo' labels.foo:* - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar - Filter by state: - Deployments in CREATING state. state=CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to 'ListDeployments' which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the Deployments are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deployments", +"response": { +"$ref": "ListDeploymentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lock": { +"description": "Locks a deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:lock", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.lock", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:lock", +"request": { +"$ref": "LockDeploymentRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}", +"httpMethod": "PATCH", +"id": "config.projects.locations.deployments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask used to specify the fields to be overwritten in the Deployment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Deployment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:setIamPolicy", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:testIamPermissions", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"unlock": { +"description": "Unlocks a locked deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}:unlock", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.unlock", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:unlock", +"request": { +"$ref": "UnlockDeploymentRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"revisions": { +"methods": { +"exportState": { +"description": "Exports Terraform state file from a given revision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/revisions/{revisionsId}:exportState", +"httpMethod": "POST", +"id": "config.projects.locations.deployments.revisions.exportState", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:exportState", +"request": { +"$ref": "ExportRevisionStatefileRequest" +}, +"response": { +"$ref": "Statefile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details about a Revision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.revisions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Revision in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Revision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Revisions of a deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/revisions", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.revisions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Revisions that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = \"projects/foo/locations/us-central1/deployments/dep/revisions/bar - Filter by labels: - Resources that have a key called 'foo' labels.foo:* - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar - Filter by state: - Revisions in CREATING state. state=CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a page of resources, `page_size` specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to 'ListRevisions' which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the Revisions are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/revisions", +"response": { +"$ref": "ListRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"resources": { +"methods": { +"get": { +"description": "Gets details about a Resource deployed by Infra Manager.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/revisions/{revisionsId}/resources/{resourcesId}", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.revisions.resources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Resource in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}/resource/{resource}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/revisions/[^/]+/resources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Resource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Resources in a given revision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/revisions/{revisionsId}/resources", +"httpMethod": "GET", +"id": "config.projects.locations.deployments.revisions.resources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Resources that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = \"projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to 'ListResources' which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the Resources are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/resources", +"response": { +"$ref": "ListResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "config.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "config.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "config.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "config.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"previews": { +"methods": { +"create": { +"description": "Creates a Preview.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/previews", +"httpMethod": "POST", +"id": "config.projects.locations.previews.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent in whose context the Preview is created. The parent value is in the format: 'projects/{project_id}/locations/{location}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"previewId": { +"description": "Optional. The preview ID.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/previews", +"request": { +"$ref": "Preview" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Preview.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/previews/{previewsId}", +"httpMethod": "DELETE", +"id": "config.projects.locations.previews.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Preview in the format: 'projects/{project_id}/locations/{location}/previews/{preview}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/previews/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Export Preview results.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/previews/{previewsId}:export", +"httpMethod": "POST", +"id": "config.projects.locations.previews.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The preview whose results should be exported. The preview value is in the format: 'projects/{project_id}/locations/{location}/previews/{preview}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/previews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:export", +"request": { +"$ref": "ExportPreviewResultRequest" +}, +"response": { +"$ref": "ExportPreviewResultResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details about a Preview.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/previews/{previewsId}", +"httpMethod": "GET", +"id": "config.projects.locations.previews.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the preview. Format: 'projects/{project_id}/locations/{location}/previews/{preview}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/previews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Preview" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Previews in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/previews", +"httpMethod": "GET", +"id": "config.projects.locations.previews.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists the Deployments that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = \"projects/foo/locations/us-central1/deployments/bar - Filter by labels: - Resources that have a key called 'foo' labels.foo:* - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar - Filter by state: - Deployments in CREATING state. state=CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to 'ListDeployments' which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the Previews are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/previews", +"response": { +"$ref": "ListPreviewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"terraformVersions": { +"methods": { +"get": { +"description": "Gets details about a TerraformVersion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/terraformVersions/{terraformVersionsId}", +"httpMethod": "GET", +"id": "config.projects.locations.terraformVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TerraformVersion. Format: 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/terraformVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "TerraformVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TerraformVersions in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/terraformVersions", +"httpMethod": "GET", +"id": "config.projects.locations.terraformVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists the TerraformVersions that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to 'ListTerraformVersions' which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent in whose context the TerraformVersions are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/terraformVersions", +"response": { +"$ref": "ListTerraformVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241211", +"rootUrl": "https://config.googleapis.com/", +"schemas": { +"ApplyResults": { +"description": "Outputs and artifacts from applying a deployment.", +"id": "ApplyResults", +"properties": { +"artifacts": { +"description": "Location of artifacts (e.g. logs) in Google Cloud Storage. Format: `gs://{bucket}/{object}`", +"type": "string" +}, +"content": { +"description": "Location of a blueprint copy and other manifests in Google Cloud Storage. Format: `gs://{bucket}/{object}`", +"type": "string" +}, +"outputs": { +"additionalProperties": { +"$ref": "TerraformOutput" +}, +"description": "Map of output name to output info.", +"type": "object" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"DeleteStatefileRequest": { +"description": "A request to delete a state file passed to a 'DeleteStatefile' call.", +"id": "DeleteStatefileRequest", +"properties": { +"lockId": { +"description": "Required. Lock ID of the lock file to verify that the user who is deleting the state file previously locked the Deployment.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Deployment": { +"description": "A Deployment is a group of resources and configs managed and provisioned by Infra Manager.", +"id": "Deployment", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Arbitrary key-value metadata storage e.g. to help client tools identify deployments during automation. See https://google.aip.dev/148#annotations for details on format and size limitations.", +"type": "object" +}, +"artifactsGcsBucket": { +"description": "Optional. User-defined location of Cloud Build logs and artifacts in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty. Default bucket format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` - The field cannot be updated, including changing its presence", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the deployment was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteBuild": { +"description": "Output only. Cloud Build instance UUID associated with deleting this deployment.", +"readOnly": true, +"type": "string" +}, +"deleteLogs": { +"description": "Output only. Location of Cloud Build logs in Google Cloud Storage, populated when deleting this deployment. Format: `gs://{bucket}/{object}`.", +"readOnly": true, +"type": "string" +}, +"deleteResults": { +"$ref": "ApplyResults", +"description": "Output only. Location of artifacts from a DeleteDeployment operation.", +"readOnly": true +}, +"errorCode": { +"description": "Output only. Error code describing errors that may have occurred.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"REVISION_FAILED", +"CLOUD_BUILD_PERMISSION_DENIED", +"DELETE_BUILD_API_FAILED", +"DELETE_BUILD_RUN_FAILED", +"BUCKET_CREATION_PERMISSION_DENIED", +"BUCKET_CREATION_FAILED" +], +"enumDescriptions": [ +"No error code was specified.", +"The revision failed. See Revision for more details.", +"Cloud Build failed due to a permission issue.", +"Cloud Build job associated with a deployment deletion could not be started.", +"Cloud Build job associated with a deployment deletion was started but failed.", +"Cloud Storage bucket creation failed due to a permission issue.", +"Cloud Storage bucket creation failed due to an issue unrelated to permissions." +], +"readOnly": true, +"type": "string" +}, +"errorLogs": { +"description": "Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`.", +"readOnly": true, +"type": "string" +}, +"importExistingResources": { +"description": "By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-defined metadata for the deployment.", +"type": "object" +}, +"latestRevision": { +"description": "Output only. Revision name that was most recently applied. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}`", +"readOnly": true, +"type": "string" +}, +"lockState": { +"description": "Output only. Current lock state of the deployment.", +"enum": [ +"LOCK_STATE_UNSPECIFIED", +"LOCKED", +"UNLOCKED", +"LOCKING", +"UNLOCKING", +"LOCK_FAILED", +"UNLOCK_FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the lock state is omitted.", +"The deployment is locked.", +"The deployment is unlocked.", +"The deployment is being locked.", +"The deployment is being unlocked.", +"The deployment has failed to lock.", +"The deployment has failed to unlock." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Resource name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`", +"type": "string" +}, +"quotaValidation": { +"description": "Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies.", +"enum": [ +"QUOTA_VALIDATION_UNSPECIFIED", +"ENABLED", +"ENFORCED" +], +"enumDescriptions": [ +"The default value. QuotaValidation on terraform configuration files will be disabled in this case.", +"Enable computing quotas for resources in terraform configuration files to get visibility on resources with insufficient quotas.", +"Enforce quota checks so deployment fails if there isn't sufficient quotas available to deploy resources in terraform configuration files." +], +"type": "string" +}, +"serviceAccount": { +"description": "Required. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", +"type": "string" +}, +"state": { +"description": "Output only. Current state of the deployment.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING", +"FAILED", +"SUSPENDED", +"DELETED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The deployment is being created.", +"The deployment is healthy.", +"The deployment is being updated.", +"The deployment is being deleted.", +"The deployment has encountered an unexpected error.", +"The deployment is no longer being actively reconciled. This may be the result of recovering the project after deletion.", +"The deployment has been deleted." +], +"readOnly": true, +"type": "string" +}, +"stateDetail": { +"description": "Output only. Additional information regarding the current state.", +"readOnly": true, +"type": "string" +}, +"terraformBlueprint": { +"$ref": "TerraformBlueprint", +"description": "A blueprint described using Terraform's HashiCorp Configuration Language as a root module." +}, +"tfErrors": { +"description": "Output only. Errors encountered when deleting this deployment. Errors are truncated to 10 entries, see `delete_results` and `error_logs` for full details.", +"items": { +"$ref": "TerraformError" +}, +"readOnly": true, +"type": "array" +}, +"tfVersion": { +"description": "Output only. The current Terraform version set on the deployment. It is in the format of \"Major.Minor.Patch\", for example, \"1.3.10\".", +"readOnly": true, +"type": "string" +}, +"tfVersionConstraint": { +"description": "Optional. The user-specified Terraform version constraint. Example: \"=1.3.10\".", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the deployment was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workerPool": { +"description": "Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used.", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentOperationMetadata": { +"description": "Ephemeral metadata content describing the state of a deployment operation.", +"id": "DeploymentOperationMetadata", +"properties": { +"applyResults": { +"$ref": "ApplyResults", +"description": "Outputs and artifacts from applying a deployment." +}, +"build": { +"description": "Output only. Cloud Build instance UUID associated with this operation.", +"readOnly": true, +"type": "string" +}, +"logs": { +"description": "Output only. Location of Deployment operations logs in `gs://{bucket}/{object}` format.", +"readOnly": true, +"type": "string" +}, +"step": { +"description": "The current step the deployment operation is running.", +"enum": [ +"DEPLOYMENT_STEP_UNSPECIFIED", +"PREPARING_STORAGE_BUCKET", +"DOWNLOADING_BLUEPRINT", +"RUNNING_TF_INIT", +"RUNNING_TF_PLAN", +"RUNNING_TF_APPLY", +"RUNNING_TF_DESTROY", +"RUNNING_TF_VALIDATE", +"UNLOCKING_DEPLOYMENT", +"SUCCEEDED", +"FAILED", +"VALIDATING_REPOSITORY", +"RUNNING_QUOTA_VALIDATION" +], +"enumDescriptions": [ +"Unspecified deployment step", +"Infra Manager is creating a Google Cloud Storage bucket to store artifacts and metadata about the deployment and revision", +"Downloading the blueprint onto the Google Cloud Storage bucket", +"Initializing Terraform using `terraform init`", +"Running `terraform plan`", +"Actuating resources using Terraform using `terraform apply`", +"Destroying resources using Terraform using `terraform destroy`", +"Validating the uploaded TF state file when unlocking a deployment", +"Unlocking a deployment", +"Operation was successful", +"Operation failed", +"Validating the provided repository.", +"Running quota validation" +], +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ExportDeploymentStatefileRequest": { +"description": "A request to export a state file passed to a 'ExportDeploymentStatefile' call.", +"id": "ExportDeploymentStatefileRequest", +"properties": { +"draft": { +"description": "Optional. If this flag is set to true, the exported deployment state file will be the draft state. This will enable the draft file to be validated before copying it over to the working state on unlock.", +"type": "boolean" +} +}, +"type": "object" +}, +"ExportPreviewResultRequest": { +"description": "A request to export preview results.", +"id": "ExportPreviewResultRequest", +"properties": {}, +"type": "object" +}, +"ExportPreviewResultResponse": { +"description": "A response to `ExportPreviewResult` call. Contains preview results.", +"id": "ExportPreviewResultResponse", +"properties": { +"result": { +"$ref": "PreviewResult", +"description": "Output only. Signed URLs for accessing the plan files.", +"readOnly": true +} +}, +"type": "object" +}, +"ExportRevisionStatefileRequest": { +"description": "A request to export a state file passed to a 'ExportRevisionStatefile' call.", +"id": "ExportRevisionStatefileRequest", +"properties": {}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GitSource": { +"description": "A set of files in a Git repository.", +"id": "GitSource", +"properties": { +"directory": { +"description": "Optional. Subdirectory inside the repository. Example: 'staging/my-package'", +"type": "string" +}, +"ref": { +"description": "Optional. Git reference (e.g. branch or tag).", +"type": "string" +}, +"repo": { +"description": "Optional. Repository URL. Example: 'https://github.com/kubernetes/examples.git'", +"type": "string" +} +}, +"type": "object" +}, +"ImportStatefileRequest": { +"description": "A request to import a state file passed to a 'ImportStatefile' call.", +"id": "ImportStatefileRequest", +"properties": { +"lockId": { +"description": "Required. Lock ID of the lock file to verify that the user who is importing the state file previously locked the Deployment.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ListDeploymentsResponse": { +"id": "ListDeploymentsResponse", +"properties": { +"deployments": { +"description": "List of Deployments.", +"items": { +"$ref": "Deployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to be supplied to the next ListDeployments request via `page_token` to obtain the next set of results.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPreviewsResponse": { +"description": "A response to a `ListPreviews` call. Contains a list of Previews.", +"id": "ListPreviewsResponse", +"properties": { +"nextPageToken": { +"description": "Token to be supplied to the next ListPreviews request via `page_token` to obtain the next set of results.", +"type": "string" +}, +"previews": { +"description": "List of Previews.", +"items": { +"$ref": "Preview" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListResourcesResponse": { +"description": "A response to a 'ListResources' call. Contains a list of Resources.", +"id": "ListResourcesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the 'ListResources' method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "List of Resources.", +"items": { +"$ref": "Resource" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRevisionsResponse": { +"description": "A response to a 'ListRevisions' call. Contains a list of Revisions.", +"id": "ListRevisionsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the 'ListRevisions' method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"revisions": { +"description": "List of Revisions.", +"items": { +"$ref": "Revision" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTerraformVersionsResponse": { +"description": "The response message for the `ListTerraformVersions` method.", +"id": "ListTerraformVersionsResponse", +"properties": { +"nextPageToken": { +"description": "Token to be supplied to the next ListTerraformVersions request via `page_token` to obtain the next set of results.", +"type": "string" +}, +"terraformVersions": { +"description": "List of TerraformVersions.", +"items": { +"$ref": "TerraformVersion" +}, +"type": "array" +}, +"unreachable": { +"description": "Unreachable resources, if any.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"LockDeploymentRequest": { +"description": "A request to lock a deployment passed to a 'LockDeployment' call.", +"id": "LockDeploymentRequest", +"properties": {}, +"type": "object" +}, +"LockInfo": { +"description": "Details about the lock which locked the deployment.", +"id": "LockInfo", +"properties": { +"createTime": { +"description": "Time that the lock was taken.", +"format": "google-datetime", +"type": "string" +}, +"info": { +"description": "Extra information to store with the lock, provided by the caller.", +"type": "string" +}, +"lockId": { +"description": "Unique ID for the lock to be overridden with generation ID in the backend.", +"format": "int64", +"type": "string" +}, +"operation": { +"description": "Terraform operation, provided by the caller.", +"type": "string" +}, +"version": { +"description": "Terraform version", +"type": "string" +}, +"who": { +"description": "user@hostname when available", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deploymentMetadata": { +"$ref": "DeploymentOperationMetadata", +"description": "Output only. Metadata about the deployment operation state.", +"readOnly": true +}, +"endTime": { +"description": "Output only. Time when the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"previewMetadata": { +"$ref": "PreviewOperationMetadata", +"description": "Output only. Metadata about the preview operation state.", +"readOnly": true +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Preview": { +"description": "A preview represents a set of actions Infra Manager would perform to move the resources towards the desired state as specified in the configuration.", +"id": "Preview", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Arbitrary key-value metadata storage e.g. to help client tools identifiy preview during automation. See https://google.aip.dev/148#annotations for details on format and size limitations.", +"type": "object" +}, +"artifactsGcsBucket": { +"description": "Optional. User-defined location of Cloud Build logs, artifacts, and in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty Default Bucket Format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` If omitted and deployment resource ref provided has artifacts_gcs_bucket defined, that artifact bucket is used.", +"type": "string" +}, +"build": { +"description": "Output only. Cloud Build instance UUID associated with this preview.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time the preview was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployment": { +"description": "Optional. Optional deployment reference. If specified, the preview will be performed using the provided deployment's current state and use any relevant fields from the deployment unless explicitly specified in the preview create request.", +"type": "string" +}, +"errorCode": { +"description": "Output only. Code describing any errors that may have occurred.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"CLOUD_BUILD_PERMISSION_DENIED", +"BUCKET_CREATION_PERMISSION_DENIED", +"BUCKET_CREATION_FAILED", +"DEPLOYMENT_LOCK_ACQUIRE_FAILED", +"PREVIEW_BUILD_API_FAILED", +"PREVIEW_BUILD_RUN_FAILED" +], +"enumDescriptions": [ +"No error code was specified.", +"Cloud Build failed due to a permissions issue.", +"Cloud Storage bucket failed to create due to a permissions issue.", +"Cloud Storage bucket failed for a non-permissions-related issue.", +"Acquiring lock on provided deployment reference failed.", +"Preview encountered an error when trying to access Cloud Build API.", +"Preview created a build but build failed and logs were generated." +], +"readOnly": true, +"type": "string" +}, +"errorLogs": { +"description": "Output only. Link to tf-error.ndjson file, which contains the full list of the errors encountered during a Terraform preview. Format: `gs://{bucket}/{object}`.", +"readOnly": true, +"type": "string" +}, +"errorStatus": { +"$ref": "Status", +"description": "Output only. Additional information regarding the current state.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User-defined labels for the preview.", +"type": "object" +}, +"logs": { +"description": "Output only. Location of preview logs in `gs://{bucket}/{object}` format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the preview. Resource name can be user provided or server generated ID if unspecified. Format: `projects/{project}/locations/{location}/previews/{preview}`", +"type": "string" +}, +"previewArtifacts": { +"$ref": "PreviewArtifacts", +"description": "Output only. Artifacts from preview.", +"readOnly": true +}, +"previewMode": { +"description": "Optional. Current mode of preview.", +"enum": [ +"PREVIEW_MODE_UNSPECIFIED", +"DEFAULT", +"DELETE" +], +"enumDescriptions": [ +"Unspecified policy, default mode will be used.", +"DEFAULT mode generates an execution plan for reconciling current resource state into expected resource state.", +"DELETE mode generates as execution plan for destroying current resources." +], +"type": "string" +}, +"serviceAccount": { +"description": "Required. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", +"type": "string" +}, +"state": { +"description": "Output only. Current state of the preview.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"SUCCEEDED", +"APPLYING", +"STALE", +"DELETING", +"FAILED", +"DELETED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is unknown.", +"The preview is being created.", +"The preview has succeeded.", +"The preview is being applied.", +"The preview is stale. A preview can become stale if a revision has been applied after this preview was created.", +"The preview is being deleted.", +"The preview has encountered an unexpected error.", +"The preview has been deleted." +], +"readOnly": true, +"type": "string" +}, +"terraformBlueprint": { +"$ref": "TerraformBlueprint", +"description": "The terraform blueprint to preview." +}, +"tfErrors": { +"description": "Output only. Summary of errors encountered during Terraform preview. It has a size limit of 10, i.e. only top 10 errors will be summarized here.", +"items": { +"$ref": "TerraformError" +}, +"readOnly": true, +"type": "array" +}, +"tfVersion": { +"description": "Output only. The current Terraform version set on the preview. It is in the format of \"Major.Minor.Patch\", for example, \"1.3.10\".", +"readOnly": true, +"type": "string" +}, +"tfVersionConstraint": { +"description": "Optional. The user-specified Terraform version constraint. Example: \"=1.3.10\".", +"type": "string" +}, +"workerPool": { +"description": "Optional. The user-specified Worker Pool resource in which the Cloud Build job will execute. Format projects/{project}/locations/{location}/workerPools/{workerPoolId} If this field is unspecified, the default Cloud Build worker pool will be used. If omitted and deployment resource ref provided has worker_pool defined, that worker pool is used.", +"type": "string" +} +}, +"type": "object" +}, +"PreviewArtifacts": { +"description": "Artifacts created by preview.", +"id": "PreviewArtifacts", +"properties": { +"artifacts": { +"description": "Output only. Location of artifacts in Google Cloud Storage. Format: `gs://{bucket}/{object}`", +"readOnly": true, +"type": "string" +}, +"content": { +"description": "Output only. Location of a blueprint copy and other content in Google Cloud Storage. Format: `gs://{bucket}/{object}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PreviewOperationMetadata": { +"description": "Ephemeral metadata content describing the state of a preview operation.", +"id": "PreviewOperationMetadata", +"properties": { +"build": { +"description": "Output only. Cloud Build instance UUID associated with this preview.", +"readOnly": true, +"type": "string" +}, +"logs": { +"description": "Output only. Location of preview logs in `gs://{bucket}/{object}` format.", +"readOnly": true, +"type": "string" +}, +"previewArtifacts": { +"$ref": "PreviewArtifacts", +"description": "Artifacts from preview." +}, +"step": { +"description": "The current step the preview operation is running.", +"enum": [ +"PREVIEW_STEP_UNSPECIFIED", +"PREPARING_STORAGE_BUCKET", +"DOWNLOADING_BLUEPRINT", +"RUNNING_TF_INIT", +"RUNNING_TF_PLAN", +"FETCHING_DEPLOYMENT", +"LOCKING_DEPLOYMENT", +"UNLOCKING_DEPLOYMENT", +"SUCCEEDED", +"FAILED", +"VALIDATING_REPOSITORY" +], +"enumDescriptions": [ +"Unspecified preview step.", +"Infra Manager is creating a Google Cloud Storage bucket to store artifacts and metadata about the preview.", +"Downloading the blueprint onto the Google Cloud Storage bucket.", +"Initializing Terraform using `terraform init`.", +"Running `terraform plan`.", +"Fetching a deployment.", +"Locking a deployment.", +"Unlocking a deployment.", +"Operation was successful.", +"Operation failed.", +"Validating the provided repository." +], +"type": "string" +} +}, +"type": "object" +}, +"PreviewResult": { +"description": "Contains a signed Cloud Storage URLs.", +"id": "PreviewResult", +"properties": { +"binarySignedUri": { +"description": "Output only. Plan binary signed URL", +"readOnly": true, +"type": "string" +}, +"jsonSignedUri": { +"description": "Output only. Plan JSON signed URL", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Resource": { +"description": "Resource represents a Google Cloud Platform resource actuated by IM. Resources are child resources of Revisions.", +"id": "Resource", +"properties": { +"caiAssets": { +"additionalProperties": { +"$ref": "ResourceCAIInfo" +}, +"description": "Output only. Map of Cloud Asset Inventory (CAI) type to CAI info (e.g. CAI ID). CAI type format follows https://cloud.google.com/asset-inventory/docs/supported-asset-types", +"readOnly": true, +"type": "object" +}, +"intent": { +"description": "Output only. Intent of the resource.", +"enum": [ +"INTENT_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE", +"RECREATE", +"UNCHANGED" +], +"enumDescriptions": [ +"The default value. This value is used if the intent is omitted.", +"Infra Manager will create this Resource.", +"Infra Manager will update this Resource.", +"Infra Manager will delete this Resource.", +"Infra Manager will destroy and recreate this Resource.", +"Infra Manager will leave this Resource untouched." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}`", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the resource.", +"enum": [ +"STATE_UNSPECIFIED", +"PLANNED", +"IN_PROGRESS", +"RECONCILED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Resource has been planned for reconcile.", +"Resource is actively reconciling into the intended state.", +"Resource has reconciled to intended state.", +"Resource failed to reconcile." +], +"readOnly": true, +"type": "string" +}, +"terraformInfo": { +"$ref": "ResourceTerraformInfo", +"description": "Output only. Terraform-specific info if this resource was created using Terraform.", +"readOnly": true +} +}, +"type": "object" +}, +"ResourceCAIInfo": { +"description": "CAI info of a Resource.", +"id": "ResourceCAIInfo", +"properties": { +"fullResourceName": { +"description": "CAI resource name in the format following https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +} +}, +"type": "object" +}, +"ResourceTerraformInfo": { +"description": "Terraform info of a Resource.", +"id": "ResourceTerraformInfo", +"properties": { +"address": { +"description": "TF resource address that uniquely identifies this resource within this deployment.", +"type": "string" +}, +"id": { +"description": "ID attribute of the TF resource", +"type": "string" +}, +"type": { +"description": "TF resource type", +"type": "string" +} +}, +"type": "object" +}, +"Revision": { +"description": "A child resource of a Deployment generated by a 'CreateDeployment' or 'UpdateDeployment' call. Each Revision contains metadata pertaining to a snapshot of a particular Deployment.", +"id": "Revision", +"properties": { +"action": { +"description": "Output only. The action which created this revision", +"enum": [ +"ACTION_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE" +], +"enumDescriptions": [ +"The default value. This value is used if the action is omitted.", +"The revision was generated by creating a deployment.", +"The revision was generated by updating a deployment.", +"The revision was deleted." +], +"readOnly": true, +"type": "string" +}, +"applyResults": { +"$ref": "ApplyResults", +"description": "Output only. Outputs and artifacts from applying a deployment.", +"readOnly": true +}, +"build": { +"description": "Output only. Cloud Build instance UUID associated with this revision.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"errorCode": { +"description": "Output only. Code describing any errors that may have occurred.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"CLOUD_BUILD_PERMISSION_DENIED", +"APPLY_BUILD_API_FAILED", +"APPLY_BUILD_RUN_FAILED", +"QUOTA_VALIDATION_FAILED" +], +"enumDescriptions": [ +"No error code was specified.", +"Cloud Build failed due to a permission issue.", +"Cloud Build job associated with creating or updating a deployment could not be started.", +"Cloud Build job associated with creating or updating a deployment was started but failed.", +"quota validation failed for one or more resources in terraform configuration files." +], +"readOnly": true, +"type": "string" +}, +"errorLogs": { +"description": "Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`.", +"readOnly": true, +"type": "string" +}, +"importExistingResources": { +"description": "Output only. By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation.", +"readOnly": true, +"type": "boolean" +}, +"logs": { +"description": "Output only. Location of Revision operation logs in `gs://{bucket}/{object}` format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Revision name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}`", +"type": "string" +}, +"quotaValidation": { +"description": "Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies.", +"enum": [ +"QUOTA_VALIDATION_UNSPECIFIED", +"ENABLED", +"ENFORCED" +], +"enumDescriptions": [ +"The default value. QuotaValidation on terraform configuration files will be disabled in this case.", +"Enable computing quotas for resources in terraform configuration files to get visibility on resources with insufficient quotas.", +"Enforce quota checks so deployment fails if there isn't sufficient quotas available to deploy resources in terraform configuration files." +], +"type": "string" +}, +"quotaValidationResults": { +"description": "Output only. Cloud Storage path containing quota validation results. This field is set when a user sets Deployment.quota_validation field to ENABLED or ENFORCED. Format: `gs://{bucket}/{object}`.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Output only. User-specified Service Account (SA) to be used as credential to manage resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the revision.", +"enum": [ +"STATE_UNSPECIFIED", +"APPLYING", +"APPLIED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The revision is being applied.", +"The revision was applied successfully.", +"The revision could not be applied successfully." +], +"readOnly": true, +"type": "string" +}, +"stateDetail": { +"description": "Output only. Additional info regarding the current state.", +"readOnly": true, +"type": "string" +}, +"terraformBlueprint": { +"$ref": "TerraformBlueprint", +"description": "Output only. A blueprint described using Terraform's HashiCorp Configuration Language as a root module.", +"readOnly": true +}, +"tfErrors": { +"description": "Output only. Errors encountered when creating or updating this deployment. Errors are truncated to 10 entries, see `delete_results` and `error_logs` for full details.", +"items": { +"$ref": "TerraformError" +}, +"readOnly": true, +"type": "array" +}, +"tfVersion": { +"description": "Output only. The version of Terraform used to create the Revision. It is in the format of \"Major.Minor.Patch\", for example, \"1.3.10\".", +"readOnly": true, +"type": "string" +}, +"tfVersionConstraint": { +"description": "Output only. The user-specified Terraform version constraint. Example: \"=1.3.10\".", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the revision was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workerPool": { +"description": "Output only. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"Statefile": { +"description": "Contains info about a Terraform state file", +"id": "Statefile", +"properties": { +"signedUri": { +"description": "Output only. Cloud Storage signed URI used for downloading or uploading the state file.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"TerraformBlueprint": { +"description": "TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed.", +"id": "TerraformBlueprint", +"properties": { +"gcsSource": { +"description": "URI of an object in Google Cloud Storage. Format: `gs://{bucket}/{object}` URI may also specify an object version for zipped objects. Format: `gs://{bucket}/{object}#{version}`", +"type": "string" +}, +"gitSource": { +"$ref": "GitSource", +"description": "URI of a public Git repo." +}, +"inputValues": { +"additionalProperties": { +"$ref": "TerraformVariable" +}, +"description": "Optional. Input variable values for the Terraform blueprint.", +"type": "object" +} +}, +"type": "object" +}, +"TerraformError": { +"description": "Errors encountered during actuation using Terraform", +"id": "TerraformError", +"properties": { +"error": { +"$ref": "Status", +"description": "Output only. Original error response from underlying Google API, if available.", +"readOnly": true +}, +"errorDescription": { +"description": "A human-readable error description.", +"type": "string" +}, +"httpResponseCode": { +"description": "HTTP response code returned from Google Cloud Platform APIs when Terraform fails to provision the resource. If unset or 0, no HTTP response code was returned by Terraform.", +"format": "int32", +"type": "integer" +}, +"resourceAddress": { +"description": "Address of the resource associated with the error, e.g. `google_compute_network.vpc_network`.", +"type": "string" +} +}, +"type": "object" +}, +"TerraformOutput": { +"description": "Describes a Terraform output.", +"id": "TerraformOutput", +"properties": { +"sensitive": { +"description": "Identifies whether Terraform has set this output as a potential sensitive value.", +"type": "boolean" +}, +"value": { +"description": "Value of output.", +"type": "any" +} +}, +"type": "object" +}, +"TerraformVariable": { +"description": "A Terraform input variable.", +"id": "TerraformVariable", +"properties": { +"inputValue": { +"description": "Optional. Input variable value.", +"type": "any" +} +}, +"type": "object" +}, +"TerraformVersion": { +"description": "A TerraformVersion represents the support state the corresponding Terraform version.", +"id": "TerraformVersion", +"properties": { +"deprecateTime": { +"description": "Output only. When the version is deprecated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The version name is in the format: 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'.", +"type": "string" +}, +"obsoleteTime": { +"description": "Output only. When the version is obsolete.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the version, ACTIVE, DEPRECATED or OBSOLETE.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DEPRECATED", +"OBSOLETE" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The version is actively supported.", +"The version is deprecated.", +"The version is obsolete." +], +"readOnly": true, +"type": "string" +}, +"supportTime": { +"description": "Output only. When the version is supported.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UnlockDeploymentRequest": { +"description": "A request to unlock a state file passed to a 'UnlockDeployment' call.", +"id": "UnlockDeploymentRequest", +"properties": { +"lockId": { +"description": "Required. Lock ID of the lock file to be unlocked.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Infrastructure Manager API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..5f9ca7cf19e8cc5c4cddb5e6c12efcf254dd8bb2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json @@ -0,0 +1,9734 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://contactcenterinsights.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Contactcenterinsights", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/contact-center/insights/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "contactcenterinsights:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://contactcenterinsights.mtls.googleapis.com/", +"name": "contactcenterinsights", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"bulkDownloadFeedbackLabels": { +"description": "Download feedback labels in bulk.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkDownloadFeedbackLabels", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.bulkDownloadFeedbackLabels", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource for new feedback labels.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:bulkDownloadFeedbackLabels", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"bulkUploadFeedbackLabels": { +"description": "Upload feedback labels in bulk.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkUploadFeedbackLabels", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.bulkUploadFeedbackLabels", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource for new feedback labels.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:bulkUploadFeedbackLabels", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getEncryptionSpec": { +"description": "Gets location-level encryption key specification.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.getEncryptionSpec", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the encryption spec resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/encryptionSpec$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1EncryptionSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSettings": { +"description": "Gets project-level settings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the settings resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/settings$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listAllFeedbackLabels": { +"description": "List all feedback labels by project number.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:listAllFeedbackLabels", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.listAllFeedbackLabels", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to reduce results to a specific subset in the entire project. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListAllFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListAllFeedbackLabels` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of all feedback labels per project.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:listAllFeedbackLabels", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryMetrics": { +"description": "Query metrics.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:queryMetrics", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.queryMetrics", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:queryMetrics", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateSettings": { +"description": "Updates project-level settings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.updateSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/settings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Settings" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"analysisRules": { +"methods": { +"create": { +"description": "Creates a analysis rule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.analysisRules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the analysis rule. Required. The location to create a analysis rule for. Format: `projects//locations/` or `projects//locations/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/analysisRules", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a analysis rule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.analysisRules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the analysis rule to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a analysis rule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.analysisRules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the AnalysisRule to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists analysis rules.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.analysisRules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of analysis rule to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListAnalysisRulesResponse`; indicates that this is a continuation of a prior `ListAnalysisRules` call and the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the analysis rules.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/analysisRules", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a analysis rule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.analysisRules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the analysis rule. Format: projects/{project}/locations/{location}/analysisRules/{analysis_rule}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to be updated. If the update_mask is not provided, the update will be applied to all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"authorizedViewSets": { +"resources": { +"authorizedViews": { +"methods": { +"queryMetrics": { +"description": "Query metrics.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}:queryMetrics", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.queryMetrics", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/authorizedViewSets/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:queryMetrics", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"conversations": { +"methods": { +"calculateStats": { +"description": "Gets conversation statistics.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations:calculateStats", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.calculateStats", +"parameterOrder": [ +"location" +], +"parameters": { +"filter": { +"description": "A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties.", +"location": "query", +"type": "string" +}, +"location": { +"description": "Required. The location of the conversations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/authorizedViewSets/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}/conversations:calculateStats", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"conversations": { +"methods": { +"bulkAnalyze": { +"description": "Analyzes multiple conversations in a single request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkAnalyze", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.bulkAnalyze", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource to create analyses in.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations:bulkAnalyze", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"bulkDelete": { +"description": "Deletes multiple conversations in a single request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkDelete", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.bulkDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource to delete conversations from. Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations:bulkDelete", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"calculateStats": { +"description": "Gets conversation statistics.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:calculateStats", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.calculateStats", +"parameterOrder": [ +"location" +], +"parameters": { +"filter": { +"description": "A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties.", +"location": "query", +"type": "string" +}, +"location": { +"description": "Required. The location of the conversations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}/conversations:calculateStats", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a conversation. Note that this method does not support audio transcription or redaction. Use `conversations.upload` instead.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"conversationId": { +"description": "A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the conversation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the conversation to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the conversation to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The level of details of the conversation. Default is `FULL`.", +"enum": [ +"CONVERSATION_VIEW_UNSPECIFIED", +"FULL", +"BASIC" +], +"enumDescriptions": [ +"The conversation view is not specified. * Defaults to `FULL` in `GetConversationRequest`. * Defaults to `BASIC` in `ListConversationsRequest`.", +"Populates all fields in the conversation.", +"Populates all fields in the conversation except the transcript." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ingest": { +"description": "Imports conversations and processes them according to the user's configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:ingest", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.ingest", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource for new conversations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations:ingest", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists conversations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to reduce results to a specific subset. Useful for querying conversations with specific properties.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The attribute by which to order conversations in the response. If empty, conversations will be ordered by descending creation time. Supported values are one of the following: * create_time * customer_satisfaction_rating * duration * latest_analysis * start_time * turn_count The default sort order is ascending. To specify order, append `asc` or `desc` (`create_time desc`). For more details, see [Google AIPs Ordering](https://google.aip.dev/132#ordering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of conversations to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListConversationsResponse`. This value indicates that this is a continuation of a prior `ListConversations` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the conversation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The level of details of the conversation. Default is `BASIC`.", +"enum": [ +"CONVERSATION_VIEW_UNSPECIFIED", +"FULL", +"BASIC" +], +"enumDescriptions": [ +"The conversation view is not specified. * Defaults to `FULL` in `GetConversationRequest`. * Defaults to `BASIC` in `ListConversationsRequest`.", +"Populates all fields in the conversation.", +"Populates all fields in the conversation except the transcript." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `agent_id` * `language_code` * `labels` * `metadata` * `quality_metadata` * `call_metadata` * `start_time` * `expire_time` or `ttl` * `data_source.gcs_source.audio_uri` or `data_source.dialogflow_source.audio_uri`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Create a long-running conversation upload operation. This method differs from `CreateConversation` by allowing audio transcription and optional DLP redaction.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:upload", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the conversation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations:upload", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1UploadConversationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"analyses": { +"methods": { +"create": { +"description": "Creates an analysis. The long running operation is done when the analysis has completed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.analyses.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the analysis.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/analyses", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Analysis" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an analysis.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.conversations.analyses.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the analysis to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/analyses/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an analysis.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.analyses.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the analysis to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/analyses/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Analysis" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists analyses.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.analyses.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to reduce results to a specific subset. Useful for querying conversations with specific properties.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of analyses to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListAnalysesResponse`; indicates that this is a continuation of a prior `ListAnalyses` call and the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the analyses.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/analyses", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"feedbackLabels": { +"methods": { +"create": { +"description": "Create feedback label.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"feedbackLabelId": { +"description": "Optional. The ID of the feedback label to create. If one is not specified it will be generated by the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the feedback label.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/feedbackLabels", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete feedback label.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the feedback label to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get feedback label.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the feedback label to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List feedback labels.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Automatically sorts by conversation ID. To sort by all feedback labels in a project see ListAllFeedbackLabels. Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListFeedbackLabels` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the feedback labels.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/feedbackLabels", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update feedback label.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"encryptionSpec": { +"methods": { +"initialize": { +"description": "Initializes a location-level encryption key specification. An error will result if the location has resources already created before the initialization. After the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.encryptionSpec.initialize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/encryptionSpec$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:initialize", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"insightsdata": { +"methods": { +"export": { +"description": "Export insights data to a destination defined in the request body.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.insightsdata.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource to export data from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/insightsdata:export", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"issueModels": { +"methods": { +"calculateIssueModelStats": { +"description": "Gets an issue model's statistics.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:calculateIssueModelStats", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.issueModels.calculateIssueModelStats", +"parameterOrder": [ +"issueModel" +], +"parameters": { +"issueModel": { +"description": "Required. The resource name of the issue model to query against.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+issueModel}:calculateIssueModelStats", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates an issue model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the issue model.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/issueModels", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an issue model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.issueModels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the issue model to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deploy": { +"description": "Deploys an issue model. Returns an error if a model is already deployed. An issue model can only be used in analysis after it has been deployed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:deploy", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.deploy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The issue model to deploy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deploy", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports an issue model to the provided destination.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:export", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The issue model to export.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:export", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an issue model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.issueModels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the issue model to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports an issue model from a Cloud Storage bucket.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels:import", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the issue model.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/issueModels:import", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists issue models.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.issueModels.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the issue model.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/issueModels", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an issue model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.issueModels.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeploy": { +"description": "Undeploys an issue model. An issue model can not be used in analysis after it has been undeployed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:undeploy", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.undeploy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The issue model to undeploy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:undeploy", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"issues": { +"methods": { +"create": { +"description": "Creates an issue.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.issueModels.issues.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the issue.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/issues", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an issue.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.issueModels.issues.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the issue to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+/issues/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an issue.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.issueModels.issues.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the issue to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+/issues/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists issues.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.issueModels.issues.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the issue.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/issues", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListIssuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an issue.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.issueModels.issues.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+/issues/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"phraseMatchers": { +"methods": { +"create": { +"description": "Creates a phrase matcher.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.phraseMatchers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the phrase matcher. Required. The location to create a phrase matcher for. Format: `projects//locations/` or `projects//locations/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/phraseMatchers", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a phrase matcher.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.phraseMatchers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the phrase matcher to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a phrase matcher.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.phraseMatchers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the phrase matcher to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists phrase matchers.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.phraseMatchers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to reduce results to a specific subset. Useful for querying phrase matchers with specific properties.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of phrase matchers to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListPhraseMatchersResponse`. This value indicates that this is a continuation of a prior `ListPhraseMatchers` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the phrase matcher.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/phraseMatchers", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a phrase matcher.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.phraseMatchers.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"qaScorecards": { +"methods": { +"create": { +"description": "Create a QaScorecard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the QaScorecard.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"qaScorecardId": { +"description": "Optional. A unique ID for the new QaScorecard. This ID will become the final component of the QaScorecard's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/qaScorecards", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a QaScorecard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.qaScorecards.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, all of this QaScorecard's child resources will also be deleted. Otherwise, the request will only succeed if it has none.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the QaScorecard to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a QaScorecard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaScorecard to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists QaScorecards.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of scorecards to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListQaScorecardsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecards` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the scorecards.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/qaScorecards", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a QaScorecard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.qaScorecards.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The scorecard name. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `description` * `display_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"revisions": { +"methods": { +"create": { +"description": "Creates a QaScorecardRevision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the QaScorecardRevision.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", +"required": true, +"type": "string" +}, +"qaScorecardRevisionId": { +"description": "Optional. A unique ID for the new QaScorecardRevision. This ID will become the final component of the QaScorecardRevision's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/revisions", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a QaScorecardRevision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, all of this QaScorecardRevision's child resources will also be deleted. Otherwise, the request will only succeed if it has none.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the QaScorecardRevision to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deploy": { +"description": "Deploy a QaScorecardRevision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:deploy", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.deploy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaScorecardRevision to deploy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deploy", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a QaScorecardRevision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaScorecardRevision to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all revisions under the parent QaScorecard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to reduce results to a specific subset. Useful for querying scorecard revisions with specific properties.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of scorecard revisions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListQaScorecardRevisionsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecardRevisions` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the scorecard revisions. To list all revisions of all scorecards, substitute the QaScorecard ID with a '-' character.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/revisions", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tuneQaScorecardRevision": { +"description": "Fine tune one or more QaModels.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:tuneQaScorecardRevision", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.tuneQaScorecardRevision", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource for new fine tuning job instance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:tuneQaScorecardRevision", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeploy": { +"description": "Undeploy a QaScorecardRevision.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:undeploy", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.undeploy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaScorecardRevision to undeploy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:undeploy", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"qaQuestions": { +"methods": { +"create": { +"description": "Create a QaQuestion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the QaQuestion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"qaQuestionId": { +"description": "Optional. A unique ID for the new question. This ID will become the final component of the question's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/qaQuestions", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a QaQuestion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaQuestion to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a QaQuestion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QaQuestion to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists QaQuestions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of questions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListQaQuestionsResponse`. This value indicates that this is a continuation of a prior `ListQaQuestions` call and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the questions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/qaQuestions", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a QaQuestion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the question. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}/qaQuestions/{qa_question}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `abbreviation` * `answer_choices` * `answer_instructions` * `order` * `question_body` * `tags`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", +"httpMethod": "POST", +"id": "contactcenterinsights.projects.locations.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the view. Required. The location to create a view for. Format: `projects//locations/` or `projects//locations/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/views", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a view.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "contactcenterinsights.projects.locations.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the view to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a view.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the view to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists views.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", +"httpMethod": "GET", +"id": "contactcenterinsights.projects.locations.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of views to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListViewsResponse`; indicates that this is a continuation of a prior `ListViews` call and the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the views.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/views", +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a view.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "contactcenterinsights.projects.locations.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"response": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250106", +"rootUrl": "https://contactcenterinsights.googleapis.com/", +"schemas": { +"GoogleCloudContactcenterinsightsV1Analysis": { +"description": "The analysis resource.", +"id": "GoogleCloudContactcenterinsightsV1Analysis", +"properties": { +"analysisResult": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisResult", +"description": "Output only. The result of the analysis, which is populated when the analysis finishes.", +"readOnly": true +}, +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." +}, +"createTime": { +"description": "Output only. The time at which the analysis was created, which occurs when the long-running operation completes.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}", +"type": "string" +}, +"requestTime": { +"description": "Output only. The time at which the analysis was requested.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnalysisResult": { +"description": "The result of an analysis.", +"id": "GoogleCloudContactcenterinsightsV1AnalysisResult", +"properties": { +"callAnalysisMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", +"description": "Call-specific metadata created by the analysis." +}, +"endTime": { +"description": "The time at which the analysis ended.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata": { +"description": "Call-specific metadata created during analysis.", +"id": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", +"properties": { +"annotations": { +"description": "A list of call annotations that apply to this call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1CallAnnotation" +}, +"type": "array" +}, +"entities": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1Entity" +}, +"description": "All the entities in the call.", +"type": "object" +}, +"intents": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1Intent" +}, +"description": "All the matched intents in the call.", +"type": "object" +}, +"issueModelResult": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelResult", +"description": "Overall conversation-level issue modeling result." +}, +"phraseMatchers": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData" +}, +"description": "All the matched phrase matchers in the call.", +"type": "object" +}, +"qaScorecardResults": { +"description": "Results of scoring QaScorecards.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResult" +}, +"type": "array" +}, +"sentiments": { +"description": "Overall conversation-level sentiment for each channel of the call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment" +}, +"type": "array" +}, +"silence": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", +"description": "Overall conversation-level silence during the call." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnalysisRule": { +"description": "The CCAI Insights project wide analysis rule. This rule will be applied to all conversations that match the filter defined in the rule. For a conversation matches the filter, the annotators specified in the rule will be run. If a conversation matches multiple rules, a union of all the annotators will be run. One project can have multiple analysis rules.", +"id": "GoogleCloudContactcenterinsightsV1AnalysisRule", +"properties": { +"active": { +"description": "If true, apply this rule to conversations. Otherwise, this rule is inactive and saved as a draft.", +"type": "boolean" +}, +"analysisPercentage": { +"description": "Percentage of conversations that we should apply this analysis setting automatically, between [0, 1]. For example, 0.1 means 10%. Conversations are sampled in a determenestic way. The original runtime_percentage & upload percentage will be replaced by defining filters on the conversation.", +"format": "double", +"type": "number" +}, +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"description": "Selector of annotators to run and the phrase matchers to use for conversations that matches the conversation_filter. If not specified, NO annotators will be run." +}, +"conversationFilter": { +"description": "Filter for the conversations that should apply this analysis rule. An empty filter means this analysis rule applies to all conversations. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which this analysis rule was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Display Name of the analysis rule.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the analysis rule. Format: projects/{project}/locations/{location}/analysisRules/{analysis_rule}", +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which this analysis rule was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnnotationBoundary": { +"description": "A point in a conversation that marks the start or the end of an annotation.", +"id": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", +"properties": { +"transcriptIndex": { +"description": "The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero.", +"format": "int32", +"type": "integer" +}, +"wordIndex": { +"description": "The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnnotatorSelector": { +"description": "Selector of all available annotators and phrase matchers to run.", +"id": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"properties": { +"issueModels": { +"description": "The issue model to run. If not provided, the most recently deployed topic model will be used. The provided issue model will only be used for inference if the issue model is deployed and if run_issue_model_annotator is set to true. If more than one issue model is provided, only the first provided issue model will be used for inference.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phraseMatchers": { +"description": "The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", +"items": { +"type": "string" +}, +"type": "array" +}, +"qaConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig", +"description": "Configuration for the QA annotator." +}, +"runEntityAnnotator": { +"description": "Whether to run the entity annotator.", +"type": "boolean" +}, +"runIntentAnnotator": { +"description": "Whether to run the intent annotator.", +"type": "boolean" +}, +"runInterruptionAnnotator": { +"description": "Whether to run the interruption annotator.", +"type": "boolean" +}, +"runIssueModelAnnotator": { +"description": "Whether to run the issue model annotator. A model should have already been deployed for this to take effect.", +"type": "boolean" +}, +"runPhraseMatcherAnnotator": { +"description": "Whether to run the active phrase matcher annotator(s).", +"type": "boolean" +}, +"runQaAnnotator": { +"description": "Whether to run the QA annotator.", +"type": "boolean" +}, +"runSentimentAnnotator": { +"description": "Whether to run the sentiment annotator.", +"type": "boolean" +}, +"runSilenceAnnotator": { +"description": "Whether to run the silence annotator.", +"type": "boolean" +}, +"runSummarizationAnnotator": { +"description": "Whether to run the summarization annotator.", +"type": "boolean" +}, +"summarizationConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", +"description": "Configuration for the summarization annotator." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig": { +"description": "Configuration for the QA feature.", +"id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig", +"properties": { +"scorecardList": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList", +"description": "A manual list of scorecards to score." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList": { +"description": "Container for a list of scorecards.", +"id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList", +"properties": { +"qaScorecardRevisions": { +"description": "List of QaScorecardRevisions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig": { +"description": "Configuration for summarization.", +"id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", +"properties": { +"conversationProfile": { +"description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", +"type": "string" +}, +"summarizationModel": { +"description": "Default summarization model to be used.", +"enum": [ +"SUMMARIZATION_MODEL_UNSPECIFIED", +"BASELINE_MODEL", +"BASELINE_MODEL_V2_0" +], +"enumDescriptions": [ +"Unspecified summarization model.", +"The CCAI baseline model.", +"The CCAI baseline model, V2.0." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1AnswerFeedback": { +"description": "The feedback that the customer has about a certain answer in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1AnswerFeedback", +"properties": { +"clicked": { +"description": "Indicates whether an answer or item was clicked by the human agent.", +"type": "boolean" +}, +"correctnessLevel": { +"description": "The correctness level of an answer.", +"enum": [ +"CORRECTNESS_LEVEL_UNSPECIFIED", +"NOT_CORRECT", +"PARTIALLY_CORRECT", +"FULLY_CORRECT" +], +"enumDescriptions": [ +"Correctness level unspecified.", +"Answer is totally wrong.", +"Answer is partially correct.", +"Answer is fully correct." +], +"type": "string" +}, +"displayed": { +"description": "Indicates whether an answer or item was displayed to the human agent in the agent desktop UI.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ArticleSuggestionData": { +"description": "Agent Assist Article Suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this article is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Article Suggestion and the document that it originates from.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"source": { +"description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}", +"type": "string" +}, +"title": { +"description": "Article title.", +"type": "string" +}, +"uri": { +"description": "Article URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata": { +"description": "The metadata for a bulk analyze conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata", +"properties": { +"completedAnalysesCount": { +"description": "The number of requested analyses that have completed successfully so far.", +"format": "int32", +"type": "integer" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"failedAnalysesCount": { +"description": "The number of requested analyses that have failed so far.", +"format": "int32", +"type": "integer" +}, +"partialErrors": { +"description": "Output only. Partial errors during bulk analyze operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", +"description": "The original request for bulk analyze." +}, +"totalRequestedAnalysesCount": { +"description": "Total number of analyses requested. Computed by the number of conversations returned by `filter` multiplied by `analysis_percentage` in the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest": { +"description": "The request to analyze conversations in bulk.", +"id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", +"properties": { +"analysisPercentage": { +"description": "Required. Percentage of selected conversation to analyze, between [0, 100].", +"format": "float", +"type": "number" +}, +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." +}, +"filter": { +"description": "Required. Filter used to select the subset of conversations to analyze.", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource to create analyses in.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse": { +"description": "The response for a bulk analyze conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse", +"properties": { +"failedAnalysisCount": { +"description": "Count of failed analyses.", +"format": "int32", +"type": "integer" +}, +"successfulAnalysisCount": { +"description": "Count of successful analyses.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata": { +"description": "The metadata for a bulk delete conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during bulk delete conversations operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", +"description": "The original request for bulk delete." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest": { +"description": "The request to delete conversations in bulk.", +"id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", +"properties": { +"filter": { +"description": "Filter used to select the subset of conversations to delete.", +"type": "string" +}, +"force": { +"description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", +"type": "boolean" +}, +"maxDeleteCount": { +"description": "Maximum number of conversations to delete.", +"format": "int32", +"type": "integer" +}, +"parent": { +"description": "Required. The parent resource to delete conversations from. Format: projects/{project}/locations/{location}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse": { +"description": "The response for a bulk delete conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata": { +"description": "Metadata for the BulkDownloadFeedbackLabel endpoint.", +"id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"downloadStats": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats", +"description": "Output only. Statistics for BulkDownloadFeedbackLabels operation.", +"readOnly": true +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during ingest operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest", +"description": "Output only. The original request for download.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats": { +"description": "Statistics for BulkDownloadFeedbackLabels operation.", +"id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats", +"properties": { +"fileNames": { +"description": "Output only. Full name of the files written to Cloud storage.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"processedObjectCount": { +"description": "The number of objects processed during the download operation.", +"format": "int32", +"type": "integer" +}, +"successfulDownloadCount": { +"description": "The number of new feedback labels downloaded during this operation. Different from \"processed\" because some labels might not be downloaded because an error.", +"format": "int32", +"type": "integer" +}, +"totalFilesWritten": { +"description": "Total number of files written to the provided Cloud Storage bucket.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest": { +"description": "Request for the BulkDownloadFeedbackLabel endpoint.", +"id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest", +"properties": { +"conversationFilter": { +"description": "Optional. Filter parent conversations to download feedback labels for. When specified, the feedback labels will be downloaded for the conversations that match the filter. If `template_qa_scorecard_id` is set, all the conversations that match the filter will be paired with the questions under the scorecard for labeling.", +"type": "string" +}, +"feedbackLabelType": { +"description": "Optional. The type of feedback labels that will be downloaded.", +"enum": [ +"FEEDBACK_LABEL_TYPE_UNSPECIFIED", +"QUALITY_AI", +"TOPIC_MODELING" +], +"enumDescriptions": [ +"Unspecified format", +"Downloaded file will contain all Quality AI labels from the latest scorecard revision.", +"Downloaded file will contain only Topic Modeling labels." +], +"type": "string" +}, +"filter": { +"description": "Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", +"type": "string" +}, +"gcsDestination": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination", +"description": "A cloud storage bucket destination." +}, +"maxDownloadCount": { +"description": "Optional. Limits the maximum number of feedback labels that will be downloaded. The first `N` feedback labels will be downloaded.", +"format": "int32", +"type": "integer" +}, +"parent": { +"description": "Required. The parent resource for new feedback labels.", +"type": "string" +}, +"templateQaScorecardId": { +"description": "Optional. If set, a template for labeling conversations and scorecard questions will be created from the conversation_filter and the questions under the scorecard(s). The feedback label `filter` will be ignored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination": { +"description": "Google Cloud Storage Object details to write the feedback labels to.", +"id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination", +"properties": { +"addWhitespace": { +"description": "Optional. Add whitespace to the JSON file. Makes easier to read, but increases file size. Only applicable for JSON format.", +"type": "boolean" +}, +"alwaysPrintEmptyFields": { +"description": "Optional. Always print fields with no presence. This is useful for printing fields that are not set, like implicit 0 value or empty lists/maps. Only applicable for JSON format.", +"type": "boolean" +}, +"format": { +"description": "Required. File format in which the labels will be exported.", +"enum": [ +"FORMAT_UNSPECIFIED", +"CSV", +"JSON" +], +"enumDescriptions": [ +"Unspecified format.", +"CSV format. 1,000 labels are stored per CSV file by default.", +"JSON format. 1 label stored per JSON file by default." +], +"type": "string" +}, +"objectUri": { +"description": "Required. The Google Cloud Storage URI to write the feedback labels to. The file name will be used as a prefix for the files written to the bucket if the output needs to be split across multiple files, otherwise it will be used as is. The file extension will be appended to the file name based on the format selected. E.g. `gs://bucket_name/object_uri_prefix`", +"type": "string" +}, +"recordsPerFileCount": { +"description": "Optional. The number of records per file. Applicable for either format.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse": { +"description": "Response for the BulkDownloadFeedbackLabel endpoint.", +"id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest": { +"description": "The request for bulk uploading feedback labels.", +"id": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource", +"description": "A cloud storage bucket source." +}, +"validateOnly": { +"description": "Optional. If set, upload will not happen and the labels will be validated. If not set, then default behavior will be to upload the labels after validation is complete.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource": { +"description": "Google Cloud Storage Object details to get the feedback label file from.", +"id": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource", +"properties": { +"format": { +"description": "Required. File format which will be ingested.", +"enum": [ +"FORMAT_UNSPECIFIED", +"CSV", +"JSON" +], +"enumDescriptions": [ +"Unspecified format.", +"CSV format.", +"JSON format." +], +"type": "string" +}, +"objectUri": { +"description": "Required. The Google Cloud Storage URI of the file to import. Format: `gs://bucket_name/object_name`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse": { +"description": "Response of querying an issue model's statistics.", +"id": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse", +"properties": { +"currentStats": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", +"description": "The latest label statistics for the queried issue model. Includes results on both training data and data labeled after deployment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CalculateStatsResponse": { +"description": "The response for calculating conversation statistics.", +"id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse", +"properties": { +"averageDuration": { +"description": "The average duration of all conversations. The average is calculated using only conversations that have a time duration.", +"format": "google-duration", +"type": "string" +}, +"averageTurnCount": { +"description": "The average number of turns per conversation.", +"format": "int32", +"type": "integer" +}, +"conversationCount": { +"description": "The total number of conversations.", +"format": "int32", +"type": "integer" +}, +"conversationCountTimeSeries": { +"$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", +"description": "A time series representing the count of conversations created over time that match that requested filter criteria." +}, +"customHighlighterMatches": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "A map associating each custom highlighter resource name with its respective number of matches in the set of conversations.", +"type": "object" +}, +"issueMatches": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"deprecated": true, +"description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/` Deprecated, use `issue_matches_stats` field instead.", +"type": "object" +}, +"issueMatchesStats": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" +}, +"description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/`", +"type": "object" +}, +"smartHighlighterMatches": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "A map associating each smart highlighter display name with its respective number of matches in the set of conversations.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries": { +"description": "A time series representing conversations over time.", +"id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", +"properties": { +"intervalDuration": { +"description": "The duration of each interval.", +"format": "google-duration", +"type": "string" +}, +"points": { +"description": "An ordered list of intervals from earliest to latest, where each interval represents the number of conversations that transpired during the time window.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval": { +"description": "A single interval in a time series.", +"id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval", +"properties": { +"conversationCount": { +"description": "The number of conversations created in this interval.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "The start time of this interval.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CallAnnotation": { +"description": "A piece of metadata that applies to a window of a call.", +"id": "GoogleCloudContactcenterinsightsV1CallAnnotation", +"properties": { +"annotationEndBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation ends, inclusive." +}, +"annotationStartBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation starts, inclusive." +}, +"channelTag": { +"description": "The channel of the audio where the annotation occurs. For single-channel audio, this field is not populated.", +"format": "int32", +"type": "integer" +}, +"entityMentionData": { +"$ref": "GoogleCloudContactcenterinsightsV1EntityMentionData", +"description": "Data specifying an entity mention." +}, +"holdData": { +"$ref": "GoogleCloudContactcenterinsightsV1HoldData", +"description": "Data specifying a hold." +}, +"intentMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1IntentMatchData", +"description": "Data specifying an intent match." +}, +"interruptionData": { +"$ref": "GoogleCloudContactcenterinsightsV1InterruptionData", +"description": "Data specifying an interruption." +}, +"issueMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueMatchData", +"description": "Data specifying an issue match." +}, +"phraseMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData", +"description": "Data specifying a phrase match." +}, +"sentimentData": { +"$ref": "GoogleCloudContactcenterinsightsV1SentimentData", +"description": "Data specifying sentiment." +}, +"silenceData": { +"$ref": "GoogleCloudContactcenterinsightsV1SilenceData", +"description": "Data specifying silence." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Conversation": { +"description": "The conversation resource.", +"id": "GoogleCloudContactcenterinsightsV1Conversation", +"properties": { +"agentId": { +"description": "An opaque, user-specified string representing the human agent who handled the conversation.", +"type": "string" +}, +"callMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", +"description": "Call-specific metadata." +}, +"createTime": { +"description": "Output only. The time at which the conversation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationDataSource", +"description": "The source of the audio and transcription for the conversation." +}, +"dialogflowIntents": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1DialogflowIntent" +}, +"description": "Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}", +"readOnly": true, +"type": "object" +}, +"duration": { +"description": "Output only. The duration of the conversation.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry.", +"type": "object" +}, +"languageCode": { +"description": "A user-specified language code for the conversation.", +"type": "string" +}, +"latestAnalysis": { +"$ref": "GoogleCloudContactcenterinsightsV1Analysis", +"description": "Output only. The conversation's latest analysis, if one exists.", +"readOnly": true +}, +"latestSummary": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", +"description": "Output only. Latest summary of the conversation.", +"readOnly": true +}, +"medium": { +"description": "Immutable. The conversation medium, if unspecified will default to PHONE_CALL.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +}, +"metadataJson": { +"description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", +"type": "string" +}, +"obfuscatedUserId": { +"description": "Obfuscated user ID which the customer sent to us.", +"type": "string" +}, +"qualityMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", +"description": "Conversation metadata related to quality management." +}, +"runtimeAnnotations": { +"description": "Output only. The annotations that were generated during the customer and agent interaction.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "The time at which the conversation started.", +"format": "google-datetime", +"type": "string" +}, +"transcript": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscript", +"description": "Output only. The conversation transcript.", +"readOnly": true +}, +"ttl": { +"description": "Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time.", +"format": "google-duration", +"type": "string" +}, +"turnCount": { +"description": "Output only. The number of turns in the conversation.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"updateTime": { +"description": "Output only. The most recent time at which the conversation was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationCallMetadata": { +"description": "Call-specific metadata.", +"id": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", +"properties": { +"agentChannel": { +"description": "The audio channel that contains the agent.", +"format": "int32", +"type": "integer" +}, +"customerChannel": { +"description": "The audio channel that contains the customer.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationDataSource": { +"description": "The conversation source, which is a combination of transcript and audio.", +"id": "GoogleCloudContactcenterinsightsV1ConversationDataSource", +"properties": { +"dialogflowSource": { +"$ref": "GoogleCloudContactcenterinsightsV1DialogflowSource", +"description": "The source when the conversation comes from Dialogflow." +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1GcsSource", +"description": "A Cloud Storage location specification for the audio and transcript." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationLevelSentiment": { +"description": "One channel of conversation-level sentiment data.", +"id": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment", +"properties": { +"channelTag": { +"description": "The channel of the audio that the data applies to.", +"format": "int32", +"type": "integer" +}, +"sentimentData": { +"$ref": "GoogleCloudContactcenterinsightsV1SentimentData", +"description": "Data specifying sentiment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationLevelSilence": { +"description": "Conversation-level silence data.", +"id": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", +"properties": { +"silenceDuration": { +"description": "Amount of time calculated to be in silence.", +"format": "google-duration", +"type": "string" +}, +"silencePercentage": { +"description": "Percentage of the total conversation spent in silence.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationParticipant": { +"description": "The call participant speaking for a given utterance.", +"id": "GoogleCloudContactcenterinsightsV1ConversationParticipant", +"properties": { +"dialogflowParticipant": { +"deprecated": true, +"description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", +"type": "string" +}, +"dialogflowParticipantName": { +"description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", +"type": "string" +}, +"obfuscatedExternalUserId": { +"description": "Obfuscated user ID from Dialogflow.", +"type": "string" +}, +"role": { +"description": "The role of the participant.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER", +"ANY_AGENT" +], +"enumDescriptions": [ +"Participant's role is not set.", +"Participant is a human agent.", +"Participant is an automated agent.", +"Participant is an end user who conversed with the contact center.", +"Participant is either a human or automated agent." +], +"type": "string" +}, +"userId": { +"description": "A user-specified ID representing the participant.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationQualityMetadata": { +"description": "Conversation metadata related to quality management.", +"id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", +"properties": { +"agentInfo": { +"description": "Information about agents involved in the call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo" +}, +"type": "array" +}, +"customerSatisfactionRating": { +"description": "An arbitrary integer value indicating the customer's satisfaction rating.", +"format": "int32", +"type": "integer" +}, +"menuPath": { +"description": "An arbitrary string value specifying the menu path the customer took.", +"type": "string" +}, +"waitDuration": { +"description": "The amount of time the customer waited to connect with an agent.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo": { +"description": "Information about an agent involved in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo", +"properties": { +"agentId": { +"description": "A user-specified string representing the agent.", +"type": "string" +}, +"agentType": { +"description": "The agent type, e.g. HUMAN_AGENT.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER", +"ANY_AGENT" +], +"enumDescriptions": [ +"Participant's role is not set.", +"Participant is a human agent.", +"Participant is an automated agent.", +"Participant is an end user who conversed with the contact center.", +"Participant is either a human or automated agent." +], +"type": "string" +}, +"displayName": { +"description": "The agent's name.", +"type": "string" +}, +"dispositionCode": { +"description": "A user-provided string indicating the outcome of the agent's segment of the call.", +"type": "string" +}, +"location": { +"description": "The agent's location.", +"type": "string" +}, +"team": { +"deprecated": true, +"description": "A user-specified string representing the agent's team. Deprecated in favor of the `teams` field.", +"type": "string" +}, +"teams": { +"description": "User-specified strings representing the agent's teams.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData": { +"description": "Conversation summarization suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", +"properties": { +"answerRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"confidence": { +"description": "The confidence score of the summarization.", +"format": "float", +"type": "number" +}, +"conversationModel": { +"description": "The name of the model that generates this summary. Format: projects/{project}/locations/{location}/conversationModels/{conversation_model}", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the summarization and the document from which it originates.", +"type": "object" +}, +"text": { +"description": "The summarization content that is concatenated into one string.", +"type": "string" +}, +"textSections": { +"additionalProperties": { +"type": "string" +}, +"description": "The summarization content that is divided into sections. The key is the section's name and the value is the section's content. There is no specific format for the key or value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationTranscript": { +"description": "A message representing the transcript of a conversation.", +"id": "GoogleCloudContactcenterinsightsV1ConversationTranscript", +"properties": { +"transcriptSegments": { +"description": "A list of sequential transcript segments that comprise the conversation.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment": { +"description": "A segment of a full transcript.", +"id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment", +"properties": { +"channelTag": { +"description": "For conversations derived from multi-channel audio, this is the channel number corresponding to the audio from that channel. For audioChannelCount = N, its output values can range from '1' to 'N'. A channel tag of 0 indicates that the audio is mono.", +"format": "int32", +"type": "integer" +}, +"confidence": { +"description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.", +"format": "float", +"type": "number" +}, +"dialogflowSegmentMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", +"description": "CCAI metadata relating to the current transcript segment." +}, +"languageCode": { +"description": "The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", +"type": "string" +}, +"messageTime": { +"description": "The time that the message occurred, if provided.", +"format": "google-datetime", +"type": "string" +}, +"segmentParticipant": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationParticipant", +"description": "The participant of this segment." +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1SentimentData", +"description": "The sentiment for this transcript segment." +}, +"text": { +"description": "The text of this segment.", +"type": "string" +}, +"words": { +"description": "A list of the word-specific information for each word in the segment.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata": { +"description": "Metadata from Dialogflow relating to the current transcript segment.", +"id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", +"properties": { +"smartReplyAllowlistCovered": { +"description": "Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo": { +"description": "Word-level info for words in a transcript.", +"id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo", +"properties": { +"confidence": { +"description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A default value of 0.0 indicates that the value is unset.", +"format": "float", +"type": "number" +}, +"endOffset": { +"description": "Time offset of the end of this word relative to the beginning of the total conversation.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Time offset of the start of this word relative to the beginning of the total conversation.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word itself. Includes punctuation marks that surround the word.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata": { +"description": "Metadata for a create analysis operation.", +"id": "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata", +"properties": { +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"description": "Output only. The annotator selector used for the analysis (if any).", +"readOnly": true +}, +"conversation": { +"description": "Output only. The Conversation that this Analysis Operation belongs to.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CreateIssueMetadata": { +"description": "Metadata for creating an issue.", +"id": "GoogleCloudContactcenterinsightsV1CreateIssueMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1CreateIssueRequest", +"description": "The original request for creation." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata": { +"description": "Metadata for creating an issue model.", +"id": "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", +"description": "The original request for creation." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CreateIssueModelRequest": { +"description": "The request to create an issue model.", +"id": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", +"properties": { +"issueModel": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel", +"description": "Required. The issue model to create." +}, +"parent": { +"description": "Required. The parent resource of the issue model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1CreateIssueRequest": { +"description": "The request to create an issue.", +"id": "GoogleCloudContactcenterinsightsV1CreateIssueRequest", +"properties": { +"issue": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue", +"description": "Required. The values for the new issue." +}, +"parent": { +"description": "Required. The parent resource of the issue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata": { +"description": "Metadata for deleting an issue model.", +"id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", +"description": "The original request for deletion." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest": { +"description": "The request to delete an issue model.", +"id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", +"properties": { +"name": { +"description": "Required. The name of the issue model to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata": { +"description": "Metadata for deploying an issue model.", +"id": "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", +"description": "The original request for deployment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeployIssueModelRequest": { +"description": "The request to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", +"properties": { +"name": { +"description": "Required. The issue model to deploy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeployIssueModelResponse": { +"description": "The response to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest": { +"description": "The request to deploy a QaScorecardRevision", +"id": "GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DialogflowIntent": { +"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", +"properties": { +"displayName": { +"description": "The human-readable name of the intent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { +"description": "Dialogflow interaction data.", +"id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", +"properties": { +"confidence": { +"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"dialogflowIntentId": { +"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DialogflowSource": { +"description": "A Dialogflow source of conversation data.", +"id": "GoogleCloudContactcenterinsightsV1DialogflowSource", +"properties": { +"audioUri": { +"description": "Cloud Storage URI that points to a file that contains the conversation audio.", +"type": "string" +}, +"dialogflowConversation": { +"description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Dimension": { +"description": "A dimension determines the grouping key for the query. In SQL terms, these would be part of both the \"SELECT\" and \"GROUP BY\" clauses.", +"id": "GoogleCloudContactcenterinsightsV1Dimension", +"properties": { +"agentDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata", +"description": "Output only. Metadata about the agent dimension.", +"readOnly": true +}, +"dimensionKey": { +"description": "The key of the dimension.", +"enum": [ +"DIMENSION_KEY_UNSPECIFIED", +"ISSUE", +"AGENT", +"AGENT_TEAM", +"QA_QUESTION_ID", +"QA_QUESTION_ANSWER_VALUE", +"CONVERSATION_PROFILE_ID" +], +"enumDescriptions": [ +"The key of the dimension is unspecified.", +"The dimension is keyed by issues.", +"The dimension is keyed by agents.", +"The dimension is keyed by agent teams.", +"The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", +"The dimension is keyed by QaQuestionIds-Answer value pairs. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing distribution of answers per question across different scorecard revisions.", +"The dimension is keyed by the conversation profile ID." +], +"type": "string" +}, +"issueDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata", +"description": "Output only. Metadata about the issue dimension.", +"readOnly": true +}, +"qaQuestionAnswerDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata", +"description": "Output only. Metadata about the QA question-answer dimension.", +"readOnly": true +}, +"qaQuestionDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata", +"description": "Output only. Metadata about the QA question dimension.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata": { +"description": "Metadata about the agent dimension.", +"id": "GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata", +"properties": { +"agentDisplayName": { +"description": "Optional. The agent's name", +"type": "string" +}, +"agentId": { +"description": "Optional. A user-specified string representing the agent.", +"type": "string" +}, +"agentTeam": { +"description": "Optional. A user-specified string representing the agent's team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata": { +"description": "Metadata about the issue dimension.", +"id": "GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata", +"properties": { +"issueDisplayName": { +"description": "The issue display name.", +"type": "string" +}, +"issueId": { +"description": "The issue ID.", +"type": "string" +}, +"issueModelId": { +"description": "The parent issue model ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata": { +"description": "Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard.", +"id": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata", +"properties": { +"answerValue": { +"description": "Optional. The full body of the question.", +"type": "string" +}, +"qaQuestionId": { +"description": "Optional. The QA question ID.", +"type": "string" +}, +"qaScorecardId": { +"description": "Optional. The QA scorecard ID.", +"type": "string" +}, +"questionBody": { +"description": "Optional. The full body of the question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata": { +"description": "Metadata about the QA question dimension.", +"id": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata", +"properties": { +"qaQuestionId": { +"description": "Optional. The QA question ID.", +"type": "string" +}, +"qaScorecardId": { +"description": "Optional. The QA scorecard ID.", +"type": "string" +}, +"questionBody": { +"description": "Optional. The full body of the question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1EncryptionSpec": { +"description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", +"id": "GoogleCloudContactcenterinsightsV1EncryptionSpec", +"properties": { +"kmsKey": { +"description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Entity": { +"description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", +"id": "GoogleCloudContactcenterinsightsV1Entity", +"properties": { +"displayName": { +"description": "The representative name for the entity.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.", +"type": "object" +}, +"salience": { +"description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.", +"format": "float", +"type": "number" +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1SentimentData", +"description": "The aggregate sentiment expressed for this entity in the conversation." +}, +"type": { +"description": "The entity type.", +"enum": [ +"TYPE_UNSPECIFIED", +"PERSON", +"LOCATION", +"ORGANIZATION", +"EVENT", +"WORK_OF_ART", +"CONSUMER_GOOD", +"OTHER", +"PHONE_NUMBER", +"ADDRESS", +"DATE", +"NUMBER", +"PRICE" +], +"enumDescriptions": [ +"Unspecified.", +"Person.", +"Location.", +"Organization.", +"Event.", +"Artwork.", +"Consumer product.", +"Other types of entities.", +"Phone number. The metadata lists the phone number (formatted according to local convention), plus whichever additional elements appear in the text: * `number` - The actual number, broken down into sections according to local convention. * `national_prefix` - Country code, if detected. * `area_code` - Region or area code, if detected. * `extension` - Phone extension (to be dialed after connection), if detected.", +"Address. The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - Street number. * `locality` - City or town. * `street_name` - Street/route name, if detected. * `postal_code` - Postal code, if detected. * `country` - Country, if detected. * `broad_region` - Administrative area, such as the state, if detected. * `narrow_region` - Smaller administrative area, such as county, if detected. * `sublocality` - Used in Asian addresses to demark a district within a city, if detected.", +"Date. The metadata identifies the components of the date: * `year` - Four digit year, if detected. * `month` - Two digit month number, if detected. * `day` - Two digit day number, if detected.", +"Number. The metadata is the number itself.", +"Price. The metadata identifies the `value` and `currency`." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1EntityMentionData": { +"description": "The data for an entity mention annotation. This represents a mention of an `Entity` in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1EntityMentionData", +"properties": { +"entityUniqueId": { +"description": "The key of this entity in conversation entities. Can be used to retrieve the exact `Entity` this mention is attached to.", +"type": "string" +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1SentimentData", +"description": "Sentiment expressed for this mention of the entity." +}, +"type": { +"description": "The type of the entity mention.", +"enum": [ +"MENTION_TYPE_UNSPECIFIED", +"PROPER", +"COMMON" +], +"enumDescriptions": [ +"Unspecified.", +"Proper noun.", +"Common noun (or noun compound)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExactMatchConfig": { +"description": "Exact match configuration.", +"id": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", +"properties": { +"caseSensitive": { +"description": "Whether to consider case sensitivity when performing an exact match.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata": { +"description": "Metadata for an export insights operation.", +"id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during export operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", +"description": "The original request for export." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest": { +"description": "The request to export insights.", +"id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", +"properties": { +"bigQueryDestination": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", +"description": "Specified if sink is a BigQuery table." +}, +"filter": { +"description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", +"type": "string" +}, +"kmsKey": { +"description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource to export data from.", +"type": "string" +}, +"writeDisposition": { +"description": "Options for what to do if the destination table already exists.", +"enum": [ +"WRITE_DISPOSITION_UNSPECIFIED", +"WRITE_TRUNCATE", +"WRITE_APPEND" +], +"enumDescriptions": [ +"Write disposition is not specified. Defaults to WRITE_TRUNCATE.", +"If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", +"If the table already exists, BigQuery will append data to the table." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination": { +"description": "A BigQuery Table Reference.", +"id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", +"properties": { +"dataset": { +"description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", +"type": "string" +}, +"projectId": { +"description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", +"type": "string" +}, +"table": { +"description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse": { +"description": "Response for an export insights operation.", +"id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata": { +"description": "Metadata used for export issue model.", +"id": "GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", +"description": "The original export request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportIssueModelRequest": { +"description": "Request to export an issue model.", +"id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", +"description": "Google Cloud Storage URI to export the issue model to." +}, +"name": { +"description": "Required. The issue model to export.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination": { +"description": "Google Cloud Storage Object URI to save the issue model to.", +"id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", +"properties": { +"objectUri": { +"description": "Required. Format: `gs:///`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ExportIssueModelResponse": { +"description": "Response from export issue model", +"id": "GoogleCloudContactcenterinsightsV1ExportIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1FaqAnswerData": { +"description": "Agent Assist frequently-asked-question answer data.", +"id": "GoogleCloudContactcenterinsightsV1FaqAnswerData", +"properties": { +"answer": { +"description": "The piece of text from the `source` knowledge base document.", +"type": "string" +}, +"confidenceScore": { +"description": "The system's confidence score that this answer is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the FAQ answer and the document that it originates from.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +}, +"source": { +"description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1FeedbackLabel": { +"description": "Represents a conversation, resource, and label provided by the user.", +"id": "GoogleCloudContactcenterinsightsV1FeedbackLabel", +"properties": { +"createTime": { +"description": "Output only. Create time of the label.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"label": { +"description": "String label.", +"type": "string" +}, +"labeledResource": { +"description": "Resource name of the resource to be labeled.", +"type": "string" +}, +"name": { +"description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", +"type": "string" +}, +"qaAnswerLabel": { +"$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", +"description": "QaAnswer label." +}, +"updateTime": { +"description": "Output only. Update time of the label.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1GcsSource": { +"description": "A Cloud Storage source of conversation data.", +"id": "GoogleCloudContactcenterinsightsV1GcsSource", +"properties": { +"audioUri": { +"description": "Cloud Storage URI that points to a file that contains the conversation audio.", +"type": "string" +}, +"transcriptUri": { +"description": "Immutable. Cloud Storage URI that points to a file that contains the conversation transcript.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1HoldData": { +"description": "The data for a hold annotation.", +"id": "GoogleCloudContactcenterinsightsV1HoldData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata": { +"description": "Metadata used for import issue model.", +"id": "GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", +"description": "The original import request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ImportIssueModelRequest": { +"description": "Request to import an issue model.", +"id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", +"properties": { +"createNewModel": { +"description": "Optional. If set to true, will create an issue model from the imported file with randomly generated IDs for the issue model and corresponding issues. Otherwise, replaces an existing model with the same ID as the file.", +"type": "boolean" +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", +"description": "Google Cloud Storage source message." +}, +"parent": { +"description": "Required. The parent resource of the issue model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource": { +"description": "Google Cloud Storage Object URI to get the issue model file from.", +"id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", +"properties": { +"objectUri": { +"description": "Required. Format: `gs:///`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ImportIssueModelResponse": { +"description": "Response from import issue model", +"id": "GoogleCloudContactcenterinsightsV1ImportIssueModelResponse", +"properties": { +"issueModel": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel", +"description": "The issue model that was imported." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsMetadata": { +"description": "The metadata for an IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"ingestConversationsStats": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", +"description": "Output only. Statistics for IngestConversations operation.", +"readOnly": true +}, +"partialErrors": { +"description": "Output only. Partial errors during ingest operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", +"description": "Output only. The original request for ingest.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats": { +"description": "Statistics for IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", +"properties": { +"duplicatesSkippedCount": { +"description": "Output only. The number of objects skipped because another conversation with the same transcript uri had already been ingested.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"failedIngestCount": { +"description": "Output only. The number of objects which were unable to be ingested due to errors. The errors are populated in the partial_errors field.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"processedObjectCount": { +"description": "Output only. The number of objects processed during the ingest operation.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"successfulIngestCount": { +"description": "Output only. The number of new conversations added during this ingest operation.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsRequest": { +"description": "The request to ingest conversations.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", +"properties": { +"conversationConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", +"description": "Configuration that applies to all conversations." +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", +"description": "A cloud storage bucket source. Note that any previously ingested objects from the source will be skipped to avoid duplication." +}, +"parent": { +"description": "Required. The parent resource for new conversations.", +"type": "string" +}, +"redactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", +"description": "Optional. DLP settings for transcript redaction. Optional, will default to the config specified in Settings." +}, +"sampleSize": { +"description": "Optional. If set, this fields indicates the number of objects to ingest from the Cloud Storage bucket. If empty, the entire bucket will be ingested. Unless they are first deleted, conversations produced through sampling won't be ingested by subsequent ingest requests.", +"format": "int32", +"type": "integer" +}, +"speechConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1SpeechConfig", +"description": "Optional. Default Speech-to-Text configuration. Optional, will default to the config specified in Settings." +}, +"transcriptObjectConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", +"description": "Configuration for when `source` contains conversation transcripts." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig": { +"description": "Configuration that applies to all conversations.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", +"properties": { +"agentChannel": { +"description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", +"format": "int32", +"type": "integer" +}, +"agentId": { +"description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", +"type": "string" +}, +"customerChannel": { +"description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource": { +"description": "Configuration for Cloud Storage bucket sources.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", +"properties": { +"bucketObjectType": { +"description": "Optional. Specifies the type of the objects in `bucket_uri`.", +"enum": [ +"BUCKET_OBJECT_TYPE_UNSPECIFIED", +"TRANSCRIPT", +"AUDIO" +], +"enumDescriptions": [ +"The object type is unspecified and will default to `TRANSCRIPT`.", +"The object is a transcript.", +"The object is an audio file." +], +"type": "string" +}, +"bucketUri": { +"description": "Required. The Cloud Storage bucket containing source objects.", +"type": "string" +}, +"customMetadataKeys": { +"description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadataBucketUri": { +"description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig": { +"description": "Configuration for processing transcript objects.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", +"properties": { +"medium": { +"description": "Required. The medium transcript objects represent.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IngestConversationsResponse": { +"description": "The response to an IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1IngestConversationsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata": { +"description": "Metadata for initializing a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", +"description": "Output only. The original request for initialization.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest": { +"description": "The request to initialize a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudContactcenterinsightsV1EncryptionSpec", +"description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse": { +"description": "The response to initialize a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Intent": { +"description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1Intent", +"properties": { +"displayName": { +"description": "The human-readable name of the intent.", +"type": "string" +}, +"id": { +"description": "The unique identifier of the intent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IntentMatchData": { +"description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", +"id": "GoogleCloudContactcenterinsightsV1IntentMatchData", +"properties": { +"intentUniqueId": { +"description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1InterruptionData": { +"description": "The data for an interruption annotation.", +"id": "GoogleCloudContactcenterinsightsV1InterruptionData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Issue": { +"description": "The issue resource.", +"id": "GoogleCloudContactcenterinsightsV1Issue", +"properties": { +"createTime": { +"description": "Output only. The time at which this issue was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayDescription": { +"description": "Representative description of the issue.", +"type": "string" +}, +"displayName": { +"description": "The representative name for the issue.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", +"type": "string" +}, +"sampleUtterances": { +"description": "Output only. Resource names of the sample representative utterances that match to this issue.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. The most recent time that this issue was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueAssignment": { +"description": "Information about the issue.", +"id": "GoogleCloudContactcenterinsightsV1IssueAssignment", +"properties": { +"displayName": { +"description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", +"type": "string" +}, +"issue": { +"description": "Resource name of the assigned issue.", +"type": "string" +}, +"score": { +"description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueMatchData": { +"description": "The data for an issue match annotation.", +"id": "GoogleCloudContactcenterinsightsV1IssueMatchData", +"properties": { +"issueAssignment": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment", +"description": "Information about the issue's assignment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueModel": { +"description": "The issue model resource.", +"id": "GoogleCloudContactcenterinsightsV1IssueModel", +"properties": { +"createTime": { +"description": "Output only. The time at which this issue model was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The representative name for the issue model.", +"type": "string" +}, +"inputDataConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", +"description": "Configs for the input data that used to create the issue model." +}, +"issueCount": { +"description": "Output only. Number of issues in this issue model.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Language of the model.", +"type": "string" +}, +"modelType": { +"description": "Type of the model.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"TYPE_V1", +"TYPE_V2" +], +"enumDescriptions": [ +"Unspecified model type.", +"Type V1.", +"Type V2." +], +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", +"type": "string" +}, +"state": { +"description": "Output only. State of the model.", +"enum": [ +"STATE_UNSPECIFIED", +"UNDEPLOYED", +"DEPLOYING", +"DEPLOYED", +"UNDEPLOYING", +"DELETING" +], +"enumDescriptions": [ +"Unspecified.", +"Model is not deployed but is ready to deploy.", +"Model is being deployed.", +"Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", +"Model is being undeployed.", +"Model is being deleted." +], +"readOnly": true, +"type": "string" +}, +"trainingStats": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", +"description": "Output only. Immutable. The issue model's label statistics on its training data.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The most recent time at which the issue model was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig": { +"description": "Configs for the input data used to create the issue model.", +"id": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", +"properties": { +"filter": { +"description": "A filter to reduce the conversations used for training the model to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", +"type": "string" +}, +"medium": { +"deprecated": true, +"description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +}, +"trainingConversationsCount": { +"description": "Output only. Number of conversations used in training. Output only.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueModelLabelStats": { +"description": "Aggregated statistics about an issue model.", +"id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", +"properties": { +"analyzedConversationsCount": { +"description": "Number of conversations the issue model has analyzed at this point in time.", +"format": "int64", +"type": "string" +}, +"issueStats": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" +}, +"description": "Statistics on each issue. Key is the issue's resource name.", +"type": "object" +}, +"unclassifiedConversationsCount": { +"description": "Number of analyzed conversations for which no issue was applicable at this point in time.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats": { +"description": "Aggregated statistics about an issue.", +"id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats", +"properties": { +"displayName": { +"description": "Display name of the issue.", +"type": "string" +}, +"issue": { +"description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", +"type": "string" +}, +"labeledConversationsCount": { +"description": "Number of conversations attached to the issue at this point in time.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1IssueModelResult": { +"description": "Issue Modeling result on a conversation.", +"id": "GoogleCloudContactcenterinsightsV1IssueModelResult", +"properties": { +"issueModel": { +"description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", +"type": "string" +}, +"issues": { +"description": "All the matched issues.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse": { +"description": "The response for listing all feedback labels.", +"id": "GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse", +"properties": { +"feedbackLabels": { +"description": "The feedback labels that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListAnalysesResponse": { +"description": "The response to list analyses.", +"id": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse", +"properties": { +"analyses": { +"description": "The analyses that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1Analysis" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse": { +"description": "The response of listing views.", +"id": "GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse", +"properties": { +"analysisRules": { +"description": "The analysis_rule that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListConversationsResponse": { +"description": "The response of listing conversations.", +"id": "GoogleCloudContactcenterinsightsV1ListConversationsResponse", +"properties": { +"conversations": { +"description": "The conversations that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token which can be sent as `page_token` to retrieve the next page. If this field is set, it means there is another page available. If it is not set, it means no other pages are available.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse": { +"description": "The response for listing feedback labels.", +"id": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse", +"properties": { +"feedbackLabels": { +"description": "The feedback labels that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The next page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListIssueModelsResponse": { +"description": "The response of listing issue models.", +"id": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse", +"properties": { +"issueModels": { +"description": "The issue models that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1IssueModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListIssuesResponse": { +"description": "The response of listing issues.", +"id": "GoogleCloudContactcenterinsightsV1ListIssuesResponse", +"properties": { +"issues": { +"description": "The issues that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1Issue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse": { +"description": "The response of listing phrase matchers.", +"id": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse", +"properties": { +"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" +}, +"phraseMatchers": { +"description": "The phrase matchers that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse": { +"description": "The response from a ListQaQuestions request.", +"id": "GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse", +"properties": { +"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" +}, +"qaQuestions": { +"description": "The QaQuestions under the parent.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse": { +"description": "The response from a ListQaScorecardRevisions request.", +"id": "GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse", +"properties": { +"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" +}, +"qaScorecardRevisions": { +"description": "The QaScorecards under the parent.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse": { +"description": "The response from a ListQaScorecards request.", +"id": "GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse", +"properties": { +"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" +}, +"qaScorecards": { +"description": "The QaScorecards under the parent.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1ListViewsResponse": { +"description": "The response of listing views.", +"id": "GoogleCloudContactcenterinsightsV1ListViewsResponse", +"properties": { +"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" +}, +"views": { +"description": "The views that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1View" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1PhraseMatchData": { +"description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", +"id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", +"properties": { +"displayName": { +"description": "The human-readable name of the phrase matcher.", +"type": "string" +}, +"phraseMatcher": { +"description": "The unique identifier (the resource name) of the phrase matcher.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1PhraseMatchRule": { +"description": "The data for a phrase match rule.", +"id": "GoogleCloudContactcenterinsightsV1PhraseMatchRule", +"properties": { +"config": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", +"description": "Provides additional information about the rule that specifies how to apply the rule." +}, +"negated": { +"description": "Specifies whether the phrase must be missing from the transcript segment or present in the transcript segment.", +"type": "boolean" +}, +"query": { +"description": "Required. The phrase to be matched.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig": { +"description": "Configuration information of a phrase match rule.", +"id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", +"properties": { +"exactMatchConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", +"description": "The configuration for the exact match rule." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup": { +"description": "A message representing a rule in the phrase matcher.", +"id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup", +"properties": { +"phraseMatchRules": { +"description": "A list of phrase match rules that are included in this group.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRule" +}, +"type": "array" +}, +"type": { +"description": "Required. The type of this phrase match rule group.", +"enum": [ +"PHRASE_MATCH_RULE_GROUP_TYPE_UNSPECIFIED", +"ALL_OF", +"ANY_OF" +], +"enumDescriptions": [ +"Unspecified.", +"Must meet all phrase match rules or there is no match.", +"If any of the phrase match rules are met, there is a match." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1PhraseMatcher": { +"description": "The phrase matcher resource.", +"id": "GoogleCloudContactcenterinsightsV1PhraseMatcher", +"properties": { +"activationUpdateTime": { +"description": "Output only. The most recent time at which the activation status was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"active": { +"description": "Applies the phrase matcher only when it is active.", +"type": "boolean" +}, +"displayName": { +"description": "The human-readable name of the phrase matcher.", +"type": "string" +}, +"name": { +"description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", +"type": "string" +}, +"phraseMatchRuleGroups": { +"description": "A list of phase match rule groups that are included in this matcher.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup" +}, +"type": "array" +}, +"revisionCreateTime": { +"description": "Output only. The timestamp of when the revision was created. It is also the create time when a new matcher is added.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the phrase matcher. A new revision is committed whenever the matcher is changed, except when it is activated or deactivated. A server generated random ID will be used. Example: locations/global/phraseMatchers/my-first-matcher@1234567", +"readOnly": true, +"type": "string" +}, +"roleMatch": { +"description": "The role whose utterances the phrase matcher should be matched against. If the role is ROLE_UNSPECIFIED it will be matched against any utterances in the transcript.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER", +"ANY_AGENT" +], +"enumDescriptions": [ +"Participant's role is not set.", +"Participant is a human agent.", +"Participant is an automated agent.", +"Participant is an end user who conversed with the contact center.", +"Participant is either a human or automated agent." +], +"type": "string" +}, +"type": { +"description": "Required. The type of this phrase matcher.", +"enum": [ +"PHRASE_MATCHER_TYPE_UNSPECIFIED", +"ALL_OF", +"ANY_OF" +], +"enumDescriptions": [ +"Unspecified.", +"Must meet all phrase match rule groups or there is no match.", +"If any of the phrase match rule groups are met, there is a match." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the phrase matcher was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionTag": { +"description": "The customized version tag to use for the phrase matcher. If not specified, it will default to `revision_id`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaAnswer": { +"description": "An answer to a QaQuestion.", +"id": "GoogleCloudContactcenterinsightsV1QaAnswer", +"properties": { +"answerSources": { +"description": "List of all individual answers given to the question.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource" +}, +"type": "array" +}, +"answerValue": { +"$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", +"description": "The main answer value, incorporating any manual edits if they exist." +}, +"conversation": { +"description": "The conversation the answer applies to.", +"type": "string" +}, +"qaQuestion": { +"description": "The QaQuestion answered by this answer.", +"type": "string" +}, +"questionBody": { +"description": "Question text. E.g., \"Did the agent greet the customer?\"", +"type": "string" +}, +"tags": { +"description": "User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource": { +"description": "A question may have multiple answers from varying sources, one of which becomes the \"main\" answer above. AnswerSource represents each individual answer.", +"id": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource", +"properties": { +"answerValue": { +"$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", +"description": "The answer value from this source." +}, +"sourceType": { +"description": "What created the answer.", +"enum": [ +"SOURCE_TYPE_UNSPECIFIED", +"SYSTEM_GENERATED", +"MANUAL_EDIT" +], +"enumDescriptions": [ +"Source type is unspecified.", +"Answer was system-generated; created during an Insights analysis.", +"Answer was created by a human via manual edit." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue": { +"description": "Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question.", +"id": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", +"properties": { +"boolValue": { +"description": "Boolean value.", +"type": "boolean" +}, +"key": { +"description": "A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key.", +"type": "string" +}, +"naValue": { +"description": "A value of \"Not Applicable (N/A)\". Should only ever be `true`.", +"type": "boolean" +}, +"normalizedScore": { +"description": "Output only. Normalized score of the questions. Calculated as score / potential_score.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"numValue": { +"description": "Numerical value.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "Output only. The maximum potential score of the question.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"score": { +"description": "Output only. Numerical score of the answer.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"strValue": { +"description": "String value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaQuestion": { +"description": "A single question to be scored by the Insights QA feature.", +"id": "GoogleCloudContactcenterinsightsV1QaQuestion", +"properties": { +"abbreviation": { +"description": "Short, descriptive string, used in the UI where it's not practical to display the full question body. E.g., \"Greeting\".", +"type": "string" +}, +"answerChoices": { +"description": "A list of valid answers to the question, which the LLM must choose from.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice" +}, +"type": "array" +}, +"answerInstructions": { +"description": "Instructions describing how to determine the answer.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which this question was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"metrics": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestionMetrics", +"description": "Metrics of the underlying tuned LLM over a holdout/test set while fine tuning the underlying LLM for the given question. This field will only be populated if and only if the question is part of a scorecard revision that has been tuned." +}, +"name": { +"description": "Identifier. The resource name of the question. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}/qaQuestions/{qa_question}", +"type": "string" +}, +"order": { +"description": "Defines the order of the question within its parent scorecard revision.", +"format": "int32", +"type": "integer" +}, +"questionBody": { +"description": "Question text. E.g., \"Did the agent greet the customer?\"", +"type": "string" +}, +"tags": { +"description": "User-defined list of arbitrary tags for the question. Used for grouping/organization and for weighting the score of each question.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tuningMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata", +"description": "Metadata about the tuning operation for the question.This field will only be populated if and only if the question is part of a scorecard revision that has been tuned." +}, +"updateTime": { +"description": "Output only. The most recent time at which the question was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice": { +"description": "Message representing a possible answer to the question.", +"id": "GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice", +"properties": { +"boolValue": { +"description": "Boolean value.", +"type": "boolean" +}, +"key": { +"description": "A short string used as an identifier.", +"type": "string" +}, +"naValue": { +"description": "A value of \"Not Applicable (N/A)\". If provided, this field may only be set to `true`. If a question receives this answer, it will be excluded from any score calculations.", +"type": "boolean" +}, +"numValue": { +"description": "Numerical value.", +"format": "double", +"type": "number" +}, +"score": { +"description": "Numerical score of the answer, used for generating the overall score of a QaScorecardResult. If the answer uses na_value, this field is unused.", +"format": "double", +"type": "number" +}, +"strValue": { +"description": "String value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaQuestionMetrics": { +"description": "A wrapper representing metrics calculated against a test-set on a LLM that was fine tuned for this question.", +"id": "GoogleCloudContactcenterinsightsV1QaQuestionMetrics", +"properties": { +"accuracy": { +"description": "Output only. Accuracy of the model. Measures the percentage of correct answers the model gave on the test set.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata": { +"description": "Metadata about the tuning operation for the question. Will only be set if a scorecard containing this question has been tuned.", +"id": "GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata", +"properties": { +"datasetValidationWarnings": { +"description": "A list of any applicable data validation warnings about the question's feedback labels.", +"items": { +"enum": [ +"DATASET_VALIDATION_WARNING_UNSPECIFIED", +"TOO_MANY_INVALID_FEEDBACK_LABELS", +"INSUFFICIENT_FEEDBACK_LABELS", +"INSUFFICIENT_FEEDBACK_LABELS_PER_ANSWER", +"ALL_FEEDBACK_LABELS_HAVE_THE_SAME_ANSWER" +], +"enumDescriptions": [ +"Unspecified data validation warning.", +"A non-trivial percentage of the feedback labels are invalid.", +"The quantity of valid feedback labels provided is less than the recommended minimum.", +"One or more of the answers have less than the recommended minimum of feedback labels.", +"All the labels in the dataset come from a single answer choice." +], +"type": "string" +}, +"type": "array" +}, +"totalValidLabelCount": { +"description": "Total number of valid labels provided for the question at the time of tuining.", +"format": "int64", +"type": "string" +}, +"tuningError": { +"description": "Error status of the tuning operation for the question. Will only be set if the tuning operation failed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaScorecard": { +"description": "A QaScorecard represents a collection of questions to be scored during analysis.", +"id": "GoogleCloudContactcenterinsightsV1QaScorecard", +"properties": { +"createTime": { +"description": "Output only. The time at which this scorecard was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A text description explaining the intent of the scorecard.", +"type": "string" +}, +"displayName": { +"description": "The user-specified display name of the scorecard.", +"type": "string" +}, +"name": { +"description": "Identifier. The scorecard name. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}", +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the scorecard was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaScorecardResult": { +"description": "The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score.", +"id": "GoogleCloudContactcenterinsightsV1QaScorecardResult", +"properties": { +"agentId": { +"description": "ID of the agent that handled the conversation.", +"type": "string" +}, +"conversation": { +"description": "The conversation scored by this result.", +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The name of the scorecard result. Format: projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result}", +"type": "string" +}, +"normalizedScore": { +"description": "The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", +"format": "double", +"type": "number" +}, +"qaAnswers": { +"description": "Set of QaAnswers represented in the result.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaAnswer" +}, +"type": "array" +}, +"qaScorecardRevision": { +"description": "The QaScorecardRevision scored by this result.", +"type": "string" +}, +"qaTagResults": { +"description": "Collection of tags and their scores.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult" +}, +"type": "array" +}, +"score": { +"description": "The overall numerical score of the result, incorporating any manual edits if they exist.", +"format": "double", +"type": "number" +}, +"scoreSources": { +"description": "List of all individual score sets.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult": { +"description": "Tags and their corresponding results.", +"id": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult", +"properties": { +"normalizedScore": { +"description": "The normalized score the tag applies to.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The potential score the tag applies to.", +"format": "double", +"type": "number" +}, +"score": { +"description": "The score the tag applies to.", +"format": "double", +"type": "number" +}, +"tag": { +"description": "The tag the score applies to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource": { +"description": "A scorecard result may have multiple sets of scores from varying sources, one of which becomes the \"main\" answer above. A ScoreSource represents each individual set of scores.", +"id": "GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource", +"properties": { +"normalizedScore": { +"description": "The normalized score, which is the score divided by the potential score.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", +"format": "double", +"type": "number" +}, +"qaTagResults": { +"description": "Collection of tags and their scores.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult" +}, +"type": "array" +}, +"score": { +"description": "The overall numerical score of the result.", +"format": "double", +"type": "number" +}, +"sourceType": { +"description": "What created the score.", +"enum": [ +"SOURCE_TYPE_UNSPECIFIED", +"SYSTEM_GENERATED_ONLY", +"INCLUDES_MANUAL_EDITS" +], +"enumDescriptions": [ +"Source type is unspecified.", +"Score is derived only from system-generated answers.", +"Score is derived from both system-generated answers, and includes any manual edits if they exist." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QaScorecardRevision": { +"description": "A revision of a QaScorecard. Modifying published scorecard fields would invalidate existing scorecard results \u2014 the questions may have changed, or the score weighting will make existing scores impossible to understand. So changes must create a new revision, rather than modifying the existing resource.", +"id": "GoogleCloudContactcenterinsightsV1QaScorecardRevision", +"properties": { +"alternateIds": { +"description": "Output only. Alternative IDs for this revision of the scorecard, e.g., `latest`.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The name of the scorecard revision. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}", +"type": "string" +}, +"snapshot": { +"$ref": "GoogleCloudContactcenterinsightsV1QaScorecard", +"description": "The snapshot of the scorecard at the time of this revision's creation." +}, +"state": { +"description": "Output only. State of the scorecard revision, indicating whether it's ready to be used in analysis.", +"enum": [ +"STATE_UNSPECIFIED", +"EDITABLE", +"TRAINING", +"TRAINING_FAILED", +"READY", +"DELETING", +"TRAINING_CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"The scorecard revision can be edited.", +"Scorecard model training is in progress.", +"Scorecard revision model training failed.", +"The revision can be used in analysis.", +"Scorecard is being deleted.", +"Scorecard model training was explicitly cancelled by the user." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsMetadata": { +"description": "The metadata from querying metrics.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsMetadata", +"properties": { +"resultIsTruncated": { +"description": "Whether the result rows were truncated because the result row size is too large to materialize.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsRequest": { +"description": "The request for querying metrics.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest", +"properties": { +"dimensions": { +"description": "The dimensions that determine the grouping key for the query. Defaults to no dimension if this field is unspecified. If a dimension is specified, its key must also be specified. Each dimension's key must be unique. If a time granularity is also specified, metric values in the dimension will be bucketed by this granularity. Up to one dimension is supported for now.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1Dimension" +}, +"type": "array" +}, +"filter": { +"description": "Required. Filter to select a subset of conversations to compute the metrics. Must specify a window of the conversation create time to compute the metrics. The returned metrics will be from the range [DATE(starting create time), DATE(ending create time)). ", +"type": "string" +}, +"measureMask": { +"description": "Measures to return. Defaults to all measures if this field is unspecified. A valid mask should traverse from the `measure` field from the response. For example, a path from a measure mask to get the conversation count is \"conversation_measure.count\".", +"format": "google-fieldmask", +"type": "string" +}, +"timeGranularity": { +"description": "The time granularity of each data point in the time series. Defaults to NONE if this field is unspecified.", +"enum": [ +"TIME_GRANULARITY_UNSPECIFIED", +"NONE", +"DAILY", +"HOURLY", +"PER_MINUTE", +"PER_5_MINUTES", +"MONTHLY" +], +"enumDescriptions": [ +"The time granularity is unspecified and will default to NONE.", +"No time granularity. The response won't contain a time series. This is the default value if no time granularity is specified.", +"Data points in the time series will aggregate at a daily granularity. 1 day means [midnight to midnight).", +"Data points in the time series will aggregate at a daily granularity. 1 HOUR means [01:00 to 02:00).", +"Data points in the time series will aggregate at a daily granularity. PER_MINUTE means [01:00 to 01:01).", +"Data points in the time series will aggregate at a 1 minute granularity. PER_5_MINUTES means [01:00 to 01:05).", +"Data points in the time series will aggregate at a monthly granularity. 1 MONTH means [01st of the month to 1st of the next month)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponse": { +"description": "The response for querying metrics.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponse", +"properties": { +"location": { +"description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", +"type": "string" +}, +"macroAverageSlice": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice", +"description": "The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension." +}, +"slices": { +"description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice" +}, +"type": "array" +}, +"updateTime": { +"description": "The metrics last update time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice": { +"description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -> dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2]", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice", +"properties": { +"dimensions": { +"description": "A unique combination of dimensions that this slice represents.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1Dimension" +}, +"type": "array" +}, +"timeSeries": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries", +"description": "A time series of metric values. This is only populated if the request specifies a time granularity other than NONE." +}, +"total": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint", +"description": "The total metric value. The interval of this data point is [starting create time, ending create time) from the request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint": { +"description": "A data point contains the metric values mapped to an interval.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint", +"properties": { +"conversationMeasure": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure", +"description": "The measure related to conversations." +}, +"interval": { +"$ref": "GoogleTypeInterval", +"description": "The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request)." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure": { +"description": "The measure related to conversations.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure", +"properties": { +"averageAgentSentimentScore": { +"description": "The average agent's sentiment score.", +"format": "float", +"type": "number" +}, +"averageClientSentimentScore": { +"description": "The average client's sentiment score.", +"format": "float", +"type": "number" +}, +"averageCustomerSatisfactionRating": { +"description": "The average customer satisfaction rating.", +"format": "double", +"type": "number" +}, +"averageDuration": { +"description": "The average duration.", +"format": "google-duration", +"type": "string" +}, +"averageQaNormalizedScore": { +"description": "Average QA normalized score. Will exclude 0's in average calculation.", +"format": "double", +"type": "number" +}, +"averageQaQuestionNormalizedScore": { +"description": "Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID.", +"format": "double", +"type": "number" +}, +"averageSilencePercentage": { +"description": "The average silence percentage.", +"format": "float", +"type": "number" +}, +"averageTurnCount": { +"description": "The average turn count.", +"format": "float", +"type": "number" +}, +"conversationCount": { +"description": "The conversation count.", +"format": "int32", +"type": "integer" +}, +"qaTagScores": { +"description": "Average QA normalized score for all the tags.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore": { +"description": "Average QA normalized score for the tag.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore", +"properties": { +"averageTagNormalizedScore": { +"description": "Average tag normalized score per tag.", +"format": "double", +"type": "number" +}, +"tag": { +"description": "Tag name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries": { +"description": "A time series of metric values.", +"id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries", +"properties": { +"dataPoints": { +"description": "The data points that make up the time series .", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1RedactionConfig": { +"description": "DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist.", +"id": "GoogleCloudContactcenterinsightsV1RedactionConfig", +"properties": { +"deidentifyTemplate": { +"description": "The fully-qualified DLP deidentify template resource name. Format: `projects/{project}/deidentifyTemplates/{template}`", +"type": "string" +}, +"inspectTemplate": { +"description": "The fully-qualified DLP inspect template resource name. Format: `projects/{project}/locations/{location}/inspectTemplates/{template}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1RuntimeAnnotation": { +"description": "An annotation that was generated during the customer and agent interaction.", +"id": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation", +"properties": { +"annotationId": { +"description": "The unique identifier of the annotation. Format: projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation}", +"type": "string" +}, +"answerFeedback": { +"$ref": "GoogleCloudContactcenterinsightsV1AnswerFeedback", +"description": "The feedback that the customer has about the answer in `data`." +}, +"articleSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", +"description": "Agent Assist Article Suggestion data." +}, +"conversationSummarizationSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", +"description": "Conversation summarization suggestion data." +}, +"createTime": { +"description": "The time at which this annotation was created.", +"format": "google-datetime", +"type": "string" +}, +"dialogflowInteraction": { +"$ref": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", +"description": "Dialogflow interaction data." +}, +"endBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation ends, inclusive." +}, +"faqAnswer": { +"$ref": "GoogleCloudContactcenterinsightsV1FaqAnswerData", +"description": "Agent Assist FAQ answer data." +}, +"smartComposeSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData", +"description": "Agent Assist Smart Compose suggestion data." +}, +"smartReply": { +"$ref": "GoogleCloudContactcenterinsightsV1SmartReplyData", +"description": "Agent Assist Smart Reply data." +}, +"startBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation starts, inclusive." +}, +"userInput": { +"$ref": "GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput", +"description": "Explicit input used for generating the answer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput": { +"description": "Explicit input used for generating the answer", +"id": "GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput", +"properties": { +"generatorName": { +"description": "The resource name of associated generator. Format: `projects//locations//generators/`", +"type": "string" +}, +"query": { +"description": "Query text. Article Search uses this to store the input query used to generate the search results.", +"type": "string" +}, +"querySource": { +"description": "Query source for the answer.", +"enum": [ +"QUERY_SOURCE_UNSPECIFIED", +"AGENT_QUERY", +"SUGGESTED_QUERY" +], +"enumDescriptions": [ +"Unknown query source.", +"The query is from agents.", +"The query is a query from previous suggestions, e.g. from a preceding SuggestKnowledgeAssist response." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SentimentData": { +"description": "The data for a sentiment annotation.", +"id": "GoogleCloudContactcenterinsightsV1SentimentData", +"properties": { +"magnitude": { +"description": "A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score.", +"format": "float", +"type": "number" +}, +"score": { +"description": "The sentiment score between -1.0 (negative) and 1.0 (positive).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1Settings": { +"description": "The CCAI Insights project wide settings. Use these settings to configure the behavior of Insights. View these settings with [`getsettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/getSettings) and change the settings with [`updateSettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/updateSettings).", +"id": "GoogleCloudContactcenterinsightsV1Settings", +"properties": { +"analysisConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig", +"description": "Default analysis settings." +}, +"conversationTtl": { +"description": "The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted.", +"format": "google-duration", +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which the settings was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to \"en-US\" if it is neither specified on the segment nor here.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings", +"type": "string" +}, +"pubsubNotificationSettings": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * \"all-triggers\": Notify each time any of the supported triggers occurs. * \"create-analysis\": Notify each time an analysis is created. * \"create-conversation\": Notify each time a conversation is created. * \"export-insights-data\": Notify each time an export is complete. * \"ingest-conversations\": Notify each time an IngestConversations LRO is complete. * \"update-conversation\": Notify each time a conversation is updated via UpdateConversation. * \"upload-conversation\": Notify when an UploadConversation LRO is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}", +"type": "object" +}, +"redactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", +"description": "Default DLP redaction resources to be applied while ingesting conversations. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform." +}, +"speechConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1SpeechConfig", +"description": "Optional. Default Speech-to-Text resources to use while ingesting audio files. Optional, CCAI Insights will create a default if not provided. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform." +}, +"updateTime": { +"description": "Output only. The time at which the settings were last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig": { +"description": "Default configuration when creating Analyses in Insights.", +"id": "GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig", +"properties": { +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", +"description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." +}, +"runtimeIntegrationAnalysisPercentage": { +"description": "Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100].", +"format": "double", +"type": "number" +}, +"uploadConversationAnalysisPercentage": { +"description": "Percentage of conversations created using the UploadConversation endpoint to analyze automatically, between [0, 100].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SilenceData": { +"description": "The data for a silence annotation.", +"id": "GoogleCloudContactcenterinsightsV1SilenceData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData": { +"description": "Agent Assist Smart Compose suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "double", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Smart Compose suggestion and the document from which it originates.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"suggestion": { +"description": "The content of the suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SmartReplyData": { +"description": "Agent Assist Smart Reply data.", +"id": "GoogleCloudContactcenterinsightsV1SmartReplyData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "double", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Smart Reply and the document from which it originates.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"reply": { +"description": "The content of the reply.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1SpeechConfig": { +"description": "Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint.", +"id": "GoogleCloudContactcenterinsightsV1SpeechConfig", +"properties": { +"speechRecognizer": { +"description": "The fully-qualified Speech Recognizer resource name. Format: `projects/{project_id}/locations/{location}/recognizer/{recognizer}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest": { +"description": "Request for TuneQaScorecardRevision endpoint.", +"id": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest", +"properties": { +"filter": { +"description": "Required. Filter for selecting the feedback labels that needs to be used for training. This filter can be used to limit the feedback labels used for tuning to a feedback labels created or updated for a specific time-window etc.", +"type": "string" +}, +"validateOnly": { +"description": "Optional. Run in validate only mode, no fine tuning will actually run. Data quality validations like training data distributions will run. Even when set to false, the data quality validations will still run but once the validations complete we will proceed with the fine tune, if applicable.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata": { +"description": "Metadata for undeploying an issue model.", +"id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest", +"description": "The original request for undeployment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest": { +"description": "The request to undeploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest", +"properties": { +"name": { +"description": "Required. The issue model to undeploy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse": { +"description": "The response to undeploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest": { +"description": "The request to undeploy a QaScorecardRevision", +"id": "GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UploadConversationMetadata": { +"description": "The metadata for an `UploadConversation` operation.", +"id": "GoogleCloudContactcenterinsightsV1UploadConversationMetadata", +"properties": { +"analysisOperation": { +"description": "Output only. The operation name for a successfully created analysis operation, if any.", +"readOnly": true, +"type": "string" +}, +"appliedRedactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", +"description": "Output only. The redaction config applied to the uploaded conversation.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1UploadConversationRequest", +"description": "Output only. The original request.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1UploadConversationRequest": { +"description": "Request to upload a conversation.", +"id": "GoogleCloudContactcenterinsightsV1UploadConversationRequest", +"properties": { +"conversation": { +"$ref": "GoogleCloudContactcenterinsightsV1Conversation", +"description": "Required. The conversation resource to create." +}, +"conversationId": { +"description": "Optional. A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the conversation.", +"type": "string" +}, +"redactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", +"description": "Optional. DLP settings for transcript redaction. Will default to the config specified in Settings." +}, +"speechConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1SpeechConfig", +"description": "Optional. Speech-to-Text configuration. Will default to the config specified in Settings." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1View": { +"description": "The View resource.", +"id": "GoogleCloudContactcenterinsightsV1View", +"properties": { +"createTime": { +"description": "Output only. The time at which this view was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The human-readable display name of the view.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the view was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"value": { +"description": "A filter to reduce conversation results to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Analysis": { +"description": "The analysis resource.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Analysis", +"properties": { +"analysisResult": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnalysisResult", +"description": "Output only. The result of the analysis, which is populated when the analysis finishes.", +"readOnly": true +}, +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector", +"description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." +}, +"createTime": { +"description": "Output only. The time at which the analysis was created, which occurs when the long-running operation completes.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}", +"type": "string" +}, +"requestTime": { +"description": "Output only. The time at which the analysis was requested.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnalysisResult": { +"description": "The result of an analysis.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnalysisResult", +"properties": { +"callAnalysisMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata", +"description": "Call-specific metadata created by the analysis." +}, +"endTime": { +"description": "The time at which the analysis ended.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata": { +"description": "Call-specific metadata created during analysis.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata", +"properties": { +"annotations": { +"description": "A list of call annotations that apply to this call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1CallAnnotation" +}, +"type": "array" +}, +"entities": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Entity" +}, +"description": "All the entities in the call.", +"type": "object" +}, +"intents": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Intent" +}, +"description": "All the matched intents in the call.", +"type": "object" +}, +"issueModelResult": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult", +"description": "Overall conversation-level issue modeling result." +}, +"phraseMatchers": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData" +}, +"description": "All the matched phrase matchers in the call.", +"type": "object" +}, +"qaScorecardResults": { +"description": "Results of scoring QaScorecards.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult" +}, +"type": "array" +}, +"sentiments": { +"description": "Overall conversation-level sentiment for each channel of the call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment" +}, +"type": "array" +}, +"silence": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence", +"description": "Overall conversation-level silence during the call." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary": { +"description": "A point in a conversation that marks the start or the end of an annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary", +"properties": { +"transcriptIndex": { +"description": "The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero.", +"format": "int32", +"type": "integer" +}, +"wordIndex": { +"description": "The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector": { +"description": "Selector of all available annotators and phrase matchers to run.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector", +"properties": { +"issueModels": { +"description": "The issue model to run. If not provided, the most recently deployed topic model will be used. The provided issue model will only be used for inference if the issue model is deployed and if run_issue_model_annotator is set to true. If more than one issue model is provided, only the first provided issue model will be used for inference.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phraseMatchers": { +"description": "The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", +"items": { +"type": "string" +}, +"type": "array" +}, +"qaConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig", +"description": "Configuration for the QA annotator." +}, +"runEntityAnnotator": { +"description": "Whether to run the entity annotator.", +"type": "boolean" +}, +"runIntentAnnotator": { +"description": "Whether to run the intent annotator.", +"type": "boolean" +}, +"runInterruptionAnnotator": { +"description": "Whether to run the interruption annotator.", +"type": "boolean" +}, +"runIssueModelAnnotator": { +"description": "Whether to run the issue model annotator. A model should have already been deployed for this to take effect.", +"type": "boolean" +}, +"runPhraseMatcherAnnotator": { +"description": "Whether to run the active phrase matcher annotator(s).", +"type": "boolean" +}, +"runQaAnnotator": { +"description": "Whether to run the QA annotator.", +"type": "boolean" +}, +"runSentimentAnnotator": { +"description": "Whether to run the sentiment annotator.", +"type": "boolean" +}, +"runSilenceAnnotator": { +"description": "Whether to run the silence annotator.", +"type": "boolean" +}, +"runSummarizationAnnotator": { +"description": "Whether to run the summarization annotator.", +"type": "boolean" +}, +"summarizationConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig", +"description": "Configuration for the summarization annotator." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig": { +"description": "Configuration for the QA feature.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig", +"properties": { +"scorecardList": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList", +"description": "A manual list of scorecards to score." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList": { +"description": "Container for a list of scorecards.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList", +"properties": { +"qaScorecardRevisions": { +"description": "List of QaScorecardRevisions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig": { +"description": "Configuration for summarization.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig", +"properties": { +"conversationProfile": { +"description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", +"type": "string" +}, +"summarizationModel": { +"description": "Default summarization model to be used.", +"enum": [ +"SUMMARIZATION_MODEL_UNSPECIFIED", +"BASELINE_MODEL", +"BASELINE_MODEL_V2_0" +], +"enumDescriptions": [ +"Unspecified summarization model.", +"The CCAI baseline model.", +"The CCAI baseline model, V2.0." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback": { +"description": "The feedback that the customer has about a certain answer in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback", +"properties": { +"clicked": { +"description": "Indicates whether an answer or item was clicked by the human agent.", +"type": "boolean" +}, +"correctnessLevel": { +"description": "The correctness level of an answer.", +"enum": [ +"CORRECTNESS_LEVEL_UNSPECIFIED", +"NOT_CORRECT", +"PARTIALLY_CORRECT", +"FULLY_CORRECT" +], +"enumDescriptions": [ +"Correctness level unspecified.", +"Answer is totally wrong.", +"Answer is partially correct.", +"Answer is fully correct." +], +"type": "string" +}, +"displayed": { +"description": "Indicates whether an answer or item was displayed to the human agent in the agent desktop UI.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData": { +"description": "Agent Assist Article Suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this article is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Article Suggestion and the document that it originates from.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"source": { +"description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}", +"type": "string" +}, +"title": { +"description": "Article title.", +"type": "string" +}, +"uri": { +"description": "Article URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata": { +"description": "The metadata for a bulk analyze conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata", +"properties": { +"completedAnalysesCount": { +"description": "The number of requested analyses that have completed successfully so far.", +"format": "int32", +"type": "integer" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"failedAnalysesCount": { +"description": "The number of requested analyses that have failed so far.", +"format": "int32", +"type": "integer" +}, +"partialErrors": { +"description": "Output only. Partial errors during bulk analyze operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest", +"description": "The original request for bulk analyze." +}, +"totalRequestedAnalysesCount": { +"description": "Total number of analyses requested. Computed by the number of conversations returned by `filter` multiplied by `analysis_percentage` in the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest": { +"description": "The request to analyze conversations in bulk.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest", +"properties": { +"analysisPercentage": { +"description": "Required. Percentage of selected conversation to analyze, between [0, 100].", +"format": "float", +"type": "number" +}, +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector", +"description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." +}, +"filter": { +"description": "Required. Filter used to select the subset of conversations to analyze.", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource to create analyses in.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse": { +"description": "The response for a bulk analyze conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse", +"properties": { +"failedAnalysisCount": { +"description": "Count of failed analyses.", +"format": "int32", +"type": "integer" +}, +"successfulAnalysisCount": { +"description": "Count of successful analyses.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata": { +"description": "The metadata for a bulk delete conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during bulk delete conversations operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest", +"description": "The original request for bulk delete." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest": { +"description": "The request to delete conversations in bulk.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest", +"properties": { +"filter": { +"description": "Filter used to select the subset of conversations to delete.", +"type": "string" +}, +"force": { +"description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", +"type": "boolean" +}, +"maxDeleteCount": { +"description": "Maximum number of conversations to delete.", +"format": "int32", +"type": "integer" +}, +"parent": { +"description": "Required. The parent resource to delete conversations from. Format: projects/{project}/locations/{location}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse": { +"description": "The response for a bulk delete conversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CallAnnotation": { +"description": "A piece of metadata that applies to a window of a call.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CallAnnotation", +"properties": { +"annotationEndBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation ends, inclusive." +}, +"annotationStartBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation starts, inclusive." +}, +"channelTag": { +"description": "The channel of the audio where the annotation occurs. For single-channel audio, this field is not populated.", +"format": "int32", +"type": "integer" +}, +"entityMentionData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1EntityMentionData", +"description": "Data specifying an entity mention." +}, +"holdData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1HoldData", +"description": "Data specifying a hold." +}, +"intentMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData", +"description": "Data specifying an intent match." +}, +"interruptionData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1InterruptionData", +"description": "Data specifying an interruption." +}, +"issueMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData", +"description": "Data specifying an issue match." +}, +"phraseMatchData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData", +"description": "Data specifying a phrase match." +}, +"sentimentData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"description": "Data specifying sentiment." +}, +"silenceData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SilenceData", +"description": "Data specifying silence." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Conversation": { +"description": "The conversation resource.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Conversation", +"properties": { +"agentId": { +"description": "An opaque, user-specified string representing the human agent who handled the conversation.", +"type": "string" +}, +"callMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata", +"description": "Call-specific metadata." +}, +"createTime": { +"description": "Output only. The time at which the conversation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource", +"description": "The source of the audio and transcription for the conversation." +}, +"dialogflowIntents": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent" +}, +"description": "Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}", +"readOnly": true, +"type": "object" +}, +"duration": { +"description": "Output only. The duration of the conversation.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry.", +"type": "object" +}, +"languageCode": { +"description": "A user-specified language code for the conversation.", +"type": "string" +}, +"latestAnalysis": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Analysis", +"description": "Output only. The conversation's latest analysis, if one exists.", +"readOnly": true +}, +"latestSummary": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData", +"description": "Output only. Latest summary of the conversation.", +"readOnly": true +}, +"medium": { +"description": "Immutable. The conversation medium, if unspecified will default to PHONE_CALL.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +}, +"metadataJson": { +"description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", +"type": "string" +}, +"obfuscatedUserId": { +"description": "Obfuscated user ID which the customer sent to us.", +"type": "string" +}, +"qualityMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata", +"description": "Conversation metadata related to quality management." +}, +"runtimeAnnotations": { +"description": "Output only. The annotations that were generated during the customer and agent interaction.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "The time at which the conversation started.", +"format": "google-datetime", +"type": "string" +}, +"transcript": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript", +"description": "Output only. The conversation transcript.", +"readOnly": true +}, +"ttl": { +"description": "Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time.", +"format": "google-duration", +"type": "string" +}, +"turnCount": { +"description": "Output only. The number of turns in the conversation.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"updateTime": { +"description": "Output only. The most recent time at which the conversation was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata": { +"description": "Call-specific metadata.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata", +"properties": { +"agentChannel": { +"description": "The audio channel that contains the agent.", +"format": "int32", +"type": "integer" +}, +"customerChannel": { +"description": "The audio channel that contains the customer.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource": { +"description": "The conversation source, which is a combination of transcript and audio.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource", +"properties": { +"dialogflowSource": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DialogflowSource", +"description": "The source when the conversation comes from Dialogflow." +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1GcsSource", +"description": "A Cloud Storage location specification for the audio and transcript." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment": { +"description": "One channel of conversation-level sentiment data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment", +"properties": { +"channelTag": { +"description": "The channel of the audio that the data applies to.", +"format": "int32", +"type": "integer" +}, +"sentimentData": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"description": "Data specifying sentiment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence": { +"description": "Conversation-level silence data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence", +"properties": { +"silenceDuration": { +"description": "Amount of time calculated to be in silence.", +"format": "google-duration", +"type": "string" +}, +"silencePercentage": { +"description": "Percentage of the total conversation spent in silence.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant": { +"description": "The call participant speaking for a given utterance.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant", +"properties": { +"dialogflowParticipant": { +"deprecated": true, +"description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", +"type": "string" +}, +"dialogflowParticipantName": { +"description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", +"type": "string" +}, +"obfuscatedExternalUserId": { +"description": "Obfuscated user ID from Dialogflow.", +"type": "string" +}, +"role": { +"description": "The role of the participant.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER", +"ANY_AGENT" +], +"enumDescriptions": [ +"Participant's role is not set.", +"Participant is a human agent.", +"Participant is an automated agent.", +"Participant is an end user who conversed with the contact center.", +"Participant is either a human or automated agent." +], +"type": "string" +}, +"userId": { +"description": "A user-specified ID representing the participant.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata": { +"description": "Conversation metadata related to quality management.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata", +"properties": { +"agentInfo": { +"description": "Information about agents involved in the call.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo" +}, +"type": "array" +}, +"customerSatisfactionRating": { +"description": "An arbitrary integer value indicating the customer's satisfaction rating.", +"format": "int32", +"type": "integer" +}, +"menuPath": { +"description": "An arbitrary string value specifying the menu path the customer took.", +"type": "string" +}, +"waitDuration": { +"description": "The amount of time the customer waited to connect with an agent.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo": { +"description": "Information about an agent involved in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo", +"properties": { +"agentId": { +"description": "A user-specified string representing the agent.", +"type": "string" +}, +"agentType": { +"description": "The agent type, e.g. HUMAN_AGENT.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER", +"ANY_AGENT" +], +"enumDescriptions": [ +"Participant's role is not set.", +"Participant is a human agent.", +"Participant is an automated agent.", +"Participant is an end user who conversed with the contact center.", +"Participant is either a human or automated agent." +], +"type": "string" +}, +"displayName": { +"description": "The agent's name.", +"type": "string" +}, +"dispositionCode": { +"description": "A user-provided string indicating the outcome of the agent's segment of the call.", +"type": "string" +}, +"location": { +"description": "The agent's location.", +"type": "string" +}, +"team": { +"deprecated": true, +"description": "A user-specified string representing the agent's team. Deprecated in favor of the `teams` field.", +"type": "string" +}, +"teams": { +"description": "User-specified strings representing the agent's teams.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData": { +"description": "Conversation summarization suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData", +"properties": { +"answerRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"confidence": { +"description": "The confidence score of the summarization.", +"format": "float", +"type": "number" +}, +"conversationModel": { +"description": "The name of the model that generates this summary. Format: projects/{project}/locations/{location}/conversationModels/{conversation_model}", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the summarization and the document from which it originates.", +"type": "object" +}, +"text": { +"description": "The summarization content that is concatenated into one string.", +"type": "string" +}, +"textSections": { +"additionalProperties": { +"type": "string" +}, +"description": "The summarization content that is divided into sections. The key is the section's name and the value is the section's content. There is no specific format for the key or value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript": { +"description": "A message representing the transcript of a conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript", +"properties": { +"transcriptSegments": { +"description": "A list of sequential transcript segments that comprise the conversation.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment": { +"description": "A segment of a full transcript.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment", +"properties": { +"channelTag": { +"description": "For conversations derived from multi-channel audio, this is the channel number corresponding to the audio from that channel. For audioChannelCount = N, its output values can range from '1' to 'N'. A channel tag of 0 indicates that the audio is mono.", +"format": "int32", +"type": "integer" +}, +"confidence": { +"description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.", +"format": "float", +"type": "number" +}, +"dialogflowSegmentMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", +"description": "CCAI metadata relating to the current transcript segment." +}, +"languageCode": { +"description": "The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", +"type": "string" +}, +"messageTime": { +"description": "The time that the message occurred, if provided.", +"format": "google-datetime", +"type": "string" +}, +"segmentParticipant": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant", +"description": "The participant of this segment." +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"description": "The sentiment for this transcript segment." +}, +"text": { +"description": "The text of this segment.", +"type": "string" +}, +"words": { +"description": "A list of the word-specific information for each word in the segment.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata": { +"description": "Metadata from Dialogflow relating to the current transcript segment.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", +"properties": { +"smartReplyAllowlistCovered": { +"description": "Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo": { +"description": "Word-level info for words in a transcript.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo", +"properties": { +"confidence": { +"description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A default value of 0.0 indicates that the value is unset.", +"format": "float", +"type": "number" +}, +"endOffset": { +"description": "Time offset of the end of this word relative to the beginning of the total conversation.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Time offset of the start of this word relative to the beginning of the total conversation.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word itself. Includes punctuation marks that surround the word.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata": { +"description": "Metadata for a create analysis operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata", +"properties": { +"annotatorSelector": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector", +"description": "Output only. The annotator selector used for the analysis (if any).", +"readOnly": true +}, +"conversation": { +"description": "Output only. The Conversation that this Analysis Operation belongs to.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CreateIssueMetadata": { +"description": "Metadata for creating an issue.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest", +"description": "The original request for creation." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata": { +"description": "Metadata for creating an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest", +"description": "The original request for creation." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest": { +"description": "The request to create an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest", +"properties": { +"issueModel": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", +"description": "Required. The issue model to create." +}, +"parent": { +"description": "Required. The parent resource of the issue model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest": { +"description": "The request to create an issue.", +"id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest", +"properties": { +"issue": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Issue", +"description": "Required. The values for the new issue." +}, +"parent": { +"description": "Required. The parent resource of the issue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata": { +"description": "Metadata for deleting an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest", +"description": "The original request for deletion." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest": { +"description": "The request to delete an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest", +"properties": { +"name": { +"description": "Required. The name of the issue model to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata": { +"description": "Metadata for deploying an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest", +"description": "The original request for deployment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest": { +"description": "The request to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest", +"properties": { +"name": { +"description": "Required. The issue model to deploy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse": { +"description": "The response to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent": { +"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent", +"properties": { +"displayName": { +"description": "The human-readable name of the intent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData": { +"description": "Dialogflow interaction data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData", +"properties": { +"confidence": { +"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"dialogflowIntentId": { +"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DialogflowSource": { +"description": "A Dialogflow source of conversation data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowSource", +"properties": { +"audioUri": { +"description": "Cloud Storage URI that points to a file that contains the conversation audio.", +"type": "string" +}, +"dialogflowConversation": { +"description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Dimension": { +"description": "A dimension determines the grouping key for the query. In SQL terms, these would be part of both the \"SELECT\" and \"GROUP BY\" clauses.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Dimension", +"properties": { +"agentDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata", +"description": "Output only. Metadata about the agent dimension.", +"readOnly": true +}, +"dimensionKey": { +"description": "The key of the dimension.", +"enum": [ +"DIMENSION_KEY_UNSPECIFIED", +"ISSUE", +"AGENT", +"AGENT_TEAM", +"QA_QUESTION_ID", +"QA_QUESTION_ANSWER_VALUE", +"CONVERSATION_PROFILE_ID" +], +"enumDescriptions": [ +"The key of the dimension is unspecified.", +"The dimension is keyed by issues.", +"The dimension is keyed by agents.", +"The dimension is keyed by agent teams.", +"The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", +"The dimension is keyed by QaQuestionIds-Answer value pairs. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing distribution of answers per question across different scorecard revisions.", +"The dimension is keyed by the conversation profile ID." +], +"type": "string" +}, +"issueDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata", +"description": "Output only. Metadata about the issue dimension.", +"readOnly": true +}, +"qaQuestionAnswerDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata", +"description": "Output only. Metadata about the QA question-answer dimension.", +"readOnly": true +}, +"qaQuestionDimensionMetadata": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata", +"description": "Output only. Metadata about the QA question dimension.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata": { +"description": "Metadata about the agent dimension.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata", +"properties": { +"agentDisplayName": { +"description": "Optional. The agent's name", +"type": "string" +}, +"agentId": { +"description": "Optional. A user-specified string representing the agent.", +"type": "string" +}, +"agentTeam": { +"description": "Optional. A user-specified string representing the agent's team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata": { +"description": "Metadata about the issue dimension.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata", +"properties": { +"issueDisplayName": { +"description": "The issue display name.", +"type": "string" +}, +"issueId": { +"description": "The issue ID.", +"type": "string" +}, +"issueModelId": { +"description": "The parent issue model ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata": { +"description": "Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata", +"properties": { +"answerValue": { +"description": "Optional. The full body of the question.", +"type": "string" +}, +"qaQuestionId": { +"description": "Optional. The QA question ID.", +"type": "string" +}, +"qaScorecardId": { +"description": "Optional. The QA scorecard ID.", +"type": "string" +}, +"questionBody": { +"description": "Optional. The full body of the question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata": { +"description": "Metadata about the QA question dimension.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata", +"properties": { +"qaQuestionId": { +"description": "Optional. The QA question ID.", +"type": "string" +}, +"qaScorecardId": { +"description": "Optional. The QA scorecard ID.", +"type": "string" +}, +"questionBody": { +"description": "Optional. The full body of the question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec": { +"description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", +"id": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", +"properties": { +"kmsKey": { +"description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Entity": { +"description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Entity", +"properties": { +"displayName": { +"description": "The representative name for the entity.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.", +"type": "object" +}, +"salience": { +"description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.", +"format": "float", +"type": "number" +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"description": "The aggregate sentiment expressed for this entity in the conversation." +}, +"type": { +"description": "The entity type.", +"enum": [ +"TYPE_UNSPECIFIED", +"PERSON", +"LOCATION", +"ORGANIZATION", +"EVENT", +"WORK_OF_ART", +"CONSUMER_GOOD", +"OTHER", +"PHONE_NUMBER", +"ADDRESS", +"DATE", +"NUMBER", +"PRICE" +], +"enumDescriptions": [ +"Unspecified.", +"Person.", +"Location.", +"Organization.", +"Event.", +"Artwork.", +"Consumer product.", +"Other types of entities.", +"Phone number. The metadata lists the phone number (formatted according to local convention), plus whichever additional elements appear in the text: * `number` - The actual number, broken down into sections according to local convention. * `national_prefix` - Country code, if detected. * `area_code` - Region or area code, if detected. * `extension` - Phone extension (to be dialed after connection), if detected.", +"Address. The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - Street number. * `locality` - City or town. * `street_name` - Street/route name, if detected. * `postal_code` - Postal code, if detected. * `country` - Country, if detected. * `broad_region` - Administrative area, such as the state, if detected. * `narrow_region` - Smaller administrative area, such as county, if detected. * `sublocality` - Used in Asian addresses to demark a district within a city, if detected.", +"Date. The metadata identifies the components of the date: * `year` - Four digit year, if detected. * `month` - Two digit month number, if detected. * `day` - Two digit day number, if detected.", +"Number. The metadata is the number itself.", +"Price. The metadata identifies the `value` and `currency`." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1EntityMentionData": { +"description": "The data for an entity mention annotation. This represents a mention of an `Entity` in the conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1EntityMentionData", +"properties": { +"entityUniqueId": { +"description": "The key of this entity in conversation entities. Can be used to retrieve the exact `Entity` this mention is attached to.", +"type": "string" +}, +"sentiment": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"description": "Sentiment expressed for this mention of the entity." +}, +"type": { +"description": "The type of the entity mention.", +"enum": [ +"MENTION_TYPE_UNSPECIFIED", +"PROPER", +"COMMON" +], +"enumDescriptions": [ +"Unspecified.", +"Proper noun.", +"Common noun (or noun compound)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata": { +"description": "Metadata for an export insights operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during export operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest", +"description": "The original request for export." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest": { +"description": "The request to export insights.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest", +"properties": { +"bigQueryDestination": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination", +"description": "Specified if sink is a BigQuery table." +}, +"filter": { +"description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", +"type": "string" +}, +"kmsKey": { +"description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource to export data from.", +"type": "string" +}, +"writeDisposition": { +"description": "Options for what to do if the destination table already exists.", +"enum": [ +"WRITE_DISPOSITION_UNSPECIFIED", +"WRITE_TRUNCATE", +"WRITE_APPEND" +], +"enumDescriptions": [ +"Write disposition is not specified. Defaults to WRITE_TRUNCATE.", +"If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", +"If the table already exists, BigQuery will append data to the table." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination": { +"description": "A BigQuery Table Reference.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination", +"properties": { +"dataset": { +"description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", +"type": "string" +}, +"projectId": { +"description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", +"type": "string" +}, +"table": { +"description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse": { +"description": "Response for an export insights operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata": { +"description": "Metadata used for export issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest", +"description": "The original export request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest": { +"description": "Request to export an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination", +"description": "Google Cloud Storage URI to export the issue model to." +}, +"name": { +"description": "Required. The issue model to export.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination": { +"description": "Google Cloud Storage Object URI to save the issue model to.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination", +"properties": { +"objectUri": { +"description": "Required. Format: `gs:///`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse": { +"description": "Response from export issue model", +"id": "GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData": { +"description": "Agent Assist frequently-asked-question answer data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData", +"properties": { +"answer": { +"description": "The piece of text from the `source` knowledge base document.", +"type": "string" +}, +"confidenceScore": { +"description": "The system's confidence score that this answer is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the FAQ answer and the document that it originates from.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +}, +"source": { +"description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel": { +"description": "Represents a conversation, resource, and label provided by the user.", +"id": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel", +"properties": { +"createTime": { +"description": "Output only. Create time of the label.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"label": { +"description": "String label.", +"type": "string" +}, +"labeledResource": { +"description": "Resource name of the resource to be labeled.", +"type": "string" +}, +"name": { +"description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", +"type": "string" +}, +"qaAnswerLabel": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", +"description": "QaAnswer label." +}, +"updateTime": { +"description": "Output only. Update time of the label.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1GcsSource": { +"description": "A Cloud Storage source of conversation data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1GcsSource", +"properties": { +"audioUri": { +"description": "Cloud Storage URI that points to a file that contains the conversation audio.", +"type": "string" +}, +"transcriptUri": { +"description": "Immutable. Cloud Storage URI that points to a file that contains the conversation transcript.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1HoldData": { +"description": "The data for a hold annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1HoldData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata": { +"description": "Metadata used for import issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata", +"properties": { +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest", +"description": "The original import request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest": { +"description": "Request to import an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest", +"properties": { +"createNewModel": { +"description": "Optional. If set to true, will create an issue model from the imported file with randomly generated IDs for the issue model and corresponding issues. Otherwise, replaces an existing model with the same ID as the file.", +"type": "boolean" +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource", +"description": "Google Cloud Storage source message." +}, +"parent": { +"description": "Required. The parent resource of the issue model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource": { +"description": "Google Cloud Storage Object URI to get the issue model file from.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource", +"properties": { +"objectUri": { +"description": "Required. Format: `gs:///`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse": { +"description": "Response from import issue model", +"id": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse", +"properties": { +"issueModel": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", +"description": "The issue model that was imported." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata": { +"description": "The metadata for an IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"ingestConversationsStats": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats", +"description": "Output only. Statistics for IngestConversations operation.", +"readOnly": true +}, +"partialErrors": { +"description": "Output only. Partial errors during ingest operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest", +"description": "Output only. The original request for ingest.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats": { +"description": "Statistics for IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats", +"properties": { +"duplicatesSkippedCount": { +"description": "Output only. The number of objects skipped because another conversation with the same transcript uri had already been ingested.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"failedIngestCount": { +"description": "Output only. The number of objects which were unable to be ingested due to errors. The errors are populated in the partial_errors field.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"processedObjectCount": { +"description": "Output only. The number of objects processed during the ingest operation.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"successfulIngestCount": { +"description": "Output only. The number of new conversations added during this ingest operation.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest": { +"description": "The request to ingest conversations.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest", +"properties": { +"conversationConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig", +"description": "Configuration that applies to all conversations." +}, +"gcsSource": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource", +"description": "A cloud storage bucket source. Note that any previously ingested objects from the source will be skipped to avoid duplication." +}, +"parent": { +"description": "Required. The parent resource for new conversations.", +"type": "string" +}, +"redactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig", +"description": "Optional. DLP settings for transcript redaction. Optional, will default to the config specified in Settings." +}, +"sampleSize": { +"description": "Optional. If set, this fields indicates the number of objects to ingest from the Cloud Storage bucket. If empty, the entire bucket will be ingested. Unless they are first deleted, conversations produced through sampling won't be ingested by subsequent ingest requests.", +"format": "int32", +"type": "integer" +}, +"speechConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SpeechConfig", +"description": "Optional. Default Speech-to-Text configuration. Optional, will default to the config specified in Settings." +}, +"transcriptObjectConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig", +"description": "Configuration for when `source` contains conversation transcripts." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig": { +"description": "Configuration that applies to all conversations.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig", +"properties": { +"agentChannel": { +"description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", +"format": "int32", +"type": "integer" +}, +"agentId": { +"description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", +"type": "string" +}, +"customerChannel": { +"description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource": { +"description": "Configuration for Cloud Storage bucket sources.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource", +"properties": { +"bucketObjectType": { +"description": "Optional. Specifies the type of the objects in `bucket_uri`.", +"enum": [ +"BUCKET_OBJECT_TYPE_UNSPECIFIED", +"TRANSCRIPT", +"AUDIO" +], +"enumDescriptions": [ +"The object type is unspecified and will default to `TRANSCRIPT`.", +"The object is a transcript.", +"The object is an audio file." +], +"type": "string" +}, +"bucketUri": { +"description": "Required. The Cloud Storage bucket containing source objects.", +"type": "string" +}, +"customMetadataKeys": { +"description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadataBucketUri": { +"description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig": { +"description": "Configuration for processing transcript objects.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig", +"properties": { +"medium": { +"description": "Required. The medium transcript objects represent.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse": { +"description": "The response to an IngestConversations operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata": { +"description": "Metadata for initializing a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialErrors": { +"description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", +"description": "Output only. The original request for initialization.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest": { +"description": "The request to initialize a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", +"description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse": { +"description": "The response to initialize a location-level encryption specification.", +"id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Intent": { +"description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Intent", +"properties": { +"displayName": { +"description": "The human-readable name of the intent.", +"type": "string" +}, +"id": { +"description": "The unique identifier of the intent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IntentMatchData": { +"description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData", +"properties": { +"intentUniqueId": { +"description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1InterruptionData": { +"description": "The data for an interruption annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1InterruptionData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1Issue": { +"description": "The issue resource.", +"id": "GoogleCloudContactcenterinsightsV1alpha1Issue", +"properties": { +"createTime": { +"description": "Output only. The time at which this issue was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayDescription": { +"description": "Representative description of the issue.", +"type": "string" +}, +"displayName": { +"description": "The representative name for the issue.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", +"type": "string" +}, +"sampleUtterances": { +"description": "Output only. Resource names of the sample representative utterances that match to this issue.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. The most recent time that this issue was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueAssignment": { +"description": "Information about the issue.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", +"properties": { +"displayName": { +"description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", +"type": "string" +}, +"issue": { +"description": "Resource name of the assigned issue.", +"type": "string" +}, +"score": { +"description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueMatchData": { +"description": "The data for an issue match annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData", +"properties": { +"issueAssignment": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", +"description": "Information about the issue's assignment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueModel": { +"description": "The issue model resource.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", +"properties": { +"createTime": { +"description": "Output only. The time at which this issue model was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The representative name for the issue model.", +"type": "string" +}, +"inputDataConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", +"description": "Configs for the input data that used to create the issue model." +}, +"issueCount": { +"description": "Output only. Number of issues in this issue model.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Language of the model.", +"type": "string" +}, +"modelType": { +"description": "Type of the model.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"TYPE_V1", +"TYPE_V2" +], +"enumDescriptions": [ +"Unspecified model type.", +"Type V1.", +"Type V2." +], +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", +"type": "string" +}, +"state": { +"description": "Output only. State of the model.", +"enum": [ +"STATE_UNSPECIFIED", +"UNDEPLOYED", +"DEPLOYING", +"DEPLOYED", +"UNDEPLOYING", +"DELETING" +], +"enumDescriptions": [ +"Unspecified.", +"Model is not deployed but is ready to deploy.", +"Model is being deployed.", +"Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", +"Model is being undeployed.", +"Model is being deleted." +], +"readOnly": true, +"type": "string" +}, +"trainingStats": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", +"description": "Output only. Immutable. The issue model's label statistics on its training data.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The most recent time at which the issue model was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig": { +"description": "Configs for the input data used to create the issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", +"properties": { +"filter": { +"description": "A filter to reduce the conversations used for training the model to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", +"type": "string" +}, +"medium": { +"deprecated": true, +"description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", +"enum": [ +"MEDIUM_UNSPECIFIED", +"PHONE_CALL", +"CHAT" +], +"enumDescriptions": [ +"Default value, if unspecified will default to PHONE_CALL.", +"The format for conversations that took place over the phone.", +"The format for conversations that took place over chat." +], +"type": "string" +}, +"trainingConversationsCount": { +"description": "Output only. Number of conversations used in training. Output only.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats": { +"description": "Aggregated statistics about an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", +"properties": { +"analyzedConversationsCount": { +"description": "Number of conversations the issue model has analyzed at this point in time.", +"format": "int64", +"type": "string" +}, +"issueStats": { +"additionalProperties": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats" +}, +"description": "Statistics on each issue. Key is the issue's resource name.", +"type": "object" +}, +"unclassifiedConversationsCount": { +"description": "Number of analyzed conversations for which no issue was applicable at this point in time.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats": { +"description": "Aggregated statistics about an issue.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats", +"properties": { +"displayName": { +"description": "Display name of the issue.", +"type": "string" +}, +"issue": { +"description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", +"type": "string" +}, +"labeledConversationsCount": { +"description": "Number of conversations attached to the issue at this point in time.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1IssueModelResult": { +"description": "Issue Modeling result on a conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult", +"properties": { +"issueModel": { +"description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", +"type": "string" +}, +"issues": { +"description": "All the matched issues.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse": { +"description": "The response for listing all feedback labels.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse", +"properties": { +"feedbackLabels": { +"description": "The feedback labels that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse": { +"description": "The response for listing feedback labels.", +"id": "GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse", +"properties": { +"feedbackLabels": { +"description": "The feedback labels that match the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The next page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData": { +"description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", +"id": "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData", +"properties": { +"displayName": { +"description": "The human-readable name of the phrase matcher.", +"type": "string" +}, +"phraseMatcher": { +"description": "The unique identifier (the resource name) of the phrase matcher.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaAnswer": { +"description": "An answer to a QaQuestion.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswer", +"properties": { +"answerSources": { +"description": "List of all individual answers given to the question.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource" +}, +"type": "array" +}, +"answerValue": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", +"description": "The main answer value, incorporating any manual edits if they exist." +}, +"conversation": { +"description": "The conversation the answer applies to.", +"type": "string" +}, +"qaQuestion": { +"description": "The QaQuestion answered by this answer.", +"type": "string" +}, +"questionBody": { +"description": "Question text. E.g., \"Did the agent greet the customer?\"", +"type": "string" +}, +"tags": { +"description": "User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource": { +"description": "A question may have multiple answers from varying sources, one of which becomes the \"main\" answer above. AnswerSource represents each individual answer.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource", +"properties": { +"answerValue": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", +"description": "The answer value from this source." +}, +"sourceType": { +"description": "What created the answer.", +"enum": [ +"SOURCE_TYPE_UNSPECIFIED", +"SYSTEM_GENERATED", +"MANUAL_EDIT" +], +"enumDescriptions": [ +"Source type is unspecified.", +"Answer was system-generated; created during an Insights analysis.", +"Answer was created by a human via manual edit." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue": { +"description": "Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", +"properties": { +"boolValue": { +"description": "Boolean value.", +"type": "boolean" +}, +"key": { +"description": "A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key.", +"type": "string" +}, +"naValue": { +"description": "A value of \"Not Applicable (N/A)\". Should only ever be `true`.", +"type": "boolean" +}, +"normalizedScore": { +"description": "Output only. Normalized score of the questions. Calculated as score / potential_score.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"numValue": { +"description": "Numerical value.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "Output only. The maximum potential score of the question.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"score": { +"description": "Output only. Numerical score of the answer.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"strValue": { +"description": "String value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult": { +"description": "The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult", +"properties": { +"agentId": { +"description": "ID of the agent that handled the conversation.", +"type": "string" +}, +"conversation": { +"description": "The conversation scored by this result.", +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The name of the scorecard result. Format: projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result}", +"type": "string" +}, +"normalizedScore": { +"description": "The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", +"format": "double", +"type": "number" +}, +"qaAnswers": { +"description": "Set of QaAnswers represented in the result.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswer" +}, +"type": "array" +}, +"qaScorecardRevision": { +"description": "The QaScorecardRevision scored by this result.", +"type": "string" +}, +"qaTagResults": { +"description": "Collection of tags and their scores.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult" +}, +"type": "array" +}, +"score": { +"description": "The overall numerical score of the result, incorporating any manual edits if they exist.", +"format": "double", +"type": "number" +}, +"scoreSources": { +"description": "List of all individual score sets.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult": { +"description": "Tags and their corresponding results.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult", +"properties": { +"normalizedScore": { +"description": "The normalized score the tag applies to.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The potential score the tag applies to.", +"format": "double", +"type": "number" +}, +"score": { +"description": "The score the tag applies to.", +"format": "double", +"type": "number" +}, +"tag": { +"description": "The tag the score applies to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource": { +"description": "A scorecard result may have multiple sets of scores from varying sources, one of which becomes the \"main\" answer above. A ScoreSource represents each individual set of scores.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource", +"properties": { +"normalizedScore": { +"description": "The normalized score, which is the score divided by the potential score.", +"format": "double", +"type": "number" +}, +"potentialScore": { +"description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", +"format": "double", +"type": "number" +}, +"qaTagResults": { +"description": "Collection of tags and their scores.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult" +}, +"type": "array" +}, +"score": { +"description": "The overall numerical score of the result.", +"format": "double", +"type": "number" +}, +"sourceType": { +"description": "What created the score.", +"enum": [ +"SOURCE_TYPE_UNSPECIFIED", +"SYSTEM_GENERATED_ONLY", +"INCLUDES_MANUAL_EDITS" +], +"enumDescriptions": [ +"Source type is unspecified.", +"Score is derived only from system-generated answers.", +"Score is derived from both system-generated answers, and includes any manual edits if they exist." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata": { +"description": "The metadata from querying metrics.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata", +"properties": { +"resultIsTruncated": { +"description": "Whether the result rows were truncated because the result row size is too large to materialize.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse": { +"description": "The response for querying metrics.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse", +"properties": { +"location": { +"description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", +"type": "string" +}, +"macroAverageSlice": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice", +"description": "The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension." +}, +"slices": { +"description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice" +}, +"type": "array" +}, +"updateTime": { +"description": "The metrics last update time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice": { +"description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -> dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2]", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice", +"properties": { +"dimensions": { +"description": "A unique combination of dimensions that this slice represents.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Dimension" +}, +"type": "array" +}, +"timeSeries": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries", +"description": "A time series of metric values. This is only populated if the request specifies a time granularity other than NONE." +}, +"total": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint", +"description": "The total metric value. The interval of this data point is [starting create time, ending create time) from the request." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint": { +"description": "A data point contains the metric values mapped to an interval.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint", +"properties": { +"conversationMeasure": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure", +"description": "The measure related to conversations." +}, +"interval": { +"$ref": "GoogleTypeInterval", +"description": "The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request)." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure": { +"description": "The measure related to conversations.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure", +"properties": { +"averageAgentSentimentScore": { +"description": "The average agent's sentiment score.", +"format": "float", +"type": "number" +}, +"averageClientSentimentScore": { +"description": "The average client's sentiment score.", +"format": "float", +"type": "number" +}, +"averageCustomerSatisfactionRating": { +"description": "The average customer satisfaction rating.", +"format": "double", +"type": "number" +}, +"averageDuration": { +"description": "The average duration.", +"format": "google-duration", +"type": "string" +}, +"averageQaNormalizedScore": { +"description": "Average QA normalized score. Will exclude 0's in average calculation.", +"format": "double", +"type": "number" +}, +"averageQaQuestionNormalizedScore": { +"description": "Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID.", +"format": "double", +"type": "number" +}, +"averageSilencePercentage": { +"description": "The average silence percentage.", +"format": "float", +"type": "number" +}, +"averageTurnCount": { +"description": "The average turn count.", +"format": "float", +"type": "number" +}, +"conversationCount": { +"description": "The conversation count.", +"format": "int32", +"type": "integer" +}, +"qaTagScores": { +"description": "Average QA normalized score for all the tags.", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore": { +"description": "Average QA normalized score for the tag.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore", +"properties": { +"averageTagNormalizedScore": { +"description": "Average tag normalized score per tag.", +"format": "double", +"type": "number" +}, +"tag": { +"description": "Tag name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries": { +"description": "A time series of metric values.", +"id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries", +"properties": { +"dataPoints": { +"description": "The data points that make up the time series .", +"items": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1RedactionConfig": { +"description": "DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist.", +"id": "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig", +"properties": { +"deidentifyTemplate": { +"description": "The fully-qualified DLP deidentify template resource name. Format: `projects/{project}/deidentifyTemplates/{template}`", +"type": "string" +}, +"inspectTemplate": { +"description": "The fully-qualified DLP inspect template resource name. Format: `projects/{project}/locations/{location}/inspectTemplates/{template}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation": { +"description": "An annotation that was generated during the customer and agent interaction.", +"id": "GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation", +"properties": { +"annotationId": { +"description": "The unique identifier of the annotation. Format: projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation}", +"type": "string" +}, +"answerFeedback": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback", +"description": "The feedback that the customer has about the answer in `data`." +}, +"articleSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData", +"description": "Agent Assist Article Suggestion data." +}, +"conversationSummarizationSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData", +"description": "Conversation summarization suggestion data." +}, +"createTime": { +"description": "The time at which this annotation was created.", +"format": "google-datetime", +"type": "string" +}, +"dialogflowInteraction": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData", +"description": "Dialogflow interaction data." +}, +"endBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation ends, inclusive." +}, +"faqAnswer": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData", +"description": "Agent Assist FAQ answer data." +}, +"smartComposeSuggestion": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData", +"description": "Agent Assist Smart Compose suggestion data." +}, +"smartReply": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SmartReplyData", +"description": "Agent Assist Smart Reply data." +}, +"startBoundary": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary", +"description": "The boundary in the conversation where the annotation starts, inclusive." +}, +"userInput": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput", +"description": "Explicit input used for generating the answer" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput": { +"description": "Explicit input used for generating the answer", +"id": "GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput", +"properties": { +"generatorName": { +"description": "The resource name of associated generator. Format: `projects//locations//generators/`", +"type": "string" +}, +"query": { +"description": "Query text. Article Search uses this to store the input query used to generate the search results.", +"type": "string" +}, +"querySource": { +"description": "Query source for the answer.", +"enum": [ +"QUERY_SOURCE_UNSPECIFIED", +"AGENT_QUERY", +"SUGGESTED_QUERY" +], +"enumDescriptions": [ +"Unknown query source.", +"The query is from agents.", +"The query is a query from previous suggestions, e.g. from a preceding SuggestKnowledgeAssist response." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1SentimentData": { +"description": "The data for a sentiment annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", +"properties": { +"magnitude": { +"description": "A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score.", +"format": "float", +"type": "number" +}, +"score": { +"description": "The sentiment score between -1.0 (negative) and 1.0 (positive).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1SilenceData": { +"description": "The data for a silence annotation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1SilenceData", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData": { +"description": "Agent Assist Smart Compose suggestion data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "double", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Smart Compose suggestion and the document from which it originates.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"suggestion": { +"description": "The content of the suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1SmartReplyData": { +"description": "Agent Assist Smart Reply data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1SmartReplyData", +"properties": { +"confidenceScore": { +"description": "The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "double", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Map that contains metadata about the Smart Reply and the document from which it originates.", +"type": "object" +}, +"queryRecord": { +"description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", +"type": "string" +}, +"reply": { +"description": "The content of the reply.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1SpeechConfig": { +"description": "Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint.", +"id": "GoogleCloudContactcenterinsightsV1alpha1SpeechConfig", +"properties": { +"speechRecognizer": { +"description": "The fully-qualified Speech Recognizer resource name. Format: `projects/{project_id}/locations/{location}/recognizer/{recognizer}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata": { +"description": "Metadata for undeploying an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest", +"description": "The original request for undeployment." +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest": { +"description": "The request to undeploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest", +"properties": { +"name": { +"description": "Required. The issue model to undeploy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse": { +"description": "The response to undeploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata": { +"description": "The metadata for an `UploadConversation` operation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata", +"properties": { +"analysisOperation": { +"description": "Output only. The operation name for a successfully created analysis operation, if any.", +"readOnly": true, +"type": "string" +}, +"appliedRedactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig", +"description": "Output only. The redaction config applied to the uploaded conversation.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest", +"description": "Output only. The original request.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest": { +"description": "Request to upload a conversation.", +"id": "GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest", +"properties": { +"conversation": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1Conversation", +"description": "Required. The conversation resource to create." +}, +"conversationId": { +"description": "Optional. A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the conversation.", +"type": "string" +}, +"redactionConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig", +"description": "Optional. DLP settings for transcript redaction. Will default to the config specified in Settings." +}, +"speechConfig": { +"$ref": "GoogleCloudContactcenterinsightsV1alpha1SpeechConfig", +"description": "Optional. Speech-to-Text configuration. Will default to the config specified in Settings." +} +}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleTypeInterval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Contact Center AI Insights API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..dc095b694cb549564b2282d38eb4176ae9d0593b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json @@ -0,0 +1,7118 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://containeranalysis.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Container Analysis", +"description": "This API is a prerequisite for leveraging Artifact Analysis scanning capabilities in both Artifact Registry and with Advanced Vulnerability Insights (runtime scanning) in GKE. In addition, the Container Analysis API is an implementation of the Grafeas API, which enables storing, querying, and retrieval of critical metadata about all of your software artifacts.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-east1.rep.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-east2.rep.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-northeast3.rep.googleapis.com/", +"location": "asia-northeast3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-south1.rep.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-south2.rep.googleapis.com/", +"location": "asia-south2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-southeast1.rep.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.asia-southeast2.rep.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.australia-southeast1.rep.googleapis.com/", +"location": "australia-southeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-central2.rep.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-north1.rep.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-southwest1.rep.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west1.rep.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west4.rep.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.me-central1.rep.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.northamerica-northeast1.rep.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.northamerica-northeast2.rep.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.southamerica-east1.rep.googleapis.com/", +"location": "southamerica-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.southamerica-west1.rep.googleapis.com/", +"location": "southamerica-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://containeranalysis.us-west4.rep.googleapis.com/", +"location": "us-west4" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "containeranalysis:v1alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://containeranalysis.mtls.googleapis.com/", +"name": "containeranalysis", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"notes": { +"methods": { +"create": { +"description": "Creates a new `Note`.", +"flatPath": "v1alpha1/projects/{projectsId}/notes", +"httpMethod": "POST", +"id": "containeranalysis.projects.notes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"name": { +"description": "The name of the project. Should be of the form \"providers/{provider_id}\". @Deprecated", +"location": "query", +"type": "string" +}, +"noteId": { +"description": "The ID to use for this note.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This field contains the project Id for example: \"projects/{project_id}", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/notes", +"request": { +"$ref": "Note" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the given `Note` from the system.", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}", +"httpMethod": "DELETE", +"id": "containeranalysis.projects.notes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note in the form of \"providers/{provider_id}/notes/{NOTE_ID}\"", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested `Note`.", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}", +"httpMethod": "GET", +"id": "containeranalysis.projects.notes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note in the form of \"providers/{provider_id}/notes/{NOTE_ID}\"", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a note or an `Occurrence` resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}:getIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.projects.notes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all `Notes` for a given project.", +"flatPath": "v1alpha1/projects/{projectsId}/notes", +"httpMethod": "GET", +"id": "containeranalysis.projects.notes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name field will contain the project Id for example: \"providers/{provider_id} @Deprecated", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Number of notes to return in the list.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to provide to skip to a particular spot in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This field contains the project Id for example: \"projects/{PROJECT_ID}\".", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/notes", +"response": { +"$ref": "ListNotesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing `Note`.", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}", +"httpMethod": "PATCH", +"id": "containeranalysis.projects.notes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note. Should be of the form \"projects/{provider_id}/notes/{note_id}\".", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "Note" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified `Note` or `Occurrence`. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a `Note` or an `Occurrence`, respectively. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}:setIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.projects.notes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, \"storage.objects.list\" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}:testIamPermissions", +"httpMethod": "POST", +"id": "containeranalysis.projects.notes.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"occurrences": { +"methods": { +"list": { +"description": "Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer projects.", +"flatPath": "v1alpha1/projects/{projectsId}/notes/{notesId}/occurrences", +"httpMethod": "GET", +"id": "containeranalysis.projects.notes.occurrences.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name field will contain the note name for example: \"provider/{provider_id}/notes/{note_id}\"", +"location": "path", +"pattern": "^projects/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Number of notes to return in the list.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to provide to skip to a particular spot in the list.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}/occurrences", +"response": { +"$ref": "ListNoteOccurrencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"occurrences": { +"methods": { +"create": { +"description": "Creates a new `Occurrence`. Use this method to create `Occurrences` for a resource.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences", +"httpMethod": "POST", +"id": "containeranalysis.projects.occurrences.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"name": { +"description": "The name of the project. Should be of the form \"projects/{project_id}\". @Deprecated", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This field contains the project Id for example: \"projects/{project_id}\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/occurrences", +"request": { +"$ref": "Occurrence" +}, +"response": { +"$ref": "Occurrence" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the given `Occurrence` from the system. Use this when an `Occurrence` is no longer applicable for the given resource.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}", +"httpMethod": "DELETE", +"id": "containeranalysis.projects.occurrences.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the occurrence in the form of \"projects/{project_id}/occurrences/{OCCURRENCE_ID}\"", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested `Occurrence`.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}", +"httpMethod": "GET", +"id": "containeranalysis.projects.occurrences.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the occurrence of the form \"projects/{project_id}/occurrences/{OCCURRENCE_ID}\"", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Occurrence" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a note or an `Occurrence` resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.projects.occurrences.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getNotes": { +"description": "Gets the `Note` attached to the given `Occurrence`.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}/notes", +"httpMethod": "GET", +"id": "containeranalysis.projects.occurrences.getNotes", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the occurrence in the form \"projects/{project_id}/occurrences/{OCCURRENCE_ID}\"", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}/notes", +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getVulnerabilitySummary": { +"description": "Gets a summary of the number and severity of occurrences.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences:vulnerabilitySummary", +"httpMethod": "GET", +"id": "containeranalysis.projects.occurrences.getVulnerabilitySummary", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This contains the project Id for example: projects/{project_id}", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/occurrences:vulnerabilitySummary", +"response": { +"$ref": "GetVulnzOccurrencesSummaryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists active `Occurrences` for a given project matching the filters.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences", +"httpMethod": "GET", +"id": "containeranalysis.projects.occurrences.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"kind": { +"description": "The kind of occurrences to filter on.", +"enum": [ +"KIND_UNSPECIFIED", +"PACKAGE_VULNERABILITY", +"BUILD_DETAILS", +"IMAGE_BASIS", +"PACKAGE_MANAGER", +"DEPLOYABLE", +"DISCOVERY", +"ATTESTATION_AUTHORITY", +"UPGRADE", +"COMPLIANCE", +"SBOM", +"SPDX_PACKAGE", +"SPDX_FILE", +"SPDX_RELATIONSHIP", +"DSSE_ATTESTATION", +"VULNERABILITY_ASSESSMENT", +"SBOM_REFERENCE" +], +"enumDescriptions": [ +"Unknown", +"The note and occurrence represent a package vulnerability.", +"The note and occurrence assert build provenance.", +"This represents an image basis relationship.", +"This represents a package installed via a package manager.", +"The note and occurrence track deployment events.", +"The note and occurrence track the initial discovery status of a resource.", +"This represents a logical \"role\" that can attest to artifacts.", +"This represents an available software upgrade.", +"This represents a compliance check that can be applied to a resource.", +"This represents a software bill of materials.", +"This represents an SPDX Package.", +"This represents an SPDX File.", +"This represents an SPDX Relationship.", +"This represents a DSSE attestation Note", +"This represents a Vulnerability Assessment.", +"This represents a reference to an SBOM." +], +"location": "query", +"type": "string" +}, +"name": { +"description": "The name field contains the project Id. For example: \"projects/{project_id} @Deprecated", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Number of occurrences to return in the list.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to provide to skip to a particular spot in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This contains the project Id for example: projects/{project_id}.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/occurrences", +"response": { +"$ref": "ListOccurrencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing occurrence.", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}", +"httpMethod": "PATCH", +"id": "containeranalysis.projects.occurrences.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the occurrence. Should be of the form \"projects/{project_id}/occurrences/{OCCURRENCE_ID}\".", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "Occurrence" +}, +"response": { +"$ref": "Occurrence" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified `Note` or `Occurrence`. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a `Note` or an `Occurrence`, respectively. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.projects.occurrences.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, \"storage.objects.list\" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`", +"flatPath": "v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions", +"httpMethod": "POST", +"id": "containeranalysis.projects.occurrences.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/occurrences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"create": { +"description": "Creates a new `Operation`.", +"flatPath": "v1alpha1/projects/{projectsId}/operations", +"httpMethod": "POST", +"id": "containeranalysis.projects.operations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The project Id that this operation should be created under.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/operations", +"request": { +"$ref": "CreateOperationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing operation returns an error if operation does not exist. The only valid operations are to update mark the done bit change the result.", +"flatPath": "v1alpha1/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "PATCH", +"id": "containeranalysis.projects.operations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the Operation. Should be of the form \"projects/{provider_id}/operations/{operation_id}\".", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "UpdateOperationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"scanConfigs": { +"methods": { +"get": { +"description": "Gets a specific scan configuration for a project.", +"flatPath": "v1alpha1/projects/{projectsId}/scanConfigs/{scanConfigsId}", +"httpMethod": "GET", +"id": "containeranalysis.projects.scanConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the ScanConfig in the form projects/{project_id}/scanConfigs/{scan_config_id}", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "ScanConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists scan configurations for a project.", +"flatPath": "v1alpha1/projects/{projectsId}/scanConfigs", +"httpMethod": "GET", +"id": "containeranalysis.projects.scanConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token to use for the next request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This containers the project Id i.e.: projects/{project_id}", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/scanConfigs", +"response": { +"$ref": "ListScanConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the scan configuration to a new value.", +"flatPath": "v1alpha1/projects/{projectsId}/scanConfigs/{scanConfigsId}", +"httpMethod": "PATCH", +"id": "containeranalysis.projects.scanConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The scan config to update of the form projects/{project_id}/scanConfigs/{scan_config_id}.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "ScanConfig" +}, +"response": { +"$ref": "ScanConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"providers": { +"resources": { +"notes": { +"methods": { +"create": { +"description": "Creates a new `Note`.", +"flatPath": "v1alpha1/providers/{providersId}/notes", +"httpMethod": "POST", +"id": "containeranalysis.providers.notes.create", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the project. Should be of the form \"providers/{provider_id}\". @Deprecated", +"location": "path", +"pattern": "^providers/[^/]+$", +"required": true, +"type": "string" +}, +"noteId": { +"description": "The ID to use for this note.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This field contains the project Id for example: \"projects/{project_id}", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}/notes", +"request": { +"$ref": "Note" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the given `Note` from the system.", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}", +"httpMethod": "DELETE", +"id": "containeranalysis.providers.notes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note in the form of \"providers/{provider_id}/notes/{NOTE_ID}\"", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested `Note`.", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}", +"httpMethod": "GET", +"id": "containeranalysis.providers.notes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note in the form of \"providers/{provider_id}/notes/{NOTE_ID}\"", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a note or an `Occurrence` resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}:getIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.providers.notes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all `Notes` for a given project.", +"flatPath": "v1alpha1/providers/{providersId}/notes", +"httpMethod": "GET", +"id": "containeranalysis.providers.notes.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name field will contain the project Id for example: \"providers/{provider_id} @Deprecated", +"location": "path", +"pattern": "^providers/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Number of notes to return in the list.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to provide to skip to a particular spot in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "This field contains the project Id for example: \"projects/{PROJECT_ID}\".", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}/notes", +"response": { +"$ref": "ListNotesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing `Note`.", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}", +"httpMethod": "PATCH", +"id": "containeranalysis.providers.notes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the note. Should be of the form \"projects/{provider_id}/notes/{note_id}\".", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "Note" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified `Note` or `Occurrence`. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a `Note` or an `Occurrence`, respectively. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}:setIamPolicy", +"httpMethod": "POST", +"id": "containeranalysis.providers.notes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, \"storage.objects.list\" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}:testIamPermissions", +"httpMethod": "POST", +"id": "containeranalysis.providers.notes.testIamPermissions", +"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.", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"occurrences": { +"methods": { +"list": { +"description": "Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer projects.", +"flatPath": "v1alpha1/providers/{providersId}/notes/{notesId}/occurrences", +"httpMethod": "GET", +"id": "containeranalysis.providers.notes.occurrences.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The filter expression.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name field will contain the note name for example: \"provider/{provider_id}/notes/{note_id}\"", +"location": "path", +"pattern": "^providers/[^/]+/notes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Number of notes to return in the list.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to provide to skip to a particular spot in the list.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}/occurrences", +"response": { +"$ref": "ListNoteOccurrencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241025", +"rootUrl": "https://containeranalysis.googleapis.com/", +"schemas": { +"AnalysisCompleted": { +"description": "Indicates which analysis completed successfully. Multiple types of analysis can be performed on a single resource.", +"id": "AnalysisCompleted", +"properties": { +"analysisType": { +"description": "type of analysis that were completed on a resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Artifact": { +"description": "Artifact describes a build product.", +"id": "Artifact", +"properties": { +"checksum": { +"description": "Hash or checksum value of a binary, or Docker Registry 2.0 digest of a container.", +"type": "string" +}, +"id": { +"description": "Artifact ID, if any; for container images, this will be a URL by digest like gcr.io/projectID/imagename@sha256:123456", +"type": "string" +}, +"name": { +"deprecated": true, +"description": "Name of the artifact. This may be the path to a binary or jar file, or in the case of a container build, the name used to push the container image to Google Container Registry, as presented to `docker push`. This field is deprecated in favor of the plural `names` field; it continues to exist here to allow existing BuildProvenance serialized to json in google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to deserialize back into proto.", +"type": "string" +}, +"names": { +"description": "Related artifact names. This may be the path to a binary or jar file, or in the case of a container build, the name used to push the container image to Google Container Registry, as presented to `docker push`. Note that a single Artifact ID can have multiple names, for example if two tags are applied to one image.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Assessment": { +"description": "Assessment provides all information that is related to a single vulnerability for this product.", +"id": "Assessment", +"properties": { +"cve": { +"description": "Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) tracking number for the vulnerability.", +"type": "string" +}, +"impacts": { +"description": "Contains information about the impact of this vulnerability, this will change with time.", +"items": { +"type": "string" +}, +"type": "array" +}, +"justification": { +"$ref": "Justification", +"description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED." +}, +"longDescription": { +"description": "A detailed description of this Vex.", +"type": "string" +}, +"relatedUris": { +"description": "Holds a list of references associated with this vulnerability item and assessment. These uris have additional information about the vulnerability and the assessment itself. E.g. Link to a document which details how this assessment concluded the state of this vulnerability.", +"items": { +"$ref": "URI" +}, +"type": "array" +}, +"remediations": { +"description": "Specifies details on how to handle (and presumably, fix) a vulnerability.", +"items": { +"$ref": "Remediation" +}, +"type": "array" +}, +"shortDescription": { +"description": "A one sentence description of this Vex.", +"type": "string" +}, +"state": { +"description": "Provides the state of this Vulnerability assessment.", +"enum": [ +"STATE_UNSPECIFIED", +"AFFECTED", +"NOT_AFFECTED", +"FIXED", +"UNDER_INVESTIGATION" +], +"enumDescriptions": [ +"No state is specified.", +"This product is known to be affected by this vulnerability.", +"This product is known to be not affected by this vulnerability.", +"This product contains a fix for this vulnerability.", +"It is not known yet whether these versions are or are not affected by the vulnerability. However, it is still under investigation." +], +"type": "string" +}, +"vulnerabilityId": { +"description": "The vulnerability identifier for this Assessment. Will hold one of common identifiers e.g. CVE, GHSA etc.", +"type": "string" +} +}, +"type": "object" +}, +"Attestation": { +"description": "Occurrence that represents a single \"attestation\". The authenticity of an Attestation can be verified using the attached signature. If the verifier trusts the public key of the signer, then verifying the signature is sufficient to establish trust. In this circumstance, the AttestationAuthority to which this Attestation is attached is primarily useful for look-up (how to find this Attestation if you already know the Authority and artifact to be verified) and intent (which authority was this attestation intended to sign for).", +"id": "Attestation", +"properties": { +"pgpSignedAttestation": { +"$ref": "PgpSignedAttestation" +} +}, +"type": "object" +}, +"AttestationAuthority": { +"description": "Note kind that represents a logical attestation \"role\" or \"authority\". For example, an organization might have one `AttestationAuthority` for \"QA\" and one for \"build\". This Note is intended to act strictly as a grouping mechanism for the attached Occurrences (Attestations). This grouping mechanism also provides a security boundary, since IAM ACLs gate the ability for a principle to attach an Occurrence to a given Note. It also provides a single point of lookup to find all attached Attestation Occurrences, even if they don't all live in the same project.", +"id": "AttestationAuthority", +"properties": { +"hint": { +"$ref": "AttestationAuthorityHint" +} +}, +"type": "object" +}, +"AttestationAuthorityHint": { +"description": "This submessage provides human-readable hints about the purpose of the AttestationAuthority. Because the name of a Note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should NOT be used to look up AttestationAuthorities in security sensitive contexts, such as when looking up Attestations to verify.", +"id": "AttestationAuthorityHint", +"properties": { +"humanReadableName": { +"description": "The human readable name of this Attestation Authority, for example \"qa\".", +"type": "string" +} +}, +"type": "object" +}, +"Basis": { +"description": "Basis describes the base image portion (Note) of the DockerImage relationship. Linked occurrences are derived from this or an equivalent image via: FROM Or an equivalent reference, e.g. a tag of the resource_url.", +"id": "Basis", +"properties": { +"fingerprint": { +"$ref": "Fingerprint", +"description": "The fingerprint of the base image." +}, +"resourceUrl": { +"description": "The resource_url for the resource representing the basis of associated occurrence images.", +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BuildDefinition": { +"id": "BuildDefinition", +"properties": { +"buildType": { +"type": "string" +}, +"externalParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"internalParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"resolvedDependencies": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"BuildDetails": { +"description": "Message encapsulating build provenance details.", +"id": "BuildDetails", +"properties": { +"inTotoSlsaProvenanceV1": { +"$ref": "InTotoSlsaProvenanceV1", +"description": "In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa spec, wrapped in an in-toto statement. This allows for direct jsonification of a to-spec in-toto slsa statement with a to-spec slsa provenance." +}, +"intotoProvenance": { +"$ref": "InTotoProvenance", +"description": "Deprecated. See InTotoStatement for the replacement. In-toto Provenance representation as defined in spec." +}, +"intotoStatement": { +"$ref": "InTotoStatement", +"description": "In-toto Statement representation as defined in spec. The intoto_statement can contain any type of provenance. The serialized payload of the statement can be stored and signed in the Occurrence's envelope." +}, +"provenance": { +"$ref": "BuildProvenance", +"description": "The actual provenance" +}, +"provenanceBytes": { +"description": "Serialized JSON representation of the provenance, used in generating the `BuildSignature` in the corresponding Result. After verifying the signature, `provenance_bytes` can be unmarshalled and compared to the provenance to confirm that it is unchanged. A base64-encoded string representation of the provenance bytes is used for the signature in order to interoperate with openssl which expects this format for signature verification. The serialized form is captured both to avoid ambiguity in how the provenance is marshalled to json as well to prevent incompatibilities with future changes.", +"type": "string" +} +}, +"type": "object" +}, +"BuildMetadata": { +"id": "BuildMetadata", +"properties": { +"finishedOn": { +"format": "google-datetime", +"type": "string" +}, +"invocationId": { +"type": "string" +}, +"startedOn": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BuildProvenance": { +"description": "Provenance of a build. Contains all information needed to verify the full details about the build from source to completion.", +"id": "BuildProvenance", +"properties": { +"buildOptions": { +"additionalProperties": { +"type": "string" +}, +"description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details.", +"type": "object" +}, +"builderVersion": { +"description": "Version string of the builder at the time this build was executed.", +"type": "string" +}, +"builtArtifacts": { +"description": "Output of the build.", +"items": { +"$ref": "Artifact" +}, +"type": "array" +}, +"commands": { +"description": "Commands requested by the build.", +"items": { +"$ref": "Command" +}, +"type": "array" +}, +"createTime": { +"description": "Time at which the build was created.", +"format": "google-datetime", +"type": "string" +}, +"creator": { +"description": "E-mail address of the user who initiated this build. Note that this was the user's e-mail address at the time the build was initiated; this address may not represent the same end-user for all time.", +"type": "string" +}, +"finishTime": { +"description": "Time at which execution of the build was finished.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "Unique identifier of the build.", +"type": "string" +}, +"logsBucket": { +"description": "Google Cloud Storage bucket where logs were written.", +"type": "string" +}, +"projectId": { +"description": "ID of the project.", +"type": "string" +}, +"sourceProvenance": { +"$ref": "Source", +"description": "Details of the Source input to the build." +}, +"startTime": { +"description": "Time at which execution of the build was started.", +"format": "google-datetime", +"type": "string" +}, +"triggerId": { +"description": "Trigger identifier if the build was triggered automatically; empty if not.", +"type": "string" +} +}, +"type": "object" +}, +"BuildSignature": { +"description": "Message encapsulating the signature of the verified build.", +"id": "BuildSignature", +"properties": { +"keyId": { +"description": "An Id for the key used to sign. This could be either an Id for the key stored in `public_key` (such as the Id or fingerprint for a PGP key, or the CN for a cert), or a reference to an external key (such as a reference to a key in Cloud Key Management Service).", +"type": "string" +}, +"keyType": { +"description": "The type of the key, either stored in `public_key` or referenced in `key_id`", +"enum": [ +"KEY_TYPE_UNSPECIFIED", +"PGP_ASCII_ARMORED", +"PKIX_PEM" +], +"enumDescriptions": [ +"`KeyType` is not set.", +"`PGP ASCII Armored` public key.", +"`PKIX PEM` public key." +], +"type": "string" +}, +"publicKey": { +"description": "Public key of the builder which can be used to verify that the related findings are valid and unchanged. If `key_type` is empty, this defaults to PEM encoded public keys. This field may be empty if `key_id` references an external key. For Cloud Build based signatures, this is a PEM encoded public key. To verify the Cloud Build signature, place the contents of this field into a file (public.pem). The signature field is base64-decoded into its binary representation in signature.bin, and the provenance bytes from `BuildDetails` are base64-decoded into a binary representation in signed.bin. OpenSSL can then verify the signature: `openssl sha256 -verify public.pem -signature signature.bin signed.bin`", +"type": "string" +}, +"signature": { +"description": "Signature of the related `BuildProvenance`, encoded in a base64 string.", +"type": "string" +} +}, +"type": "object" +}, +"BuildStep": { +"description": "A step in the build pipeline. Next ID: 21", +"id": "BuildStep", +"properties": { +"allowExitCodes": { +"description": "Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allow_failure is also specified, this field will take precedence.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"allowFailure": { +"description": "Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failure_detail field.", +"type": "boolean" +}, +"args": { +"description": "A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the `args` are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.", +"items": { +"type": "string" +}, +"type": "array" +}, +"automapSubstitutions": { +"description": "Option to include built-in and custom substitutions as env variables for this build step. This option will override the global option in BuildOption.", +"type": "boolean" +}, +"dir": { +"description": "Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a `volume` for that path is specified. If the build specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution.", +"type": "string" +}, +"entrypoint": { +"description": "Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.", +"type": "string" +}, +"env": { +"description": "A list of environment variable definitions to be used when running a step. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"exitCode": { +"description": "Output only. Return code from running the step.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency.", +"type": "string" +}, +"name": { +"description": "Required. The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also have cached many of the layers for some popular images, like \"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.", +"type": "string" +}, +"pullTiming": { +"$ref": "TimeSpan", +"description": "Output only. Stores timing information for pulling this build step's builder image only." +}, +"script": { +"description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", +"type": "string" +}, +"secretEnv": { +"description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.", +"enum": [ +"STATUS_UNKNOWN", +"PENDING", +"QUEUING", +"QUEUED", +"WORKING", +"SUCCESS", +"FAILURE", +"INTERNAL_ERROR", +"TIMEOUT", +"CANCELLED", +"EXPIRED" +], +"enumDescriptions": [ +"Status of the build is unknown.", +"Build has been created and is pending execution and queuing. It has not been queued.", +"Build has been received and is being queued.", +"Build or step is queued; work has not yet begun.", +"Build or step is being executed.", +"Build or step finished successfully.", +"Build or step failed to complete successfully.", +"Build or step failed due to an internal cause.", +"Build or step took longer than was allowed.", +"Build or step was canceled by a user.", +"Build was enqueued for longer than the value of `queue_ttl`." +], +"type": "string" +}, +"timeout": { +"description": "Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.", +"format": "google-duration", +"type": "string" +}, +"timing": { +"$ref": "TimeSpan", +"description": "Output only. Stores timing information for executing this build step." +}, +"volumes": { +"description": "List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration.", +"items": { +"$ref": "Volume" +}, +"type": "array" +}, +"waitFor": { +"description": "The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BuildType": { +"description": "Note holding the version of the provider's builder and the signature of the provenance message in linked BuildDetails.", +"id": "BuildType", +"properties": { +"builderVersion": { +"description": "Version of the builder which produced this Note.", +"type": "string" +}, +"signature": { +"$ref": "BuildSignature", +"description": "Signature of the build in Occurrences pointing to the Note containing this `BuilderDetails`." +} +}, +"type": "object" +}, +"BuilderConfig": { +"id": "BuilderConfig", +"properties": { +"id": { +"type": "string" +} +}, +"type": "object" +}, +"CVSS": { +"description": "Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator", +"id": "CVSS", +"properties": { +"attackComplexity": { +"description": "Defined in CVSS v3, CVSS v2", +"enum": [ +"ATTACK_COMPLEXITY_UNSPECIFIED", +"ATTACK_COMPLEXITY_LOW", +"ATTACK_COMPLEXITY_HIGH", +"ATTACK_COMPLEXITY_MEDIUM" +], +"enumDescriptions": [ +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v2" +], +"type": "string" +}, +"attackVector": { +"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2", +"enum": [ +"ATTACK_VECTOR_UNSPECIFIED", +"ATTACK_VECTOR_NETWORK", +"ATTACK_VECTOR_ADJACENT", +"ATTACK_VECTOR_LOCAL", +"ATTACK_VECTOR_PHYSICAL" +], +"enumDescriptions": [ +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3" +], +"type": "string" +}, +"authentication": { +"description": "Defined in CVSS v2", +"enum": [ +"AUTHENTICATION_UNSPECIFIED", +"AUTHENTICATION_MULTIPLE", +"AUTHENTICATION_SINGLE", +"AUTHENTICATION_NONE" +], +"enumDescriptions": [ +"Defined in CVSS v2", +"Defined in CVSS v2", +"Defined in CVSS v2", +"Defined in CVSS v2" +], +"type": "string" +}, +"availabilityImpact": { +"description": "Defined in CVSS v3, CVSS v2", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v2", +"Defined in CVSS v2" +], +"type": "string" +}, +"baseScore": { +"description": "The base score is a function of the base metric scores.", +"format": "float", +"type": "number" +}, +"confidentialityImpact": { +"description": "Defined in CVSS v3, CVSS v2", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v2", +"Defined in CVSS v2" +], +"type": "string" +}, +"exploitabilityScore": { +"format": "float", +"type": "number" +}, +"impactScore": { +"format": "float", +"type": "number" +}, +"integrityImpact": { +"description": "Defined in CVSS v3, CVSS v2", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3, CVSS v2", +"Defined in CVSS v2", +"Defined in CVSS v2" +], +"type": "string" +}, +"privilegesRequired": { +"description": "Defined in CVSS v3", +"enum": [ +"PRIVILEGES_REQUIRED_UNSPECIFIED", +"PRIVILEGES_REQUIRED_NONE", +"PRIVILEGES_REQUIRED_LOW", +"PRIVILEGES_REQUIRED_HIGH" +], +"enumDescriptions": [ +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3" +], +"type": "string" +}, +"scope": { +"description": "Defined in CVSS v3", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_UNCHANGED", +"SCOPE_CHANGED" +], +"enumDescriptions": [ +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3" +], +"type": "string" +}, +"userInteraction": { +"description": "Defined in CVSS v3", +"enum": [ +"USER_INTERACTION_UNSPECIFIED", +"USER_INTERACTION_NONE", +"USER_INTERACTION_REQUIRED" +], +"enumDescriptions": [ +"Defined in CVSS v3", +"Defined in CVSS v3", +"Defined in CVSS v3" +], +"type": "string" +} +}, +"type": "object" +}, +"CisBenchmark": { +"description": "A compliance check that is a CIS benchmark.", +"id": "CisBenchmark", +"properties": { +"profileLevel": { +"description": "The profile level of this CIS benchmark check.", +"format": "int32", +"type": "integer" +}, +"severity": { +"description": "The severity level of this CIS benchmark check.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"type": "string" +} +}, +"type": "object" +}, +"Command": { +"description": "Command describes a step performed as part of the build pipeline.", +"id": "Command", +"properties": { +"args": { +"description": "Command-line arguments used when executing this Command.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dir": { +"description": "Working directory (relative to project source root) used when running this Command.", +"type": "string" +}, +"env": { +"description": "Environment variables set before running this Command.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Optional unique identifier for this Command, used in wait_for to reference this Command as a dependency.", +"type": "string" +}, +"name": { +"description": "Name of the command, as presented on the command line, or if the command is packaged as a Docker container, as presented to `docker pull`.", +"type": "string" +}, +"waitFor": { +"description": "The ID(s) of the Command(s) that this Command depends on.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Completeness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "Completeness", +"properties": { +"arguments": { +"description": "If true, the builder claims that recipe.arguments is complete, meaning that all external inputs are properly captured in the recipe.", +"type": "boolean" +}, +"environment": { +"description": "If true, the builder claims that recipe.environment is claimed to be complete.", +"type": "boolean" +}, +"materials": { +"description": "If true, the builder claims that materials are complete, usually through some controls to prevent network access. Sometimes called \"hermetic\".", +"type": "boolean" +} +}, +"type": "object" +}, +"ComplianceNote": { +"description": "ComplianceNote encapsulates all information about a specific compliance check.", +"id": "ComplianceNote", +"properties": { +"cisBenchmark": { +"$ref": "CisBenchmark", +"description": "Right now we only have one compliance type, but we may add additional types in the future." +}, +"description": { +"description": "A description about this compliance check.", +"type": "string" +}, +"impact": { +"description": "Potential impact of the suggested remediation", +"type": "string" +}, +"rationale": { +"description": "A rationale for the existence of this compliance check.", +"type": "string" +}, +"remediation": { +"description": "A description of remediation steps if the compliance check fails.", +"type": "string" +}, +"scanInstructions": { +"description": "Serialized scan instructions with a predefined format.", +"format": "byte", +"type": "string" +}, +"title": { +"description": "The title that identifies this compliance check.", +"type": "string" +}, +"version": { +"description": "The OS and config versions the benchmark applies to.", +"items": { +"$ref": "ComplianceVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"ComplianceOccurrence": { +"description": "An indication that the compliance checks in the associated ComplianceNote were not satisfied for particular resources or a specified reason.", +"id": "ComplianceOccurrence", +"properties": { +"nonComplianceReason": { +"description": "The reason for non compliance of these files.", +"type": "string" +}, +"nonCompliantFiles": { +"description": "A list of files which are violating compliance checks.", +"items": { +"$ref": "NonCompliantFile" +}, +"type": "array" +}, +"version": { +"$ref": "ComplianceVersion", +"description": "The OS and config version the benchmark was run on." +} +}, +"type": "object" +}, +"ComplianceVersion": { +"description": "Describes the CIS benchmark version that is applicable to a given OS and os version.", +"id": "ComplianceVersion", +"properties": { +"benchmarkDocument": { +"description": "The name of the document that defines this benchmark, e.g. \"CIS Container-Optimized OS\".", +"type": "string" +}, +"cpeUri": { +"description": "The CPE URI (https://cpe.mitre.org/specification/) this benchmark is applicable to.", +"type": "string" +}, +"version": { +"description": "The version of the benchmark. This is set to the version of the OS-specific CIS document the benchmark is defined in.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig": { +"description": "ApprovalConfig describes configuration for manual approval of a build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", +"properties": { +"approvalRequired": { +"description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.", +"type": "boolean" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult": { +"description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", +"properties": { +"approvalTime": { +"description": "Output only. The time when the approval decision was made.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"approverAccount": { +"description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called.", +"readOnly": true, +"type": "string" +}, +"comment": { +"description": "Optional. An optional comment for this manual approval result.", +"type": "string" +}, +"decision": { +"description": "Required. The decision of this manual approval.", +"enum": [ +"DECISION_UNSPECIFIED", +"APPROVED", +"REJECTED" +], +"enumDescriptions": [ +"Default enum type. This should not be used.", +"Build is approved.", +"Build is rejected." +], +"type": "string" +}, +"url": { +"description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts": { +"description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", +"properties": { +"images": { +"description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mavenArtifacts": { +"description": "A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact" +}, +"type": "array" +}, +"npmPackages": { +"description": "A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage" +}, +"type": "array" +}, +"objects": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", +"description": "A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the specified Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE." +}, +"pythonPackages": { +"description": "A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects": { +"description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", +"properties": { +"location": { +"description": "Cloud Storage bucket and optional object path, in the form \"gs://bucket/path/to/somewhere/\". (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.", +"type": "string" +}, +"paths": { +"description": "Path globs used to match files in the build's workspace.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timing": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing all artifact objects.", +"readOnly": true +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact": { +"description": "A Maven artifact to upload to Artifact Registry upon successful completion of all build steps.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact", +"properties": { +"artifactId": { +"description": "Maven `artifactId` value used when uploading the artifact to Artifact Registry.", +"type": "string" +}, +"groupId": { +"description": "Maven `groupId` value used when uploading the artifact to Artifact Registry.", +"type": "string" +}, +"path": { +"description": "Path to an artifact in the build's workspace to be uploaded to Artifact Registry. This can be either an absolute path, e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.", +"type": "string" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY\" Artifact in the workspace specified by path will be uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +}, +"version": { +"description": "Maven `version` value used when uploading the artifact to Artifact Registry.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage": { +"description": "Npm package to upload to Artifact Registry upon successful completion of all build steps.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage", +"properties": { +"packagePath": { +"description": "Path to the package.json. e.g. workspace/path/to/package", +"type": "string" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY\" Npm package in the workspace specified by path will be zipped and uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage": { +"description": "Python package to upload to Artifact Registry upon successful completion of all build steps. A package can encapsulate multiple objects to be uploaded to a single repository.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage", +"properties": { +"paths": { +"description": "Path globs used to match files in the build's workspace. For Python/ Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.", +"items": { +"type": "string" +}, +"type": "array" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY\" Files in the workspace matching any path pattern will be uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Build": { +"description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Build", +"properties": { +"approval": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", +"description": "Output only. Describes this build's approval configuration, status, and result.", +"readOnly": true +}, +"artifacts": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", +"description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." +}, +"availableSecrets": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", +"description": "Secrets and secret environment variables." +}, +"buildTriggerId": { +"description": "Output only. The ID of the `BuildTrigger` that triggered this build, if it was triggered automatically.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time at which the request to create the build was received.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"failureInfo": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", +"description": "Output only. Contains information about the build when status=FAILURE.", +"readOnly": true +}, +"finishTime": { +"description": "Output only. Time at which execution of the build was finished. The difference between finish_time and start_time is the duration of the build's execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"gitConfig": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig", +"description": "Optional. Configuration for git operations." +}, +"id": { +"description": "Output only. Unique identifier of the build.", +"readOnly": true, +"type": "string" +}, +"images": { +"description": "A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the `Build` resource's results field. If any of the images fail to be pushed, the build status is marked `FAILURE`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logUrl": { +"description": "Output only. URL to logs for this build in Google Cloud Console.", +"readOnly": true, +"type": "string" +}, +"logsBucket": { +"description": "Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.", +"type": "string" +}, +"name": { +"description": "Output only. The 'Build' name with format: `projects/{project}/locations/{location}/builds/{build}`, where {build} is a unique identifier generated by the service.", +"readOnly": true, +"type": "string" +}, +"options": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", +"description": "Special options for this build." +}, +"projectId": { +"description": "Output only. ID of the project.", +"readOnly": true, +"type": "string" +}, +"queueTtl": { +"description": "TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be `EXPIRED`. The TTL starts ticking from create_time.", +"format": "google-duration", +"type": "string" +}, +"results": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", +"description": "Output only. Results of the build.", +"readOnly": true +}, +"secrets": { +"description": "Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret" +}, +"type": "array" +}, +"serviceAccount": { +"description": "IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. ", +"type": "string" +}, +"source": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", +"description": "Optional. The location of the source files to build." +}, +"sourceProvenance": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", +"description": "Output only. A permanent fixed identifier for source.", +"readOnly": true +}, +"startTime": { +"description": "Output only. Time at which execution of the build was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Status of the build.", +"enum": [ +"STATUS_UNKNOWN", +"PENDING", +"QUEUED", +"WORKING", +"SUCCESS", +"FAILURE", +"INTERNAL_ERROR", +"TIMEOUT", +"CANCELLED", +"EXPIRED" +], +"enumDescriptions": [ +"Status of the build is unknown.", +"Build has been created and is pending execution and queuing. It has not been queued.", +"Build or step is queued; work has not yet begun.", +"Build or step is being executed.", +"Build or step finished successfully.", +"Build or step failed to complete successfully.", +"Build or step failed due to an internal cause.", +"Build or step took longer than was allowed.", +"Build or step was canceled by a user.", +"Build was enqueued for longer than the value of `queue_ttl`." +], +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Customer-readable message about the current status.", +"readOnly": true, +"type": "string" +}, +"steps": { +"description": "Required. The operations to be performed on the workspace.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep" +}, +"type": "array" +}, +"substitutions": { +"additionalProperties": { +"type": "string" +}, +"description": "Substitutions data for `Build` resource.", +"type": "object" +}, +"tags": { +"description": "Tags for annotation of a `Build`. These are not docker tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeout": { +"description": "Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes.", +"format": "google-duration", +"type": "string" +}, +"timing": { +"additionalProperties": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan" +}, +"description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included.", +"readOnly": true, +"type": "object" +}, +"warnings": { +"description": "Output only. Non-fatal problems encountered during the execution of the build.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval": { +"description": "BuildApproval describes a build's approval configuration, state, and result.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", +"properties": { +"config": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", +"description": "Output only. Configuration for manual approval of this build.", +"readOnly": true +}, +"result": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", +"description": "Output only. Result of manual approval for this Build.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of this build's approval.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"APPROVED", +"REJECTED", +"CANCELLED" +], +"enumDescriptions": [ +"Default enum type. This should not be used.", +"Build approval is pending.", +"Build approval has been approved.", +"Build approval has been rejected.", +"Build was cancelled while it was still pending approval." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo": { +"description": "A fatal problem encountered during the execution of the build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", +"properties": { +"detail": { +"description": "Explains the failure issue in more detail using hard-coded text.", +"type": "string" +}, +"type": { +"description": "The name of the failure.", +"enum": [ +"FAILURE_TYPE_UNSPECIFIED", +"PUSH_FAILED", +"PUSH_IMAGE_NOT_FOUND", +"PUSH_NOT_AUTHORIZED", +"LOGGING_FAILURE", +"USER_BUILD_STEP", +"FETCH_SOURCE_FAILED" +], +"enumDescriptions": [ +"Type unspecified", +"Unable to push the image to the repository.", +"Final image not found.", +"Unauthorized push of the final image.", +"Backend logging failures. Should retry.", +"A build step has failed.", +"The source fetching has failed." +], +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions": { +"description": "Optional arguments to enable specific features of builds.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", +"properties": { +"automapSubstitutions": { +"description": "Option to include built-in and custom substitutions as env variables for all build steps.", +"type": "boolean" +}, +"defaultLogsBucketBehavior": { +"description": "Optional. Option to specify how default logs buckets are setup.", +"enum": [ +"DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED", +"REGIONAL_USER_OWNED_BUCKET", +"LEGACY_BUCKET" +], +"enumDescriptions": [ +"Unspecified.", +"Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.", +"Bucket is located in a Google-owned project and is not regionalized." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Requested disk size for the VM that runs the build. Note that this is *NOT* \"disk free\"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 4000GB; builds that request more than the maximum are rejected with an error.", +"format": "int64", +"type": "string" +}, +"dynamicSubstitutions": { +"description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", +"type": "boolean" +}, +"env": { +"description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"logStreamingOption": { +"description": "Option to define build log streaming behavior to Cloud Storage.", +"enum": [ +"STREAM_DEFAULT", +"STREAM_ON", +"STREAM_OFF" +], +"enumDescriptions": [ +"Service may automatically determine build log streaming behavior.", +"Build logs should be streamed to Cloud Storage.", +"Build logs should not be streamed to Cloud Storage; they will be written when the build is completed." +], +"type": "string" +}, +"logging": { +"description": "Option to specify the logging mode, which determines if and where build logs are stored.", +"enum": [ +"LOGGING_UNSPECIFIED", +"LEGACY", +"GCS_ONLY", +"STACKDRIVER_ONLY", +"CLOUD_LOGGING_ONLY", +"NONE" +], +"enumDeprecated": [ +false, +false, +false, +true, +false, +false +], +"enumDescriptions": [ +"The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", +"Build logs are stored in Cloud Logging and Cloud Storage.", +"Build logs are stored in Cloud Storage.", +"This option is the same as CLOUD_LOGGING_ONLY.", +"Build logs are stored in Cloud Logging. Selecting this option will not allow [logs streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).", +"Turn off all logging. No build logs will be captured." +], +"type": "string" +}, +"machineType": { +"description": "Compute Engine machine type on which to run the build.", +"enum": [ +"UNSPECIFIED", +"N1_HIGHCPU_8", +"N1_HIGHCPU_32", +"E2_HIGHCPU_8", +"E2_HIGHCPU_32", +"E2_MEDIUM" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Standard machine type.", +"Highcpu machine with 8 CPUs.", +"Highcpu machine with 32 CPUs.", +"Highcpu e2 machine with 8 CPUs.", +"Highcpu e2 machine with 32 CPUs.", +"E2 machine with 1 CPU." +], +"type": "string" +}, +"pool": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", +"description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." +}, +"requestedVerifyOption": { +"description": "Requested verifiability options.", +"enum": [ +"NOT_VERIFIED", +"VERIFIED" +], +"enumDescriptions": [ +"Not a verifiable build (the default).", +"Build must be verified." +], +"type": "string" +}, +"secretEnv": { +"description": "A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. These variables will be available to all build steps in this build.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceProvenanceHash": { +"description": "Requested hash for SourceProvenance.", +"items": { +"enum": [ +"NONE", +"SHA256", +"MD5", +"SHA512" +], +"enumDescriptions": [ +"No hash requested.", +"Use a sha256 hash.", +"Use a md5 hash.", +"Use a sha512 hash." +], +"type": "string" +}, +"type": "array" +}, +"substitutionOption": { +"description": "Option to specify behavior when there is an error in the substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file.", +"enum": [ +"MUST_MATCH", +"ALLOW_LOOSE" +], +"enumDescriptions": [ +"Fails the build if error in substitutions checks, like missing a substitution in the template or in the map.", +"Do not fail the build if error in substitutions checks." +], +"type": "string" +}, +"volumes": { +"description": "Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" +}, +"type": "array" +}, +"workerPool": { +"deprecated": true, +"description": "This field deprecated; please use `pool.name` instead.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption": { +"description": "Details about how a build should be executed on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", +"properties": { +"name": { +"description": "The `WorkerPool` resource to execute the build on. You must have `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format projects/{project}/locations/{location}/workerPools/{workerPoolId}", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep": { +"description": "A step in the build pipeline.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep", +"properties": { +"allowExitCodes": { +"description": "Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allow_failure is also specified, this field will take precedence.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"allowFailure": { +"description": "Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failure_detail field.", +"type": "boolean" +}, +"args": { +"description": "A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the `args` are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.", +"items": { +"type": "string" +}, +"type": "array" +}, +"automapSubstitutions": { +"description": "Option to include built-in and custom substitutions as env variables for this build step. This option will override the global option in BuildOption.", +"type": "boolean" +}, +"dir": { +"description": "Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a `volume` for that path is specified. If the build specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution.", +"type": "string" +}, +"entrypoint": { +"description": "Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.", +"type": "string" +}, +"env": { +"description": "A list of environment variable definitions to be used when running a step. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"exitCode": { +"description": "Output only. Return code from running the step.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"id": { +"description": "Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency.", +"type": "string" +}, +"name": { +"description": "Required. The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also have cached many of the layers for some popular images, like \"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.", +"type": "string" +}, +"pullTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pulling this build step's builder image only.", +"readOnly": true +}, +"script": { +"description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", +"type": "string" +}, +"secretEnv": { +"description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.", +"enum": [ +"STATUS_UNKNOWN", +"PENDING", +"QUEUED", +"WORKING", +"SUCCESS", +"FAILURE", +"INTERNAL_ERROR", +"TIMEOUT", +"CANCELLED", +"EXPIRED" +], +"enumDescriptions": [ +"Status of the build is unknown.", +"Build has been created and is pending execution and queuing. It has not been queued.", +"Build or step is queued; work has not yet begun.", +"Build or step is being executed.", +"Build or step finished successfully.", +"Build or step failed to complete successfully.", +"Build or step failed due to an internal cause.", +"Build or step took longer than was allowed.", +"Build or step was canceled by a user.", +"Build was enqueued for longer than the value of `queue_ttl`." +], +"readOnly": true, +"type": "string" +}, +"timeout": { +"description": "Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.", +"format": "google-duration", +"type": "string" +}, +"timing": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for executing this build step.", +"readOnly": true +}, +"volumes": { +"description": "List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" +}, +"type": "array" +}, +"waitFor": { +"description": "The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning": { +"description": "A non-fatal problem encountered during the execution of the build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning", +"properties": { +"priority": { +"description": "The priority for this warning.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"INFO", +"WARNING", +"ALERT" +], +"enumDescriptions": [ +"Should not be used.", +"e.g. deprecation warnings and alternative feature highlights.", +"e.g. automated detection of possible issues with the build.", +"e.g. alerts that a feature used in the build is pending removal" +], +"type": "string" +}, +"text": { +"description": "Explanation of the warning generated.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage": { +"description": "An image built by the pipeline.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage", +"properties": { +"digest": { +"description": "Docker Registry 2.0 digest.", +"type": "string" +}, +"name": { +"description": "Name used to push the container image to Google Container Registry, as presented to `docker push`.", +"type": "string" +}, +"pushTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified image.", +"readOnly": true +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository": { +"description": "Location of the source in a 2nd-gen Google Cloud Build repository resource.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"repository": { +"description": "Required. Name of the Google Cloud Build repository, formatted as `projects/*/locations/*/connections/*/repositories/*`.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig": { +"description": "This config defines the location of a source through Developer Connect.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig", +"properties": { +"dir": { +"description": "Required. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"gitRepositoryLink": { +"description": "Required. The Developer Connect Git repository link, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes": { +"description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", +"properties": { +"fileHash": { +"description": "Collection of file hashes.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig": { +"description": "GitConfig is a configuration for git operations.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig", +"properties": { +"http": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig", +"description": "Configuration for HTTP related git operations." +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig": { +"description": "HttpConfig is a configuration for HTTP related git operations.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig", +"properties": { +"proxySecretVersionName": { +"description": "SecretVersion resource of the HTTP proxy URL. The Service Account used in the build (either the default Service Account or user-specified Service Account) should have `secretmanager.versions.access` permissions on this secret. The proxy URL should be in format `protocol://@]proxyhost[:port]`.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource": { +"description": "Location of the source in any accessible Git repository.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", +"type": "string" +}, +"revision": { +"description": "Optional. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. Cloud Build uses `git fetch` to fetch the revision from the Git repository; therefore make sure that the string you provide for `revision` is parsable by the command. For information on string values accepted by `git fetch`, see https://git-scm.com/docs/gitrevisions#_specifying_revisions. For information on `git fetch`, see https://git-scm.com/docs/git-fetch.", +"type": "string" +}, +"url": { +"description": "Required. Location of the Git repo to build. This will be used as a `git remote`, see https://git-scm.com/docs/git-remote.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Hash": { +"description": "Container message for hash values.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash", +"properties": { +"type": { +"description": "The type of hash that was performed.", +"enum": [ +"NONE", +"SHA256", +"MD5", +"SHA512" +], +"enumDescriptions": [ +"No hash requested.", +"Use a sha256 hash.", +"Use a md5 hash.", +"Use a sha512 hash." +], +"type": "string" +}, +"value": { +"description": "The hash value.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret": { +"description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret", +"properties": { +"envMap": { +"additionalProperties": { +"format": "byte", +"type": "string" +}, +"description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", +"type": "object" +}, +"kmsKeyName": { +"description": "Resource name of Cloud KMS crypto key to decrypt the encrypted value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource": { +"description": "Location of the source in a Google Cloud Source Repository.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", +"properties": { +"branchName": { +"description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +}, +"commitSha": { +"description": "Explicit commit SHA to build.", +"type": "string" +}, +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", +"type": "string" +}, +"invertRegex": { +"description": "Optional. Only trigger a build if the revision regex does NOT match the revision regex.", +"type": "boolean" +}, +"projectId": { +"description": "Optional. ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", +"type": "string" +}, +"repoName": { +"description": "Required. Name of the Cloud Source Repository.", +"type": "string" +}, +"substitutions": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Substitutions to use in a triggered build. Should only be used with RunBuildTrigger", +"type": "object" +}, +"tagName": { +"description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Results": { +"description": "Artifacts created by the build pipeline.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", +"properties": { +"artifactManifest": { +"description": "Path to the artifact manifest for non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", +"type": "string" +}, +"artifactTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Time to push all non-container artifacts to Cloud Storage." +}, +"buildStepImages": { +"description": "List of build step digests, in the order corresponding to build step indices.", +"items": { +"type": "string" +}, +"type": "array" +}, +"buildStepOutputs": { +"description": "List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"images": { +"description": "Container images that were built as a part of the build.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage" +}, +"type": "array" +}, +"mavenArtifacts": { +"description": "Maven artifacts uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact" +}, +"type": "array" +}, +"npmPackages": { +"description": "Npm packages uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage" +}, +"type": "array" +}, +"numArtifacts": { +"description": "Number of non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", +"format": "int64", +"type": "string" +}, +"pythonPackages": { +"description": "Python artifacts uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Secret": { +"description": "Pairs a set of secret environment variables containing encrypted values with the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with `secret`. For instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret", +"properties": { +"kmsKeyName": { +"description": "Cloud KMS key name to use to decrypt these envs.", +"type": "string" +}, +"secretEnv": { +"additionalProperties": { +"format": "byte", +"type": "string" +}, +"description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", +"type": "object" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret": { +"description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret", +"properties": { +"env": { +"description": "Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.", +"type": "string" +}, +"versionName": { +"description": "Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets": { +"description": "Secrets and secret environment variables.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", +"properties": { +"inline": { +"description": "Secrets encrypted with KMS key and the associated secret environment variable.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret" +}, +"type": "array" +}, +"secretManager": { +"description": "Secrets in Secret Manager and associated secret environment variable.", +"items": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Source": { +"description": "Location of the source in a supported storage service.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", +"properties": { +"connectedRepository": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository", +"description": "Optional. If provided, get the source from this 2nd-gen Google Cloud Build repository resource." +}, +"developerConnectConfig": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig", +"description": "If provided, get the source from this Developer Connect config." +}, +"gitSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource", +"description": "If provided, get the source from this Git repository." +}, +"repoSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", +"description": "If provided, get the source from this location in a Cloud Source Repository." +}, +"storageSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", +"description": "If provided, get the source from this location in Cloud Storage." +}, +"storageSourceManifest": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", +"description": "If provided, get the source from this manifest in Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher)." +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance": { +"description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", +"properties": { +"fileHashes": { +"additionalProperties": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes" +}, +"description": "Output only. Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file.", +"readOnly": true, +"type": "object" +}, +"resolvedConnectedRepository": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository", +"description": "Output only. A copy of the build's `source.connected_repository`, if exists, with any revisions resolved.", +"readOnly": true +}, +"resolvedGitSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource", +"description": "Output only. A copy of the build's `source.git_source`, if exists, with any revisions resolved.", +"readOnly": true +}, +"resolvedRepoSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", +"description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." +}, +"resolvedStorageSource": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", +"description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." +}, +"resolvedStorageSourceManifest": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", +"description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource": { +"description": "Location of the source in an archive file in Cloud Storage.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", +"properties": { +"bucket": { +"description": "Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Optional. Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Cloud Storage object containing the source. This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.", +"type": "string" +}, +"sourceFetcher": { +"description": "Optional. Option to specify the tool to fetch the source file for the build.", +"enum": [ +"SOURCE_FETCHER_UNSPECIFIED", +"GSUTIL", +"GCS_FETCHER" +], +"enumDescriptions": [ +"Unspecified defaults to GSUTIL.", +"Use the \"gsutil\" tool to download the source file.", +"Use the Cloud Storage Fetcher tool to download the source file." +], +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest": { +"description": "Location of the source manifest in Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", +"properties": { +"bucket": { +"description": "Required. Cloud Storage bucket containing the source manifest (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Cloud Storage object containing the source manifest. This object must be a JSON file.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan": { +"description": "Start and end times for a build execution phase.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"properties": { +"endTime": { +"description": "End of time span.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time span.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact": { +"description": "A Maven artifact uploaded using the MavenArtifact directive.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact", +"properties": { +"fileHashes": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the Maven Artifact." +}, +"pushTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded artifact.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage": { +"description": "An npm package uploaded to Artifact Registry using the NpmPackage directive.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage", +"properties": { +"fileHashes": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the npm package." +}, +"pushTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded npm package.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage": { +"description": "Artifact uploaded using the PythonPackage directive.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage", +"properties": { +"fileHashes": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the Python Artifact." +}, +"pushTiming": { +"$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded artifact.", +"type": "string" +} +}, +"type": "object" +}, +"ContaineranalysisGoogleDevtoolsCloudbuildV1Volume": { +"description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", +"id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume", +"properties": { +"name": { +"description": "Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.", +"type": "string" +}, +"path": { +"description": "Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.", +"type": "string" +} +}, +"type": "object" +}, +"CreateOperationRequest": { +"description": "Request for creating an operation", +"id": "CreateOperationRequest", +"properties": { +"operation": { +"$ref": "Operation", +"description": "The operation to create." +}, +"operationId": { +"description": "The ID to use for this operation.", +"type": "string" +} +}, +"type": "object" +}, +"DSSEAttestationNote": { +"description": "A note describing an attestation", +"id": "DSSEAttestationNote", +"properties": { +"hint": { +"$ref": "DSSEHint", +"description": "DSSEHint hints at the purpose of the attestation authority." +} +}, +"type": "object" +}, +"DSSEAttestationOccurrence": { +"description": "An occurrence describing an attestation on a resource", +"id": "DSSEAttestationOccurrence", +"properties": { +"envelope": { +"$ref": "Envelope", +"description": "If doing something security critical, make sure to verify the signatures in this metadata." +}, +"statement": { +"$ref": "InTotoStatement" +} +}, +"type": "object" +}, +"DSSEHint": { +"description": "This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.", +"id": "DSSEHint", +"properties": { +"humanReadableName": { +"description": "Required. The human readable name of this attestation authority, for example \"cloudbuild-prod\".", +"type": "string" +} +}, +"type": "object" +}, +"Deployable": { +"description": "An artifact that can be deployed in some runtime.", +"id": "Deployable", +"properties": { +"resourceUri": { +"description": "Resource URI for the artifact being deployed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Deployment": { +"description": "The period during which some deployable was active in a runtime.", +"id": "Deployment", +"properties": { +"address": { +"description": "Address of the runtime element hosting this deployment.", +"type": "string" +}, +"config": { +"description": "Configuration used to create this deployment.", +"type": "string" +}, +"deployTime": { +"description": "Beginning of the lifetime of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"platform": { +"description": "Platform hosting this deployment.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"GKE", +"FLEX", +"CUSTOM" +], +"enumDescriptions": [ +"Unknown", +"Google Container Engine", +"Google App Engine: Flexible Environment", +"Custom user-defined platform" +], +"type": "string" +}, +"resourceUri": { +"description": "Resource URI for the artifact being deployed taken from the deployable field with the same name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"undeployTime": { +"description": "End of the lifetime of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"userEmail": { +"description": "Identity of the user that triggered this deployment.", +"type": "string" +} +}, +"type": "object" +}, +"Derived": { +"description": "Derived describes the derived image portion (Occurrence) of the DockerImage relationship. This image would be produced from a Dockerfile with FROM .", +"id": "Derived", +"properties": { +"baseResourceUrl": { +"description": "Output only. This contains the base image URL for the derived image occurrence.", +"type": "string" +}, +"distance": { +"description": "Output only. The number of layers by which this image differs from the associated image basis.", +"format": "uint32", +"type": "integer" +}, +"fingerprint": { +"$ref": "Fingerprint", +"description": "The fingerprint of the derived image." +}, +"layerInfo": { +"description": "This contains layer-specific metadata, if populated it has length \"distance\" and is ordered with [distance] being the layer immediately following the base image and [1] being the final layer.", +"items": { +"$ref": "Layer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Detail": { +"description": "Identifies all occurrences of this vulnerability in the package for a specific distro/location For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2", +"id": "Detail", +"properties": { +"cpeUri": { +"description": "The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar. This field can be used as a filter in list requests.", +"type": "string" +}, +"description": { +"description": "A vendor-specific description of this note.", +"type": "string" +}, +"fixedLocation": { +"$ref": "VulnerabilityLocation", +"description": "The fix for this specific package version." +}, +"isObsolete": { +"description": "Whether this Detail is obsolete. Occurrences are expected not to point to obsolete details.", +"type": "boolean" +}, +"maxAffectedVersion": { +"$ref": "Version", +"description": "The max version of the package in which the vulnerability exists." +}, +"minAffectedVersion": { +"$ref": "Version", +"description": "The min version of the package in which the vulnerability exists." +}, +"package": { +"description": "The name of the package where the vulnerability was found. This field can be used as a filter in list requests.", +"type": "string" +}, +"packageType": { +"description": "The type of package; whether native or non native(ruby gems, node.js packages etc)", +"type": "string" +}, +"severityName": { +"description": "The severity (eg: distro assigned severity) for this vulnerability.", +"type": "string" +}, +"source": { +"description": "The source from which the information in this Detail was obtained.", +"type": "string" +}, +"vendor": { +"description": "The vendor of the product. e.g. \"google\"", +"type": "string" +} +}, +"type": "object" +}, +"Digest": { +"description": "Digest information.", +"id": "Digest", +"properties": { +"algo": { +"description": "`SHA1`, `SHA512` etc.", +"type": "string" +}, +"digestBytes": { +"description": "Value of the digest.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"Discovered": { +"description": "Provides information about the scan status of a discovered resource.", +"id": "Discovered", +"properties": { +"analysisCompleted": { +"$ref": "AnalysisCompleted", +"description": "The list of analysis that were completed for a resource." +}, +"analysisError": { +"description": "Indicates any errors encountered during analysis of a resource. There could be 0 or more of these errors.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"analysisStatus": { +"description": "The status of discovery for the resource.", +"enum": [ +"ANALYSIS_STATUS_UNSPECIFIED", +"PENDING", +"SCANNING", +"COMPLETE", +"FINISHED_SUCCESS", +"FINISHED_FAILED", +"FINISHED_UNSUPPORTED" +], +"enumDescriptions": [ +"Unknown", +"Resource is known but no action has been taken yet.", +"Resource is being analyzed.", +"Analysis has completed", +"Analysis has finished successfully.", +"Analysis has finished unsuccessfully, the analysis itself is in a bad state.", +"The resource is known not to be supported." +], +"type": "string" +}, +"analysisStatusError": { +"$ref": "Status", +"description": "When an error is encountered this will contain a LocalizedMessage under details to show to the user. The LocalizedMessage output only and populated by the API." +}, +"archiveTime": { +"description": "The time occurrences related to this discovery occurrence were archived.", +"format": "google-datetime", +"type": "string" +}, +"continuousAnalysis": { +"description": "Whether the resource is continuously analyzed.", +"enum": [ +"CONTINUOUS_ANALYSIS_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unknown", +"The resource is continuously analyzed.", +"The resource is ignored for continuous analysis." +], +"type": "string" +}, +"cpe": { +"description": "The CPE of the resource being scanned.", +"type": "string" +}, +"lastScanTime": { +"description": "The last time this resource was scanned.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "Output only. An operation that indicates the status of the current scan. This field is deprecated, do not use." +}, +"sbomStatus": { +"$ref": "SBOMStatus", +"description": "Output only. The status of an SBOM generation.", +"readOnly": true +}, +"vulnerabilityAttestation": { +"$ref": "VulnerabilityAttestation", +"description": "Output only. The status of a vulnerability attestation generation.", +"readOnly": true +} +}, +"type": "object" +}, +"Discovery": { +"description": "A note that indicates a type of analysis a provider would perform. This note exists in a provider's project. A `Discovery` occurrence is created in a consumer's project at the start of analysis. The occurrence's operation will indicate the status of the analysis. Absence of an occurrence linked to this note for a resource indicates that analysis hasn't started.", +"id": "Discovery", +"properties": { +"analysisKind": { +"description": "The kind of analysis that is handled by this discovery.", +"enum": [ +"KIND_UNSPECIFIED", +"PACKAGE_VULNERABILITY", +"BUILD_DETAILS", +"IMAGE_BASIS", +"PACKAGE_MANAGER", +"DEPLOYABLE", +"DISCOVERY", +"ATTESTATION_AUTHORITY", +"UPGRADE", +"COMPLIANCE", +"SBOM", +"SPDX_PACKAGE", +"SPDX_FILE", +"SPDX_RELATIONSHIP", +"DSSE_ATTESTATION", +"VULNERABILITY_ASSESSMENT", +"SBOM_REFERENCE" +], +"enumDescriptions": [ +"Unknown", +"The note and occurrence represent a package vulnerability.", +"The note and occurrence assert build provenance.", +"This represents an image basis relationship.", +"This represents a package installed via a package manager.", +"The note and occurrence track deployment events.", +"The note and occurrence track the initial discovery status of a resource.", +"This represents a logical \"role\" that can attest to artifacts.", +"This represents an available software upgrade.", +"This represents a compliance check that can be applied to a resource.", +"This represents a software bill of materials.", +"This represents an SPDX Package.", +"This represents an SPDX File.", +"This represents an SPDX Relationship.", +"This represents a DSSE attestation Note", +"This represents a Vulnerability Assessment.", +"This represents a reference to an SBOM." +], +"type": "string" +} +}, +"type": "object" +}, +"Distribution": { +"description": "This represents a particular channel of distribution for a given package. e.g. Debian's jessie-backports dpkg mirror", +"id": "Distribution", +"properties": { +"architecture": { +"description": "The CPU architecture for which packages in this distribution channel were built", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86", +"X64" +], +"enumDescriptions": [ +"Unknown architecture", +"X86 architecture", +"X64 architecture" +], +"type": "string" +}, +"cpeUri": { +"description": "The cpe_uri in [cpe format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.", +"type": "string" +}, +"description": { +"description": "The distribution channel-specific description of this package.", +"type": "string" +}, +"latestVersion": { +"$ref": "Version", +"description": "The latest available version of this package in this distribution channel." +}, +"maintainer": { +"description": "A freeform string denoting the maintainer of this package.", +"type": "string" +}, +"url": { +"description": "The distribution channel-specific homepage for this package.", +"type": "string" +} +}, +"type": "object" +}, +"DocumentNote": { +"description": "DocumentNote represents an SPDX Document Creation Infromation section: https://spdx.github.io/spdx-spec/2-document-creation-information/", +"id": "DocumentNote", +"properties": { +"dataLicence": { +"description": "Compliance with the SPDX specification includes populating the SPDX fields therein with data related to such fields (\"SPDX-Metadata\")", +"type": "string" +}, +"spdxVersion": { +"description": "Provide a reference number that can be used to understand how to parse and interpret the rest of the file", +"type": "string" +} +}, +"type": "object" +}, +"DocumentOccurrence": { +"description": "DocumentOccurrence represents an SPDX Document Creation Information section: https://spdx.github.io/spdx-spec/2-document-creation-information/", +"id": "DocumentOccurrence", +"properties": { +"createTime": { +"description": "Identify when the SPDX file was originally created. The date is to be specified according to combined date and time in UTC format as specified in ISO 8601 standard", +"format": "google-datetime", +"type": "string" +}, +"creatorComment": { +"description": "A field for creators of the SPDX file to provide general comments about the creation of the SPDX file or any other relevant comment not included in the other fields", +"type": "string" +}, +"creators": { +"description": "Identify who (or what, in the case of a tool) created the SPDX file. If the SPDX file was created by an individual, indicate the person's name", +"items": { +"type": "string" +}, +"type": "array" +}, +"documentComment": { +"description": "A field for creators of the SPDX file content to provide comments to the consumers of the SPDX document", +"type": "string" +}, +"externalDocumentRefs": { +"description": "Identify any external SPDX documents referenced within this SPDX document", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Identify the current SPDX document which may be referenced in relationships by other files, packages internally and documents externally", +"type": "string" +}, +"licenseListVersion": { +"description": "A field for creators of the SPDX file to provide the version of the SPDX License List used when the SPDX file was created", +"type": "string" +}, +"namespace": { +"description": "Provide an SPDX document specific namespace as a unique absolute Uniform Resource Identifier (URI) as specified in RFC-3986, with the exception of the \u2018#\u2019 delimiter", +"type": "string" +}, +"title": { +"description": "Identify name of this document as designated by creator", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Envelope": { +"description": "MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An authenticated message of arbitrary type.", +"id": "Envelope", +"properties": { +"payload": { +"description": "The bytes being signed", +"format": "byte", +"type": "string" +}, +"payloadType": { +"description": "The type of payload being signed", +"type": "string" +}, +"signatures": { +"description": "The signatures over the payload", +"items": { +"$ref": "EnvelopeSignature" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnvelopeSignature": { +"description": "A DSSE signature", +"id": "EnvelopeSignature", +"properties": { +"keyid": { +"description": "A reference id to the key being used for signing", +"type": "string" +}, +"sig": { +"description": "The signature itself", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"ExternalRef": { +"description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", +"id": "ExternalRef", +"properties": { +"category": { +"description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", +"enum": [ +"CATEGORY_UNSPECIFIED", +"SECURITY", +"PACKAGE_MANAGER", +"PERSISTENT_ID", +"OTHER" +], +"enumDescriptions": [ +"Unspecified", +"Security (e.g. cpe22Type, cpe23Type)", +"Package Manager (e.g. maven-central, npm, nuget, bower, purl)", +"Persistent-Id (e.g. swh)", +"Other" +], +"type": "string" +}, +"comment": { +"description": "Human-readable information about the purpose and target of the reference", +"type": "string" +}, +"locator": { +"description": "The unique string with no spaces necessary to access the package-specific information, metadata, or content within the target location", +"type": "string" +}, +"type": { +"description": "Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)", +"type": "string" +} +}, +"type": "object" +}, +"FileHashes": { +"description": "Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build.", +"id": "FileHashes", +"properties": { +"fileHash": { +"description": "Collection of file hashes.", +"items": { +"$ref": "Hash" +}, +"type": "array" +} +}, +"type": "object" +}, +"FileLocation": { +"description": "Indicates the location at which a package was found.", +"id": "FileLocation", +"properties": { +"filePath": { +"description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", +"type": "string" +} +}, +"type": "object" +}, +"FileNote": { +"description": "FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", +"id": "FileNote", +"properties": { +"checksum": { +"description": "Provide a unique identifier to match analysis information on each specific file in a package", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileType": { +"description": "This field provides information about the type of file identified", +"enum": [ +"FILE_TYPE_UNSPECIFIED", +"SOURCE", +"BINARY", +"ARCHIVE", +"APPLICATION", +"AUDIO", +"IMAGE", +"TEXT", +"VIDEO", +"DOCUMENTATION", +"SPDX", +"OTHER" +], +"enumDescriptions": [ +"Unspecified", +"The file is human readable source code (.c, .html, etc.)", +"The file is a compiled object, target image or binary executable (.o, .a, etc.)", +"The file represents an archive (.tar, .jar, etc.)", +"The file is associated with a specific application type (MIME type of application/*)", +"The file is associated with an audio file (MIME type of audio/* , e.g. .mp3)", +"The file is associated with an picture image file (MIME type of image/*, e.g., .jpg, .gif)", +"The file is human readable text file (MIME type of text/*)", +"The file is associated with a video file type (MIME type of video/*)", +"The file serves as documentation", +"The file is an SPDX document", +"The file doesn't fit into the above categories (generated artifacts, data files, etc.)" +], +"type": "string" +}, +"title": { +"description": "Identify the full path and filename that corresponds to the file information in this section", +"type": "string" +} +}, +"type": "object" +}, +"FileOccurrence": { +"description": "FileOccurrence represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", +"id": "FileOccurrence", +"properties": { +"attributions": { +"description": "This field provides a place for the SPDX data creator to record, at the file level, acknowledgements that may be needed to be communicated in some contexts", +"items": { +"type": "string" +}, +"type": "array" +}, +"comment": { +"description": "This field provides a place for the SPDX file creator to record any general comments about the file", +"type": "string" +}, +"contributors": { +"description": "This field provides a place for the SPDX file creator to record file contributors", +"items": { +"type": "string" +}, +"type": "array" +}, +"copyright": { +"description": "Identify the copyright holder of the file, as well as any dates present", +"type": "string" +}, +"filesLicenseInfo": { +"description": "This field contains the license information actually found in the file, if any", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", +"type": "string" +}, +"licenseConcluded": { +"$ref": "License", +"description": "This field contains the license the SPDX file creator has concluded as governing the file or alternative values if the governing license cannot be determined" +}, +"notice": { +"description": "This field provides a place for the SPDX file creator to record license notices or other such related notices found in the file", +"type": "string" +} +}, +"type": "object" +}, +"Fingerprint": { +"description": "A set of properties that uniquely identify a given Docker image.", +"id": "Fingerprint", +"properties": { +"v1Name": { +"description": "The layer-id of the final layer in the Docker image's v1 representation. This field can be used as a filter in list requests.", +"type": "string" +}, +"v2Blob": { +"description": "The ordered list of v2 blobs that represent a given image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"v2Name": { +"description": "Output only. The name of the image's v2 blobs computed via: [bottom] := v2_blobbottom := sha256(v2_blob[N] + \" \" + v2_name[N+1]) Only the name of the final blob is kept. This field can be used as a filter in list requests.", +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GetVulnzOccurrencesSummaryResponse": { +"description": "A summary of how many vulnz occurrences there are per severity type. counts by groups, or if we should have different summary messages like this.", +"id": "GetVulnzOccurrencesSummaryResponse", +"properties": { +"counts": { +"description": "A map of how many occurrences were found for each severity.", +"items": { +"$ref": "SeverityCount" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1AliasContext": { +"description": "An alias to a repo revision.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1AliasContext", +"properties": { +"kind": { +"description": "The alias kind.", +"enum": [ +"KIND_UNSPECIFIED", +"FIXED", +"MOVABLE", +"OTHER" +], +"enumDescriptions": [ +"Unknown.", +"Git tag.", +"Git branch.", +"Used to specify non-standard aliases. For example, if a Git repo has a ref named \"refs/foo/bar\"." +], +"type": "string" +}, +"name": { +"description": "The alias name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1CloudRepoSourceContext": { +"description": "A CloudRepoSourceContext denotes a particular revision in a Google Cloud Source Repo.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1CloudRepoSourceContext", +"properties": { +"aliasContext": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1AliasContext", +"description": "An alias, which may be a branch or tag." +}, +"repoId": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1RepoId", +"description": "The ID of the repo." +}, +"revisionId": { +"description": "A revision ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1GerritSourceContext": { +"description": "A SourceContext referring to a Gerrit project.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1GerritSourceContext", +"properties": { +"aliasContext": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1AliasContext", +"description": "An alias, which may be a branch or tag." +}, +"gerritProject": { +"description": "The full project name within the host. Projects may be nested, so \"project/subproject\" is a valid project name. The \"repo name\" is the hostURI/project.", +"type": "string" +}, +"hostUri": { +"description": "The URI of a running Gerrit instance.", +"type": "string" +}, +"revisionId": { +"description": "A revision (commit) ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext": { +"description": "A GitSourceContext denotes a particular revision in a third party Git repository (e.g., GitHub).", +"id": "GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext", +"properties": { +"revisionId": { +"description": "Required. Git commit hash.", +"type": "string" +}, +"url": { +"description": "Git repository URL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata": { +"description": "Metadata for all operations used and required for all operations that created by Container Analysis Providers", +"id": "GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata", +"properties": { +"createTime": { +"description": "Output only. The time this operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "Output only. The time that this operation was marked completed or failed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1ProjectRepoId": { +"description": "Selects a repo using a Google Cloud Platform project ID (e.g., winged-cargo-31) and a repo name within that project.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1ProjectRepoId", +"properties": { +"projectId": { +"description": "The ID of the project.", +"type": "string" +}, +"repoName": { +"description": "The name of the repo. Leave empty for the default repo.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1RepoId": { +"description": "A unique identifier for a Cloud Repo.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1RepoId", +"properties": { +"projectRepoId": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1ProjectRepoId", +"description": "A combination of a project ID and a repo name." +}, +"uid": { +"description": "A server-assigned, globally unique identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder": { +"description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder", +"properties": { +"id": { +"description": "URI indicating the builder\u2019s identity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness", +"properties": { +"environment": { +"description": "If true, the builder claims that invocation.environment is complete.", +"type": "boolean" +}, +"materials": { +"description": "If true, the builder claims that materials is complete.", +"type": "boolean" +}, +"parameters": { +"description": "If true, the builder claims that invocation.parameters is complete.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource": { +"description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "Collection of cryptographic digests for the contents of the artifact specified by invocation.configSource.uri.", +"type": "object" +}, +"entryPoint": { +"description": "String identifying the entry point into the build.", +"type": "string" +}, +"uri": { +"description": "URI indicating the identity of the source of the config.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation": { +"description": "Identifies the event that kicked off the build.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation", +"properties": { +"configSource": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource", +"description": "Describes where the config file that kicked off the build came from." +}, +"environment": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Any other builder-controlled inputs necessary for correctly evaluating the build.", +"type": "object" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Collection of all external inputs that influenced the build on top of invocation.configSource.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "Collection of cryptographic digests for the contents of this artifact.", +"type": "object" +}, +"uri": { +"description": "The method by which this artifact was referenced during the build.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata": { +"description": "Other properties of the build.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata", +"properties": { +"buildFinishedOn": { +"description": "The timestamp of when the build completed.", +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"description": "Identifies this particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis.", +"type": "string" +}, +"buildStartedOn": { +"description": "The timestamp of when the build started.", +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness", +"description": "Indicates that the builder claims certain fields in this message to be complete." +}, +"reproducible": { +"description": "If true, the builder claims that running invocation on materials will produce bit-for-bit identical output.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleDevtoolsContaineranalysisV1alpha1SourceContext": { +"description": "A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.", +"id": "GoogleDevtoolsContaineranalysisV1alpha1SourceContext", +"properties": { +"cloudRepo": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1CloudRepoSourceContext", +"description": "A SourceContext referring to a revision in a Google Cloud Source Repo." +}, +"gerrit": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1GerritSourceContext", +"description": "A SourceContext referring to a Gerrit project." +}, +"git": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext", +"description": "A SourceContext referring to any third party Git repo (e.g., GitHub)." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels with user defined metadata.", +"type": "object" +} +}, +"type": "object" +}, +"Hash": { +"description": "Container message for hash values.", +"id": "Hash", +"properties": { +"type": { +"description": "The type of hash that was performed.", +"enum": [ +"NONE", +"SHA256", +"GO_MODULE_H1" +], +"enumDescriptions": [ +"No hash requested.", +"A sha256 hash.", +"Dirhash of a Go module's source code which is then hex-encoded." +], +"type": "string" +}, +"value": { +"description": "The hash value.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"IdentifierHelper": { +"description": "Helps in identifying the underlying product. This should be treated like a one-of field. Only one field should be set in this proto. This is a workaround because spanner indexes on one-of fields restrict addition and deletion of fields.", +"id": "IdentifierHelper", +"properties": { +"field": { +"description": "The field that is set in the API proto.", +"enum": [ +"IDENTIFIER_HELPER_FIELD_UNSPECIFIED", +"GENERIC_URI" +], +"enumDescriptions": [ +"The helper isn't set.", +"The generic_uri one-of field is set." +], +"type": "string" +}, +"genericUri": { +"description": "Contains a URI which is vendor-specific. Example: The artifact repository URL of an image.", +"type": "string" +} +}, +"type": "object" +}, +"InTotoProvenance": { +"id": "InTotoProvenance", +"properties": { +"builderConfig": { +"$ref": "BuilderConfig", +"description": "required" +}, +"materials": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. This is considered to be incomplete unless metadata.completeness.materials is true. Unset or null is equivalent to empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadata": { +"$ref": "Metadata" +}, +"recipe": { +"$ref": "Recipe", +"description": "Identifies the configuration used for the build. When combined with materials, this SHOULD fully describe the build, such that re-running this recipe results in bit-for-bit identical output (if the build is reproducible). required" +} +}, +"type": "object" +}, +"InTotoSlsaProvenanceV1": { +"id": "InTotoSlsaProvenanceV1", +"properties": { +"_type": { +"description": "InToto spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement", +"type": "string" +}, +"predicate": { +"$ref": "SlsaProvenanceV1" +}, +"predicateType": { +"type": "string" +}, +"subject": { +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"InTotoStatement": { +"description": "Spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement The serialized InTotoStatement will be stored as Envelope.payload. Envelope.payloadType is always \"application/vnd.in-toto+json\".", +"id": "InTotoStatement", +"properties": { +"_type": { +"description": "Always \"https://in-toto.io/Statement/v0.1\".", +"type": "string" +}, +"predicateType": { +"description": "\"https://slsa.dev/provenance/v0.1\" for SlsaProvenance.", +"type": "string" +}, +"provenance": { +"$ref": "InTotoProvenance", +"description": "Generic Grafeas provenance." +}, +"slsaProvenance": { +"$ref": "SlsaProvenance", +"description": "SLSA 0.1 provenance." +}, +"slsaProvenanceZeroTwo": { +"$ref": "SlsaProvenanceZeroTwo", +"description": "SLSA 0.2 provenance." +}, +"subject": { +"description": "subject is the subjects of the intoto statement", +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"Installation": { +"description": "This represents how a particular software package may be installed on a system.", +"id": "Installation", +"properties": { +"architecture": { +"description": "Output only. The CPU architecture for which packages in this distribution channel were built. Architecture will be blank for language packages.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86", +"X64" +], +"enumDescriptions": [ +"Unknown architecture", +"X86 architecture", +"X64 architecture" +], +"readOnly": true, +"type": "string" +}, +"cpeUri": { +"description": "Output only. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package. The cpe_uri will be blank for language packages.", +"readOnly": true, +"type": "string" +}, +"license": { +"$ref": "License", +"description": "Licenses that have been declared by the authors of the package." +}, +"location": { +"description": "All of the places within the filesystem versions of this package have been found.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"name": { +"description": "Output only. The name of the installed package.", +"readOnly": true, +"type": "string" +}, +"packageType": { +"description": "Output only. The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).", +"readOnly": true, +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "Output only. The version of the package.", +"readOnly": true +} +}, +"type": "object" +}, +"Justification": { +"description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED.", +"id": "Justification", +"properties": { +"details": { +"description": "Additional details on why this justification was chosen.", +"type": "string" +}, +"justificationType": { +"description": "The justification type for this vulnerability.", +"enum": [ +"JUSTIFICATION_TYPE_UNSPECIFIED", +"COMPONENT_NOT_PRESENT", +"VULNERABLE_CODE_NOT_PRESENT", +"VULNERABLE_CODE_NOT_IN_EXECUTE_PATH", +"VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY", +"INLINE_MITIGATIONS_ALREADY_EXIST" +], +"enumDescriptions": [ +"JUSTIFICATION_TYPE_UNSPECIFIED.", +"The vulnerable component is not present in the product.", +"The vulnerable code is not present. Typically this case occurs when source code is configured or built in a way that excludes the vulnerable code.", +"The vulnerable code can not be executed. Typically this case occurs when the product includes the vulnerable code but does not call or use the vulnerable code.", +"The vulnerable code cannot be controlled by an attacker to exploit the vulnerability.", +"The product includes built-in protections or features that prevent exploitation of the vulnerability. These built-in protections cannot be subverted by the attacker and cannot be configured or disabled by the user. These mitigations completely prevent exploitation based on known attack vectors." +], +"type": "string" +} +}, +"type": "object" +}, +"Layer": { +"description": "Layer holds metadata specific to a layer of a Docker image.", +"id": "Layer", +"properties": { +"arguments": { +"description": "The recovered arguments to the Dockerfile directive.", +"type": "string" +}, +"directive": { +"description": "The recovered Dockerfile directive used to construct this layer.", +"enum": [ +"DIRECTIVE_UNSPECIFIED", +"MAINTAINER", +"RUN", +"CMD", +"LABEL", +"EXPOSE", +"ENV", +"ADD", +"COPY", +"ENTRYPOINT", +"VOLUME", +"USER", +"WORKDIR", +"ARG", +"ONBUILD", +"STOPSIGNAL", +"HEALTHCHECK", +"SHELL" +], +"enumDescriptions": [ +"Default value for unsupported/missing directive", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/reference/builder/#copy", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/", +"https://docs.docker.com/engine/reference/builder/" +], +"type": "string" +} +}, +"type": "object" +}, +"License": { +"description": "License information.", +"id": "License", +"properties": { +"comments": { +"description": "Comments", +"type": "string" +}, +"expression": { +"description": "Often a single license can be used to represent the licensing terms. Sometimes it is necessary to include a choice of one or more licenses or some combination of license identifiers. Examples: \"LGPL-2.1-only OR MIT\", \"LGPL-2.1-only AND MIT\", \"GPL-2.0-or-later WITH Bison-exception-2.2\".", +"type": "string" +} +}, +"type": "object" +}, +"ListNoteOccurrencesResponse": { +"description": "Response including listed occurrences for a note.", +"id": "ListNoteOccurrencesResponse", +"properties": { +"nextPageToken": { +"description": "Token to receive the next page of notes.", +"type": "string" +}, +"occurrences": { +"description": "The occurrences attached to the specified note.", +"items": { +"$ref": "Occurrence" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListNotesResponse": { +"description": "Response including listed notes.", +"id": "ListNotesResponse", +"properties": { +"nextPageToken": { +"description": "The next pagination token in the list response. It should be used as page_token for the following request. An empty value means no more result.", +"type": "string" +}, +"notes": { +"description": "The occurrences requested", +"items": { +"$ref": "Note" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOccurrencesResponse": { +"description": "Response including listed active occurrences.", +"id": "ListOccurrencesResponse", +"properties": { +"nextPageToken": { +"description": "The next pagination token in the list response. It should be used as `page_token` for the following request. An empty value means no more results.", +"type": "string" +}, +"occurrences": { +"description": "The occurrences requested.", +"items": { +"$ref": "Occurrence" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScanConfigsResponse": { +"description": "A list of scan configs for the project.", +"id": "ListScanConfigsResponse", +"properties": { +"nextPageToken": { +"description": "A page token to pass in order to get more scan configs.", +"type": "string" +}, +"scanConfigs": { +"description": "The set of scan configs.", +"items": { +"$ref": "ScanConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "An occurrence of a particular package installation found within a system's filesystem. e.g. glibc was found in /var/lib/dpkg/status", +"id": "Location", +"properties": { +"cpeUri": { +"description": "Deprecated. The cpe_uri in [cpe format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.", +"type": "string" +}, +"path": { +"description": "The path from which we gathered that this package/version is installed.", +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "Deprecated. The version installed at this location." +} +}, +"type": "object" +}, +"Material": { +"description": "Material is a material used in the generation of the provenance", +"id": "Material", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "digest is a map from a hash algorithm (e.g. sha256) to the value in the material", +"type": "object" +}, +"uri": { +"description": "uri is the uri of the material", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "Other properties of the build.", +"id": "Metadata", +"properties": { +"buildFinishedOn": { +"description": "The timestamp of when the build completed.", +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"description": "Identifies the particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis. The value SHOULD be globally unique, per in-toto Provenance spec.", +"type": "string" +}, +"buildStartedOn": { +"description": "The timestamp of when the build started.", +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "Completeness", +"description": "Indicates that the builder claims certain fields in this message to be complete." +}, +"reproducible": { +"description": "If true, the builder claims that running the recipe on materials will produce bit-for-bit identical output.", +"type": "boolean" +} +}, +"type": "object" +}, +"NonCompliantFile": { +"description": "Details about files that caused a compliance check to fail.", +"id": "NonCompliantFile", +"properties": { +"displayCommand": { +"description": "Command to display the non-compliant files.", +"type": "string" +}, +"path": { +"description": "display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using 'path'. Empty if `display_command` is set.", +"type": "string" +}, +"reason": { +"description": "Explains why a file is non compliant for a CIS check.", +"type": "string" +} +}, +"type": "object" +}, +"Note": { +"description": "Provides a detailed description of a `Note`.", +"id": "Note", +"properties": { +"attestationAuthority": { +"$ref": "AttestationAuthority", +"description": "A note describing an attestation role." +}, +"baseImage": { +"$ref": "Basis", +"description": "A note describing a base image." +}, +"buildType": { +"$ref": "BuildType", +"description": "Build provenance type for a verifiable build." +}, +"compliance": { +"$ref": "ComplianceNote", +"description": "A note describing a compliance check." +}, +"createTime": { +"description": "Output only. The time this note was created. This field can be used as a filter in list requests.", +"format": "google-datetime", +"type": "string" +}, +"deployable": { +"$ref": "Deployable", +"description": "A note describing something that can be deployed." +}, +"discovery": { +"$ref": "Discovery", +"description": "A note describing a provider/analysis type." +}, +"dsseAttestation": { +"$ref": "DSSEAttestationNote", +"description": "A note describing a dsse attestation note." +}, +"expirationTime": { +"description": "Time of expiration for this note, null if note does not expire.", +"format": "google-datetime", +"type": "string" +}, +"kind": { +"description": "Output only. This explicitly denotes which kind of note is specified. This field can be used as a filter in list requests.", +"enum": [ +"KIND_UNSPECIFIED", +"PACKAGE_VULNERABILITY", +"BUILD_DETAILS", +"IMAGE_BASIS", +"PACKAGE_MANAGER", +"DEPLOYABLE", +"DISCOVERY", +"ATTESTATION_AUTHORITY", +"UPGRADE", +"COMPLIANCE", +"SBOM", +"SPDX_PACKAGE", +"SPDX_FILE", +"SPDX_RELATIONSHIP", +"DSSE_ATTESTATION", +"VULNERABILITY_ASSESSMENT", +"SBOM_REFERENCE" +], +"enumDescriptions": [ +"Unknown", +"The note and occurrence represent a package vulnerability.", +"The note and occurrence assert build provenance.", +"This represents an image basis relationship.", +"This represents a package installed via a package manager.", +"The note and occurrence track deployment events.", +"The note and occurrence track the initial discovery status of a resource.", +"This represents a logical \"role\" that can attest to artifacts.", +"This represents an available software upgrade.", +"This represents a compliance check that can be applied to a resource.", +"This represents a software bill of materials.", +"This represents an SPDX Package.", +"This represents an SPDX File.", +"This represents an SPDX Relationship.", +"This represents a DSSE attestation Note", +"This represents a Vulnerability Assessment.", +"This represents a reference to an SBOM." +], +"type": "string" +}, +"longDescription": { +"description": "A detailed description of this `Note`.", +"type": "string" +}, +"name": { +"description": "The name of the note in the form \"projects/{provider_project_id}/notes/{NOTE_ID}\"", +"type": "string" +}, +"package": { +"$ref": "Package", +"description": "A note describing a package hosted by various package managers." +}, +"relatedUrl": { +"description": "URLs associated with this note", +"items": { +"$ref": "RelatedUrl" +}, +"type": "array" +}, +"sbom": { +"$ref": "DocumentNote", +"description": "A note describing a software bill of materials." +}, +"sbomReference": { +"$ref": "SBOMReferenceNote", +"description": "A note describing a reference to an SBOM." +}, +"shortDescription": { +"description": "A one sentence description of this `Note`.", +"type": "string" +}, +"spdxFile": { +"$ref": "FileNote", +"description": "A note describing an SPDX File." +}, +"spdxPackage": { +"$ref": "PackageInfoNote", +"description": "A note describing an SPDX Package." +}, +"spdxRelationship": { +"$ref": "RelationshipNote", +"description": "A note describing a relationship between SPDX elements." +}, +"updateTime": { +"description": "Output only. The time this note was last updated. This field can be used as a filter in list requests.", +"format": "google-datetime", +"type": "string" +}, +"upgrade": { +"$ref": "UpgradeNote", +"description": "A note describing an upgrade." +}, +"vulnerabilityAssessment": { +"$ref": "VulnerabilityAssessmentNote", +"description": "A note describing a vulnerability assessment." +}, +"vulnerabilityType": { +"$ref": "VulnerabilityType", +"description": "A package vulnerability type of note." +} +}, +"type": "object" +}, +"Occurrence": { +"description": "`Occurrence` includes information about analysis occurrences for an image.", +"id": "Occurrence", +"properties": { +"attestation": { +"$ref": "Attestation", +"description": "Describes an attestation of an artifact." +}, +"buildDetails": { +"$ref": "BuildDetails", +"description": "Build details for a verifiable build." +}, +"compliance": { +"$ref": "ComplianceOccurrence", +"description": "Describes whether or not a resource passes compliance checks." +}, +"createTime": { +"description": "Output only. The time this `Occurrence` was created.", +"format": "google-datetime", +"type": "string" +}, +"deployment": { +"$ref": "Deployment", +"description": "Describes the deployment of an artifact on a runtime." +}, +"derivedImage": { +"$ref": "Derived", +"description": "Describes how this resource derives from the basis in the associated note." +}, +"discovered": { +"$ref": "Discovered", +"description": "Describes the initial scan status for this resource." +}, +"dsseAttestation": { +"$ref": "DSSEAttestationOccurrence", +"description": "This represents a DSSE attestation occurrence" +}, +"envelope": { +"$ref": "Envelope", +"description": "https://github.com/secure-systems-lab/dsse" +}, +"installation": { +"$ref": "Installation", +"description": "Describes the installation of a package on the linked resource." +}, +"kind": { +"description": "Output only. This explicitly denotes which of the `Occurrence` details are specified. This field can be used as a filter in list requests.", +"enum": [ +"KIND_UNSPECIFIED", +"PACKAGE_VULNERABILITY", +"BUILD_DETAILS", +"IMAGE_BASIS", +"PACKAGE_MANAGER", +"DEPLOYABLE", +"DISCOVERY", +"ATTESTATION_AUTHORITY", +"UPGRADE", +"COMPLIANCE", +"SBOM", +"SPDX_PACKAGE", +"SPDX_FILE", +"SPDX_RELATIONSHIP", +"DSSE_ATTESTATION", +"VULNERABILITY_ASSESSMENT", +"SBOM_REFERENCE" +], +"enumDescriptions": [ +"Unknown", +"The note and occurrence represent a package vulnerability.", +"The note and occurrence assert build provenance.", +"This represents an image basis relationship.", +"This represents a package installed via a package manager.", +"The note and occurrence track deployment events.", +"The note and occurrence track the initial discovery status of a resource.", +"This represents a logical \"role\" that can attest to artifacts.", +"This represents an available software upgrade.", +"This represents a compliance check that can be applied to a resource.", +"This represents a software bill of materials.", +"This represents an SPDX Package.", +"This represents an SPDX File.", +"This represents an SPDX Relationship.", +"This represents a DSSE attestation Note", +"This represents a Vulnerability Assessment.", +"This represents a reference to an SBOM." +], +"type": "string" +}, +"name": { +"description": "Output only. The name of the `Occurrence` in the form \"projects/{project_id}/occurrences/{OCCURRENCE_ID}\"", +"type": "string" +}, +"noteName": { +"description": "An analysis note associated with this image, in the form \"providers/{provider_id}/notes/{NOTE_ID}\" This field can be used as a filter in list requests.", +"type": "string" +}, +"remediation": { +"description": "A description of actions that can be taken to remedy the `Note`", +"type": "string" +}, +"resource": { +"$ref": "Resource", +"description": " The resource for which the `Occurrence` applies." +}, +"resourceUrl": { +"description": "The unique URL of the image or the container for which the `Occurrence` applies. For example, https://gcr.io/project/image@sha256:foo This field can be used as a filter in list requests.", +"type": "string" +}, +"sbom": { +"$ref": "DocumentOccurrence", +"description": "Describes a specific software bill of materials document." +}, +"sbomReference": { +"$ref": "SBOMReferenceOccurrence", +"description": "This represents an SBOM reference occurrence" +}, +"spdxFile": { +"$ref": "FileOccurrence", +"description": "Describes a specific SPDX File." +}, +"spdxPackage": { +"$ref": "PackageInfoOccurrence", +"description": "Describes a specific SPDX Package." +}, +"spdxRelationship": { +"$ref": "RelationshipOccurrence", +"description": "Describes a specific relationship between SPDX elements." +}, +"updateTime": { +"description": "Output only. The time this `Occurrence` was last updated.", +"format": "google-datetime", +"type": "string" +}, +"upgrade": { +"$ref": "UpgradeOccurrence", +"description": "Describes an upgrade." +}, +"vulnerabilityDetails": { +"$ref": "VulnerabilityDetails", +"description": "Details of a security vulnerability note." +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"Package": { +"description": "This represents a particular package that is distributed over various channels. e.g. glibc (aka libc6) is distributed by many, at various versions.", +"id": "Package", +"properties": { +"architecture": { +"description": "The CPU architecture for which packages in this distribution channel were built. Architecture will be blank for language packages.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86", +"X64" +], +"enumDescriptions": [ +"Unknown architecture", +"X86 architecture", +"X64 architecture" +], +"type": "string" +}, +"cpeUri": { +"description": "The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package. The cpe_uri will be blank for language packages.", +"type": "string" +}, +"description": { +"description": "The description of this package.", +"type": "string" +}, +"digest": { +"description": "Hash value, typically a file digest, that allows unique identification a specific package.", +"items": { +"$ref": "Digest" +}, +"type": "array" +}, +"distribution": { +"description": "The various channels by which a package is distributed.", +"items": { +"$ref": "Distribution" +}, +"type": "array" +}, +"license": { +"$ref": "License", +"description": "Licenses that have been declared by the authors of the package." +}, +"maintainer": { +"description": "A freeform text denoting the maintainer of this package.", +"type": "string" +}, +"name": { +"description": "The name of the package.", +"type": "string" +}, +"packageType": { +"description": "The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).", +"type": "string" +}, +"url": { +"description": "The homepage for this package.", +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "The version of the package." +} +}, +"type": "object" +}, +"PackageInfoNote": { +"description": "PackageInfoNote represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", +"id": "PackageInfoNote", +"properties": { +"analyzed": { +"description": "Indicates whether the file content of this package has been available for or subjected to analysis when creating the SPDX document", +"type": "boolean" +}, +"attribution": { +"description": "A place for the SPDX data creator to record, at the package level, acknowledgements that may be needed to be communicated in some contexts", +"type": "string" +}, +"checksum": { +"description": "Provide an independently reproducible mechanism that permits unique identification of a specific package that correlates to the data in this SPDX file", +"type": "string" +}, +"copyright": { +"description": "Identify the copyright holders of the package, as well as any dates present", +"type": "string" +}, +"detailedDescription": { +"description": "A more detailed description of the package", +"type": "string" +}, +"downloadLocation": { +"description": "This section identifies the download Universal Resource Locator (URL), or a specific location within a version control system (VCS) for the package at the time that the SPDX file was created", +"type": "string" +}, +"externalRefs": { +"description": "ExternalRef", +"items": { +"$ref": "ExternalRef" +}, +"type": "array" +}, +"filesLicenseInfo": { +"description": "Contain the license the SPDX file creator has concluded as governing the This field is to contain a list of all licenses found in the package. The relationship between licenses (i.e., conjunctive, disjunctive) is not specified in this field \u2013 it is simply a listing of all licenses found", +"items": { +"type": "string" +}, +"type": "array" +}, +"homePage": { +"description": "Provide a place for the SPDX file creator to record a web site that serves as the package's home page", +"type": "string" +}, +"licenseDeclared": { +"$ref": "License", +"description": "List the licenses that have been declared by the authors of the package" +}, +"originator": { +"description": "If the package identified in the SPDX file originated from a different person or organization than identified as Package Supplier, this field identifies from where or whom the package originally came", +"type": "string" +}, +"packageType": { +"description": "The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", +"type": "string" +}, +"summaryDescription": { +"description": "A short description of the package", +"type": "string" +}, +"supplier": { +"description": "Identify the actual distribution source for the package/directory identified in the SPDX file", +"type": "string" +}, +"title": { +"description": "Identify the full name of the package as given by the Package Originator", +"type": "string" +}, +"verificationCode": { +"description": "This field provides an independently reproducible mechanism identifying specific contents of a package based on the actual files (except the SPDX file itself, if it is included in the package) that make up each package and that correlates to the data in this SPDX file", +"type": "string" +}, +"version": { +"description": "Identify the version of the package", +"type": "string" +} +}, +"type": "object" +}, +"PackageInfoOccurrence": { +"description": "PackageInfoOccurrence represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", +"id": "PackageInfoOccurrence", +"properties": { +"comment": { +"description": "A place for the SPDX file creator to record any general comments about the package being described", +"type": "string" +}, +"filename": { +"description": "Provide the actual file name of the package, or path of the directory being treated as a package", +"type": "string" +}, +"homePage": { +"description": "Output only. Provide a place for the SPDX file creator to record a web site that serves as the package's home page", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", +"type": "string" +}, +"licenseConcluded": { +"$ref": "License", +"description": "package or alternative values, if the governing license cannot be determined" +}, +"packageType": { +"description": "Output only. The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", +"readOnly": true, +"type": "string" +}, +"sourceInfo": { +"description": "Provide a place for the SPDX file creator to record any relevant background information or additional comments about the origin of the package", +"type": "string" +}, +"summaryDescription": { +"description": "Output only. A short description of the package", +"readOnly": true, +"type": "string" +}, +"title": { +"description": "Output only. Identify the full name of the package as given by the Package Originator", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. Identify the version of the package", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PackageIssue": { +"description": "This message wraps a location affected by a vulnerability and its associated fix (if one is available).", +"id": "PackageIssue", +"properties": { +"affectedLocation": { +"$ref": "VulnerabilityLocation", +"description": "The location of the vulnerability." +}, +"effectiveSeverity": { +"description": "Output only. The distro or language system assigned severity for this vulnerability when that is available and note provider assigned severity when distro or language system has not yet assigned a severity for this vulnerability.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"readOnly": true, +"type": "string" +}, +"fixedLocation": { +"$ref": "VulnerabilityLocation", +"description": "The location of the available fix for vulnerability." +}, +"packageType": { +"description": "The type of package (e.g. OS, MAVEN, GO).", +"type": "string" +}, +"severityName": { +"type": "string" +} +}, +"type": "object" +}, +"PgpSignedAttestation": { +"description": "An attestation wrapper with a PGP-compatible signature. This message only supports `ATTACHED` signatures, where the payload that is signed is included alongside the signature itself in the same file.", +"id": "PgpSignedAttestation", +"properties": { +"contentType": { +"description": "Type (for example schema) of the attestation payload that was signed. The verifier must ensure that the provided type is one that the verifier supports, and that the attestation payload is a valid instantiation of that type (for example by validating a JSON schema).", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"SIMPLE_SIGNING_JSON" +], +"enumDescriptions": [ +"`ContentType` is not set.", +"Atomic format attestation signature. See https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/docs/atomic-signature.md The payload extracted from `signature` is a JSON blob conforming to the linked schema." +], +"type": "string" +}, +"pgpKeyId": { +"description": "The cryptographic fingerprint of the key used to generate the signature, as output by, e.g. `gpg --list-keys`. This should be the version 4, full 160-bit fingerprint, expressed as a 40 character hexadecimal string. See https://tools.ietf.org/html/rfc4880#section-12.2 for details. Implementations may choose to acknowledge \"LONG\", \"SHORT\", or other abbreviated key IDs, but only the full fingerprint is guaranteed to work. In gpg, the full fingerprint can be retrieved from the `fpr` field returned when calling --list-keys with --with-colons. For example: ``` gpg --with-colons --with-fingerprint --force-v4-certs \\ --list-keys attester@example.com tru::1:1513631572:0:3:1:5 pub:...... fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB: ``` Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.", +"type": "string" +}, +"signature": { +"description": "The raw content of the signature, as output by GNU Privacy Guard (GPG) or equivalent. Since this message only supports attached signatures, the payload that was signed must be attached. While the signature format supported is dependent on the verification implementation, currently only ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor --output=signature.gpg payload.json` will create the signature content expected in this field in `signature.gpg` for the `payload.json` attestation payload.", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Product": { +"description": "Product contains information about a product and how to uniquely identify it.", +"id": "Product", +"properties": { +"id": { +"description": "Token that identifies a product so that it can be referred to from other parts in the document. There is no predefined format as long as it uniquely identifies a group in the context of the current document.", +"type": "string" +}, +"identifierHelper": { +"$ref": "IdentifierHelper", +"description": "Helps in identifying the underlying product." +}, +"name": { +"description": "Name of the product.", +"type": "string" +} +}, +"type": "object" +}, +"ProvenanceBuilder": { +"id": "ProvenanceBuilder", +"properties": { +"builderDependencies": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +}, +"id": { +"type": "string" +}, +"version": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"Publisher": { +"description": "Publisher contains information about the publisher of this Note.", +"id": "Publisher", +"properties": { +"issuingAuthority": { +"description": "Provides information about the authority of the issuing party to release the document, in particular, the party's constituency and responsibilities or other obligations.", +"type": "string" +}, +"name": { +"description": "Name of the publisher. Examples: 'Google', 'Google Cloud Platform'.", +"type": "string" +}, +"publisherNamespace": { +"description": "The context or namespace. Contains a URL which is under control of the issuing party and can be used as a globally unique identifier for that issuing party. Example: https://csaf.io", +"type": "string" +} +}, +"type": "object" +}, +"Recipe": { +"description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", +"id": "Recipe", +"properties": { +"arguments": { +"description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"definedInMaterial": { +"description": "Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were \"make\", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64.", +"format": "int64", +"type": "string" +}, +"entryPoint": { +"description": "String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were \"make\", then this would reference the directory in which to run make as well as which target to use.", +"type": "string" +}, +"environment": { +"description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"type": { +"description": "URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.", +"type": "string" +} +}, +"type": "object" +}, +"RelatedUrl": { +"description": "Metadata for any related URL information", +"id": "RelatedUrl", +"properties": { +"label": { +"description": "Label to describe usage of the URL", +"type": "string" +}, +"url": { +"description": "Specific URL to associate with the note", +"type": "string" +} +}, +"type": "object" +}, +"RelationshipNote": { +"description": "RelationshipNote represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", +"id": "RelationshipNote", +"properties": { +"type": { +"description": "The type of relationship between the source and target SPDX elements", +"enum": [ +"RELATIONSHIP_TYPE_UNSPECIFIED", +"DESCRIBES", +"DESCRIBED_BY", +"CONTAINS", +"CONTAINED_BY", +"DEPENDS_ON", +"DEPENDENCY_OF", +"DEPENDENCY_MANIFEST_OF", +"BUILD_DEPENDENCY_OF", +"DEV_DEPENDENCY_OF", +"OPTIONAL_DEPENDENCY_OF", +"PROVIDED_DEPENDENCY_OF", +"TEST_DEPENDENCY_OF", +"RUNTIME_DEPENDENCY_OF", +"EXAMPLE_OF", +"GENERATES", +"GENERATED_FROM", +"ANCESTOR_OF", +"DESCENDANT_OF", +"VARIANT_OF", +"DISTRIBUTION_ARTIFACT", +"PATCH_FOR", +"PATCH_APPLIED", +"COPY_OF", +"FILE_ADDED", +"FILE_DELETED", +"FILE_MODIFIED", +"EXPANDED_FROM_ARCHIVE", +"DYNAMIC_LINK", +"STATIC_LINK", +"DATA_FILE_OF", +"TEST_CASE_OF", +"BUILD_TOOL_OF", +"DEV_TOOL_OF", +"TEST_OF", +"TEST_TOOL_OF", +"DOCUMENTATION_OF", +"OPTIONAL_COMPONENT_OF", +"METAFILE_OF", +"PACKAGE_OF", +"AMENDS", +"PREREQUISITE_FOR", +"HAS_PREREQUISITE", +"OTHER" +], +"enumDescriptions": [ +"Unspecified", +"Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", +"Is to be used when SPDXRef-A is described by SPDXREF-Document", +"Is to be used when SPDXRef-A contains SPDXRef-B", +"Is to be used when SPDXRef-A is contained by SPDXRef-B", +"Is to be used when SPDXRef-A depends on SPDXRef-B", +"Is to be used when SPDXRef-A is dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", +"Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", +"Is to be used when SPDXRef-A is an example of SPDXRef-B", +"Is to be used when SPDXRef-A generates SPDXRef-B", +"Is to be used when SPDXRef-A was generated from SPDXRef-B", +"Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", +"Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", +"Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", +"Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", +"Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", +"Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", +"Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", +"Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", +"Is to be used when SPDXRef-A dynamically links to SPDXRef-B", +"Is to be used when SPDXRef-A statically links to SPDXRef-B", +"Is to be used when SPDXRef-A is a data file used in SPDXRef-B", +"Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", +"Is to be used when SPDXRef-A is used to build SPDXRef-B", +"Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", +"Is to be used when SPDXRef-A is used for testing SPDXRef-B", +"Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", +"Is to be used when SPDXRef-A provides documentation of SPDXRef-B", +"Is to be used when SPDXRef-A is an optional component of SPDXRef-B", +"Is to be used when SPDXRef-A is a metafile of SPDXRef-B", +"Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", +"Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", +"Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", +"Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", +"Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" +], +"type": "string" +} +}, +"type": "object" +}, +"RelationshipOccurrence": { +"description": "RelationshipOccurrence represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", +"id": "RelationshipOccurrence", +"properties": { +"comment": { +"description": "A place for the SPDX file creator to record any general comments about the relationship", +"type": "string" +}, +"source": { +"description": "Also referred to as SPDXRef-A The source SPDX element (file, package, etc)", +"type": "string" +}, +"target": { +"description": "Also referred to as SPDXRef-B The target SPDC element (file, package, etc) In cases where there are \"known unknowns\", the use of the keyword NOASSERTION can be used The keywords NONE can be used to indicate that an SPDX element (package/file/snippet) has no other elements connected by some relationship to it", +"type": "string" +}, +"type": { +"description": "Output only. The type of relationship between the source and target SPDX elements", +"enum": [ +"RELATIONSHIP_TYPE_UNSPECIFIED", +"DESCRIBES", +"DESCRIBED_BY", +"CONTAINS", +"CONTAINED_BY", +"DEPENDS_ON", +"DEPENDENCY_OF", +"DEPENDENCY_MANIFEST_OF", +"BUILD_DEPENDENCY_OF", +"DEV_DEPENDENCY_OF", +"OPTIONAL_DEPENDENCY_OF", +"PROVIDED_DEPENDENCY_OF", +"TEST_DEPENDENCY_OF", +"RUNTIME_DEPENDENCY_OF", +"EXAMPLE_OF", +"GENERATES", +"GENERATED_FROM", +"ANCESTOR_OF", +"DESCENDANT_OF", +"VARIANT_OF", +"DISTRIBUTION_ARTIFACT", +"PATCH_FOR", +"PATCH_APPLIED", +"COPY_OF", +"FILE_ADDED", +"FILE_DELETED", +"FILE_MODIFIED", +"EXPANDED_FROM_ARCHIVE", +"DYNAMIC_LINK", +"STATIC_LINK", +"DATA_FILE_OF", +"TEST_CASE_OF", +"BUILD_TOOL_OF", +"DEV_TOOL_OF", +"TEST_OF", +"TEST_TOOL_OF", +"DOCUMENTATION_OF", +"OPTIONAL_COMPONENT_OF", +"METAFILE_OF", +"PACKAGE_OF", +"AMENDS", +"PREREQUISITE_FOR", +"HAS_PREREQUISITE", +"OTHER" +], +"enumDescriptions": [ +"Unspecified", +"Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", +"Is to be used when SPDXRef-A is described by SPDXREF-Document", +"Is to be used when SPDXRef-A contains SPDXRef-B", +"Is to be used when SPDXRef-A is contained by SPDXRef-B", +"Is to be used when SPDXRef-A depends on SPDXRef-B", +"Is to be used when SPDXRef-A is dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", +"Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", +"Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", +"Is to be used when SPDXRef-A is an example of SPDXRef-B", +"Is to be used when SPDXRef-A generates SPDXRef-B", +"Is to be used when SPDXRef-A was generated from SPDXRef-B", +"Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", +"Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", +"Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", +"Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", +"Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", +"Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", +"Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", +"Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", +"Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", +"Is to be used when SPDXRef-A dynamically links to SPDXRef-B", +"Is to be used when SPDXRef-A statically links to SPDXRef-B", +"Is to be used when SPDXRef-A is a data file used in SPDXRef-B", +"Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", +"Is to be used when SPDXRef-A is used to build SPDXRef-B", +"Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", +"Is to be used when SPDXRef-A is used for testing SPDXRef-B", +"Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", +"Is to be used when SPDXRef-A provides documentation of SPDXRef-B", +"Is to be used when SPDXRef-A is an optional component of SPDXRef-B", +"Is to be used when SPDXRef-A is a metafile of SPDXRef-B", +"Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", +"Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", +"Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", +"Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", +"Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Remediation": { +"description": "Specifies details on how to handle (and presumably, fix) a vulnerability.", +"id": "Remediation", +"properties": { +"details": { +"description": "Contains a comprehensive human-readable discussion of the remediation.", +"type": "string" +}, +"remediationType": { +"description": "The type of remediation that can be applied.", +"enum": [ +"REMEDIATION_TYPE_UNSPECIFIED", +"MITIGATION", +"NO_FIX_PLANNED", +"NONE_AVAILABLE", +"VENDOR_FIX", +"WORKAROUND" +], +"enumDescriptions": [ +"No remediation type specified.", +"A MITIGATION is available.", +"No fix is planned.", +"Not available.", +"A vendor fix is available.", +"A workaround is available." +], +"type": "string" +}, +"remediationUri": { +"$ref": "URI", +"description": "Contains the URL where to obtain the remediation." +} +}, +"type": "object" +}, +"RepoSource": { +"deprecated": true, +"description": "RepoSource describes the location of the source in a Google Cloud Source Repository.", +"id": "RepoSource", +"properties": { +"branchName": { +"description": "Name of the branch to build.", +"type": "string" +}, +"commitSha": { +"description": "Explicit commit SHA to build.", +"type": "string" +}, +"projectId": { +"description": "ID of the project that owns the repo.", +"type": "string" +}, +"repoName": { +"description": "Name of the repo.", +"type": "string" +}, +"tagName": { +"description": "Name of the tag to build.", +"type": "string" +} +}, +"type": "object" +}, +"Resource": { +"description": " Resource is an entity that can have metadata. E.g., a Docker image.", +"id": "Resource", +"properties": { +"contentHash": { +"$ref": "Hash", +"description": "The hash of the resource content. E.g., the Docker digest." +}, +"name": { +"description": "The name of the resource. E.g., the name of a Docker image - \"Debian\".", +"type": "string" +}, +"uri": { +"description": "The unique URI of the resource. E.g., \"https://gcr.io/project/image@sha256:foo\" for a Docker image.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceDescriptor": { +"id": "ResourceDescriptor", +"properties": { +"annotations": { +"additionalProperties": { +"type": "any" +}, +"type": "object" +}, +"content": { +"format": "byte", +"type": "string" +}, +"digest": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"downloadLocation": { +"type": "string" +}, +"mediaType": { +"type": "string" +}, +"name": { +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"RunDetails": { +"id": "RunDetails", +"properties": { +"builder": { +"$ref": "ProvenanceBuilder" +}, +"byproducts": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +}, +"metadata": { +"$ref": "BuildMetadata" +} +}, +"type": "object" +}, +"SBOMReferenceNote": { +"description": "The note representing an SBOM reference.", +"id": "SBOMReferenceNote", +"properties": { +"format": { +"description": "The format that SBOM takes. E.g. may be spdx, cyclonedx, etc...", +"type": "string" +}, +"version": { +"description": "The version of the format that the SBOM takes. E.g. if the format is spdx, the version may be 2.3.", +"type": "string" +} +}, +"type": "object" +}, +"SBOMReferenceOccurrence": { +"description": "The occurrence representing an SBOM reference as applied to a specific resource. The occurrence follows the DSSE specification. See https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more details.", +"id": "SBOMReferenceOccurrence", +"properties": { +"payload": { +"$ref": "SbomReferenceIntotoPayload", +"description": "The actual payload that contains the SBOM reference data." +}, +"payloadType": { +"description": "The kind of payload that SbomReferenceIntotoPayload takes. Since it's in the intoto format, this value is expected to be 'application/vnd.in-toto+json'.", +"type": "string" +}, +"signatures": { +"description": "The signatures over the payload.", +"items": { +"$ref": "EnvelopeSignature" +}, +"type": "array" +} +}, +"type": "object" +}, +"SBOMStatus": { +"description": "The status of an SBOM generation.", +"id": "SBOMStatus", +"properties": { +"error": { +"description": "Output only. If there was an error generating an SBOM, this will indicate what that error was.", +"readOnly": true, +"type": "string" +}, +"sbomState": { +"description": "Output only. The progress of the SBOM generation.", +"enum": [ +"SBOM_STATE_UNSPECIFIED", +"PENDING", +"COMPLETE" +], +"enumDescriptions": [ +"Default unknown state.", +"SBOM scanning is pending.", +"SBOM scanning has completed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SbomReferenceIntotoPayload": { +"description": "The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details.", +"id": "SbomReferenceIntotoPayload", +"properties": { +"_type": { +"description": "Identifier for the schema of the Statement.", +"type": "string" +}, +"predicate": { +"$ref": "SbomReferenceIntotoPredicate", +"description": "Additional parameters of the Predicate. Includes the actual data about the SBOM." +}, +"predicateType": { +"description": "URI identifying the type of the Predicate.", +"type": "string" +}, +"subject": { +"description": "Set of software artifacts that the attestation applies to. Each element represents a single software artifact.", +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"SbomReferenceIntotoPredicate": { +"description": "A predicate which describes the SBOM being referenced.", +"id": "SbomReferenceIntotoPredicate", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of algorithm to digest of the contents of the SBOM.", +"type": "object" +}, +"location": { +"description": "The location of the SBOM.", +"type": "string" +}, +"mimeType": { +"description": "The mime type of the SBOM.", +"type": "string" +}, +"referrerId": { +"description": "The person or system referring this predicate to the consumer.", +"type": "string" +} +}, +"type": "object" +}, +"ScanConfig": { +"description": "Indicates various scans and whether they are turned on or off.", +"id": "ScanConfig", +"properties": { +"createTime": { +"description": "Output only. The time this scan config was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Output only. A human-readable description of what the `ScanConfig` does.", +"type": "string" +}, +"enabled": { +"description": "Indicates whether the Scan is enabled.", +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the ScanConfig in the form \u201cprojects/{project_id}/scanConfigs/{scan_config_id}\".", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time this scan config was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +} +}, +"type": "object" +}, +"SeverityCount": { +"description": "The number of occurrences created for a specific severity.", +"id": "SeverityCount", +"properties": { +"count": { +"description": "The number of occurrences with the severity.", +"format": "int64", +"type": "string" +}, +"severity": { +"description": "The severity of the occurrences.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"type": "string" +} +}, +"type": "object" +}, +"SlsaBuilder": { +"description": "SlsaBuilder encapsulates the identity of the builder of this provenance.", +"id": "SlsaBuilder", +"properties": { +"id": { +"description": "id is the id of the slsa provenance builder", +"type": "string" +} +}, +"type": "object" +}, +"SlsaCompleteness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "SlsaCompleteness", +"properties": { +"arguments": { +"description": "If true, the builder claims that recipe.arguments is complete, meaning that all external inputs are properly captured in the recipe.", +"type": "boolean" +}, +"environment": { +"description": "If true, the builder claims that recipe.environment is claimed to be complete.", +"type": "boolean" +}, +"materials": { +"description": "If true, the builder claims that materials are complete, usually through some controls to prevent network access. Sometimes called \"hermetic\".", +"type": "boolean" +} +}, +"type": "object" +}, +"SlsaMetadata": { +"description": "Other properties of the build.", +"id": "SlsaMetadata", +"properties": { +"buildFinishedOn": { +"description": "The timestamp of when the build completed.", +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"description": "Identifies the particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis. The value SHOULD be globally unique, per in-toto Provenance spec.", +"type": "string" +}, +"buildStartedOn": { +"description": "The timestamp of when the build started.", +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "SlsaCompleteness", +"description": "Indicates that the builder claims certain fields in this message to be complete." +}, +"reproducible": { +"description": "If true, the builder claims that running the recipe on materials will produce bit-for-bit identical output.", +"type": "boolean" +} +}, +"type": "object" +}, +"SlsaProvenance": { +"description": "SlsaProvenance is the slsa provenance as defined by the slsa spec.", +"id": "SlsaProvenance", +"properties": { +"builder": { +"$ref": "SlsaBuilder", +"description": "builder is the builder of this provenance" +}, +"materials": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. This is considered to be incomplete unless metadata.completeness.materials is true. Unset or null is equivalent to empty.", +"items": { +"$ref": "Material" +}, +"type": "array" +}, +"metadata": { +"$ref": "SlsaMetadata", +"description": "metadata is the metadata of the provenance" +}, +"recipe": { +"$ref": "SlsaRecipe", +"description": "Identifies the configuration used for the build. When combined with materials, this SHOULD fully describe the build, such that re-running this recipe results in bit-for-bit identical output (if the build is reproducible)." +} +}, +"type": "object" +}, +"SlsaProvenanceV1": { +"description": "Keep in sync with schema at https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto Builder renamed to ProvenanceBuilder because of Java conflicts.", +"id": "SlsaProvenanceV1", +"properties": { +"buildDefinition": { +"$ref": "BuildDefinition" +}, +"runDetails": { +"$ref": "RunDetails" +} +}, +"type": "object" +}, +"SlsaProvenanceZeroTwo": { +"description": "SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2.", +"id": "SlsaProvenanceZeroTwo", +"properties": { +"buildConfig": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Lists the steps in the build.", +"type": "object" +}, +"buildType": { +"description": "URI indicating what type of build was performed.", +"type": "string" +}, +"builder": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder", +"description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance." +}, +"invocation": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation", +"description": "Identifies the event that kicked off the build." +}, +"materials": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", +"items": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial" +}, +"type": "array" +}, +"metadata": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata", +"description": "Other properties of the build." +} +}, +"type": "object" +}, +"SlsaRecipe": { +"description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", +"id": "SlsaRecipe", +"properties": { +"arguments": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different.", +"type": "object" +}, +"definedInMaterial": { +"description": "Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were \"make\", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64.", +"format": "int64", +"type": "string" +}, +"entryPoint": { +"description": "String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were \"make\", then this would reference the directory in which to run make as well as which target to use.", +"type": "string" +}, +"environment": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different.", +"type": "object" +}, +"type": { +"description": "URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.", +"type": "string" +} +}, +"type": "object" +}, +"Source": { +"description": "Source describes the location of the source used for the build.", +"id": "Source", +"properties": { +"additionalContexts": { +"description": "If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field.", +"items": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SourceContext" +}, +"type": "array" +}, +"artifactStorageSource": { +"$ref": "StorageSource", +"description": "If provided, the input binary artifacts for the build came from this location." +}, +"context": { +"$ref": "GoogleDevtoolsContaineranalysisV1alpha1SourceContext", +"description": "If provided, the source code used for the build came from this location." +}, +"fileHashes": { +"additionalProperties": { +"$ref": "FileHashes" +}, +"description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file.", +"type": "object" +}, +"repoSource": { +"$ref": "RepoSource", +"deprecated": true, +"description": "If provided, get source from this location in a Cloud Repo." +}, +"storageSource": { +"$ref": "StorageSource", +"deprecated": true, +"description": "If provided, get the source from this location in Google Cloud Storage." +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StorageSource": { +"description": "StorageSource describes the location of the source in an archive file in Google Cloud Storage.", +"id": "StorageSource", +"properties": { +"bucket": { +"description": "Google Cloud Storage bucket containing source (see [Bucket Name Requirements] (https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Google Cloud Storage generation for the object.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Google Cloud Storage object containing source.", +"type": "string" +} +}, +"type": "object" +}, +"Subject": { +"description": "Subject refers to the subject of the intoto statement", +"id": "Subject", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "\"\": \"\" Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet", +"type": "object" +}, +"name": { +"description": "name is the name of the Subject used here", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TimeSpan": { +"description": "Start and end times for a build execution phase. Next ID: 3", +"id": "TimeSpan", +"properties": { +"endTime": { +"description": "End of time span.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time span.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"URI": { +"description": "An URI message.", +"id": "URI", +"properties": { +"label": { +"description": "A label for the URI.", +"type": "string" +}, +"uri": { +"description": "The unique resource identifier.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateOperationRequest": { +"description": "Request for updating an existing operation", +"id": "UpdateOperationRequest", +"properties": { +"operation": { +"$ref": "Operation", +"description": "The operation to create." +}, +"updateMask": { +"description": "The fields to update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeDistribution": { +"description": "The Upgrade Distribution represents metadata about the Upgrade for each operating system (CPE). Some distributions have additional metadata around updates, classifying them into various categories and severities.", +"id": "UpgradeDistribution", +"properties": { +"classification": { +"description": "The operating system classification of this Upgrade, as specified by the upstream operating system upgrade feed.", +"type": "string" +}, +"cpeUri": { +"description": "Required - The specific operating system this metadata applies to. See https://cpe.mitre.org/specification/.", +"type": "string" +}, +"cve": { +"description": "The cve that would be resolved by this upgrade.", +"items": { +"type": "string" +}, +"type": "array" +}, +"severity": { +"description": "The severity as specified by the upstream operating system.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeNote": { +"description": "An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be a Upgrade Note.", +"id": "UpgradeNote", +"properties": { +"distributions": { +"description": "Metadata about the upgrade for each specific operating system.", +"items": { +"$ref": "UpgradeDistribution" +}, +"type": "array" +}, +"package": { +"description": "Required - The package this Upgrade is for.", +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "Required - The version of the package in machine + human readable form." +} +}, +"type": "object" +}, +"UpgradeOccurrence": { +"description": "An Upgrade Occurrence represents that a specific resource_url could install a specific upgrade. This presence is supplied via local sources (i.e. it is present in the mirror and the running system has noticed its availability).", +"id": "UpgradeOccurrence", +"properties": { +"distribution": { +"$ref": "UpgradeDistribution", +"description": "Metadata about the upgrade for available for the specific operating system for the resource_url. This allows efficient filtering, as well as making it easier to use the occurrence." +}, +"package": { +"description": "Required - The package this Upgrade is for.", +"type": "string" +}, +"parsedVersion": { +"$ref": "Version", +"description": "Required - The version of the package in a machine + human readable form." +} +}, +"type": "object" +}, +"Version": { +"description": "Version contains structured information about the version of the package. For a discussion of this in Debian/Ubuntu: http://serverfault.com/questions/604541/debian-packages-version-convention For a discussion of this in Redhat/Fedora/Centos: http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/", +"id": "Version", +"properties": { +"epoch": { +"description": "Used to correct mistakes in the version numbering scheme.", +"format": "int32", +"type": "integer" +}, +"inclusive": { +"description": "Whether this version is vulnerable, when defining the version bounds. For example, if the minimum version is 2.0, inclusive=true would say 2.0 is vulnerable, while inclusive=false would say it's not", +"type": "boolean" +}, +"kind": { +"description": "Distinguish between sentinel MIN/MAX versions and normal versions. If kind is not NORMAL, then the other fields are ignored.", +"enum": [ +"NORMAL", +"MINIMUM", +"MAXIMUM" +], +"enumDescriptions": [ +"A standard package version, defined by the other fields.", +"A special version representing negative infinity, other fields are ignored.", +"A special version representing positive infinity, other fields are ignored." +], +"type": "string" +}, +"name": { +"description": "The main part of the version name.", +"type": "string" +}, +"revision": { +"description": "The iteration of the package build from the above version.", +"type": "string" +} +}, +"type": "object" +}, +"VexAssessment": { +"description": "VexAssessment provides all publisher provided Vex information that is related to this vulnerability.", +"id": "VexAssessment", +"properties": { +"cve": { +"description": "Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) tracking number for the vulnerability.", +"type": "string" +}, +"impacts": { +"description": "Contains information about the impact of this vulnerability, this will change with time.", +"items": { +"type": "string" +}, +"type": "array" +}, +"justification": { +"$ref": "Justification", +"description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED." +}, +"noteName": { +"description": "The VulnerabilityAssessment note from which this VexAssessment was generated. This will be of the form: `projects/[PROJECT_ID]/notes/[NOTE_ID]`.", +"type": "string" +}, +"relatedUris": { +"description": "Holds a list of references associated with this vulnerability item and assessment. These uris have additional information about the vulnerability and the assessment itself. E.g. Link to a document which details how this assessment concluded the state of this vulnerability.", +"items": { +"$ref": "URI" +}, +"type": "array" +}, +"remediations": { +"description": "Specifies details on how to handle (and presumably, fix) a vulnerability.", +"items": { +"$ref": "Remediation" +}, +"type": "array" +}, +"state": { +"description": "Provides the state of this Vulnerability assessment.", +"enum": [ +"STATE_UNSPECIFIED", +"AFFECTED", +"NOT_AFFECTED", +"FIXED", +"UNDER_INVESTIGATION" +], +"enumDescriptions": [ +"No state is specified.", +"This product is known to be affected by this vulnerability.", +"This product is known to be not affected by this vulnerability.", +"This product contains a fix for this vulnerability.", +"It is not known yet whether these versions are or are not affected by the vulnerability. However, it is still under investigation." +], +"type": "string" +}, +"vulnerabilityId": { +"description": "The vulnerability identifier for this Assessment. Will hold one of common identifiers e.g. CVE, GHSA etc.", +"type": "string" +} +}, +"type": "object" +}, +"Volume": { +"description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution. Next ID: 3", +"id": "Volume", +"properties": { +"name": { +"description": "Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.", +"type": "string" +}, +"path": { +"description": "Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.", +"type": "string" +} +}, +"type": "object" +}, +"VulnerabilityAssessmentNote": { +"description": "A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE. Multiple VulnerabilityAssessmentNotes together form a Vex statement. Please go/sds-vex-example for a sample Vex statement in the CSAF format.", +"id": "VulnerabilityAssessmentNote", +"properties": { +"assessment": { +"$ref": "Assessment", +"description": "Represents a vulnerability assessment for the product." +}, +"languageCode": { +"description": "Identifies the language used by this document, corresponding to IETF BCP 47 / RFC 5646.", +"type": "string" +}, +"longDescription": { +"description": "A detailed description of this Vex.", +"type": "string" +}, +"product": { +"$ref": "Product", +"description": "The product affected by this vex." +}, +"publisher": { +"$ref": "Publisher", +"description": "Publisher details of this Note." +}, +"shortDescription": { +"description": "A one sentence description of this Vex.", +"type": "string" +}, +"title": { +"description": "The title of the note. E.g. `Vex-Debian-11.4`", +"type": "string" +} +}, +"type": "object" +}, +"VulnerabilityAttestation": { +"description": "The status of a vulnerability attestation generation.", +"id": "VulnerabilityAttestation", +"properties": { +"error": { +"description": "Output only. If failure, the error reason for why the attestation generation failed.", +"readOnly": true, +"type": "string" +}, +"lastAttemptTime": { +"description": "Output only. The last time we attempted to generate an attestation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The success/failure state of the latest attestation attempt.", +"enum": [ +"VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED", +"SUCCESS", +"FAILURE" +], +"enumDescriptions": [ +"Default unknown state.", +"Attestation was successfully generated and stored.", +"Attestation was unsuccessfully generated and stored." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VulnerabilityDetails": { +"description": "Used by Occurrence to point to where the vulnerability exists and how to fix it.", +"id": "VulnerabilityDetails", +"properties": { +"cvssScore": { +"description": "Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity.", +"format": "float", +"type": "number" +}, +"cvssV2": { +"$ref": "CVSS", +"description": "The CVSS v2 score of this vulnerability." +}, +"cvssV3": { +"$ref": "CVSS", +"description": "The CVSS v3 score of this vulnerability." +}, +"cvssVersion": { +"description": "Output only. CVSS version used to populate cvss_score and severity.", +"enum": [ +"CVSS_VERSION_UNSPECIFIED", +"CVSS_VERSION_2", +"CVSS_VERSION_3" +], +"enumDescriptions": [ +"CVSS Version unspecified.", +"CVSS v2.", +"CVSS v3." +], +"readOnly": true, +"type": "string" +}, +"effectiveSeverity": { +"description": "The distro assigned severity for this vulnerability when that is available and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple package issues for this vulnerability, they can have different effective severities because some might come from the distro and some might come from installed language packs (e.g. Maven JARs or Go binaries). For this reason, it is advised to use the effective severity on the PackageIssue level, as this field may eventually be deprecated. In the case where multiple PackageIssues have different effective severities, the one set here will be the highest severity of any of the PackageIssues.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"type": "string" +}, +"extraDetails": { +"description": "Occurrence-specific extra details about the vulnerability.", +"type": "string" +}, +"packageIssue": { +"description": "The set of affected locations and their fixes (if available) within the associated resource.", +"items": { +"$ref": "PackageIssue" +}, +"type": "array" +}, +"severity": { +"description": "Output only. The note provider assigned Severity of the vulnerability.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"type": "string" +}, +"type": { +"description": "The type of package; whether native or non native(ruby gems, node.js packages etc). This may be deprecated in the future because we can have multiple PackageIssues with different package types.", +"type": "string" +}, +"vexAssessment": { +"$ref": "VexAssessment", +"description": "VexAssessment provides all publisher provided Vex information that is related to this vulnerability for this resource." +} +}, +"type": "object" +}, +"VulnerabilityLocation": { +"description": "The location of the vulnerability", +"id": "VulnerabilityLocation", +"properties": { +"cpeUri": { +"description": "The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) format. Examples include distro or storage location for vulnerable jar. This field can be used as a filter in list requests.", +"type": "string" +}, +"fileLocation": { +"description": "The file location at which this package was found.", +"items": { +"$ref": "FileLocation" +}, +"type": "array" +}, +"package": { +"description": "The package being described.", +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "The version of the package being described. This field can be used as a filter in list requests." +} +}, +"type": "object" +}, +"VulnerabilityType": { +"description": "VulnerabilityType provides metadata about a security vulnerability.", +"id": "VulnerabilityType", +"properties": { +"cvssScore": { +"description": "The CVSS score for this Vulnerability.", +"format": "float", +"type": "number" +}, +"cvssV2": { +"$ref": "CVSS", +"description": "The full description of the CVSS for version 2." +}, +"cvssVersion": { +"description": "CVSS version used to populate cvss_score and severity.", +"enum": [ +"CVSS_VERSION_UNSPECIFIED", +"CVSS_VERSION_2", +"CVSS_VERSION_3" +], +"enumDescriptions": [ +"CVSS Version unspecified.", +"CVSS v2.", +"CVSS v3." +], +"type": "string" +}, +"cwe": { +"description": "A list of CWE for this vulnerability. For details, see: https://cwe.mitre.org/index.html", +"items": { +"type": "string" +}, +"type": "array" +}, +"details": { +"description": "All information about the package to specifically identify this vulnerability. One entry per (version range and cpe_uri) the package vulnerability has manifested in.", +"items": { +"$ref": "Detail" +}, +"type": "array" +}, +"severity": { +"description": "Note provider assigned impact of the vulnerability", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown Impact", +"Minimal Impact", +"Low Impact", +"Medium Impact", +"High Impact", +"Critical Impact" +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Container Analysis API", +"version": "v1alpha1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datapipelines.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datapipelines.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..64476a9a1fe7646492cff9174534e51abbf21851 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datapipelines.v1.json @@ -0,0 +1,1024 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://datapipelines.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Datapipelines", +"description": "Data Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/dataflow/docs/guides/data-pipelines", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "datapipelines:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://datapipelines.mtls.googleapis.com/", +"name": "datapipelines", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"pipelines": { +"methods": { +"create": { +"description": "Creates a pipeline. For a batch pipeline, you can pass scheduler information. Data Pipelines uses the scheduler information to create an internal scheduler that runs jobs periodically. If the internal scheduler is not configured, you can use RunPipeline to run jobs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines", +"httpMethod": "POST", +"id": "datapipelines.projects.locations.pipelines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pipelines", +"request": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"response": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a pipeline. If a scheduler job is attached to the pipeline, it will be deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", +"httpMethod": "DELETE", +"id": "datapipelines.projects.locations.pipelines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Looks up a single pipeline. Returns a \"NOT_FOUND\" error if no such pipeline exists. Returns a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", +"httpMethod": "GET", +"id": "datapipelines.projects.locations.pipelines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists pipelines. Returns a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines", +"httpMethod": "GET", +"id": "datapipelines.projects.locations.pipelines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. If unspecified, all pipelines will be returned. Multiple filters can be applied and must be comma separated. Fields eligible for filtering are: + `type`: The type of the pipeline (streaming or batch). Allowed values are `ALL`, `BATCH`, and `STREAMING`. + `status`: The activity status of the pipeline. Allowed values are `ALL`, `ACTIVE`, `ARCHIVED`, and `PAUSED`. For example, to limit results to active batch processing pipelines: type:BATCH,status:ACTIVE", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of entities to return. The service may return fewer than this value, even if there are additional pages. If unspecified, the max limit is yet to be determined by the backend implementation.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListPipelines` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPipelines` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pipelines", +"response": { +"$ref": "GoogleCloudDatapipelinesV1ListPipelinesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a pipeline. If successful, the updated Pipeline is returned. Returns `NOT_FOUND` if the pipeline doesn't exist. If UpdatePipeline does not return successfully, you can retry the UpdatePipeline request until you receive a successful response.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", +"httpMethod": "PATCH", +"id": "datapipelines.projects.locations.pipelines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), and periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects). * `LOCATION_ID` is the canonical ID for the pipeline's location. The list of available locations can be obtained by calling `google.cloud.location.Locations.ListLocations`. Note that the Data Pipelines service is not available in all regions. It depends on Cloud Scheduler, an App Engine application, so it's only available in [App Engine regions](https://cloud.google.com/about/locations#region). * `PIPELINE_ID` is the ID of the pipeline. Must be unique for the selected project and location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"response": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Creates a job for the specified pipeline directly. You can use this method when the internal scheduler is not configured and you want to trigger the job directly or through an external system. Returns a \"NOT_FOUND\" error if the pipeline doesn't exist. Returns a \"FORBIDDEN\" error if the user doesn't have permission to access the pipeline or run jobs for the pipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:run", +"httpMethod": "POST", +"id": "datapipelines.projects.locations.pipelines.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:run", +"request": { +"$ref": "GoogleCloudDatapipelinesV1RunPipelineRequest" +}, +"response": { +"$ref": "GoogleCloudDatapipelinesV1RunPipelineResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Freezes pipeline execution permanently. If there's a corresponding scheduler entry, it's deleted, and the pipeline state is changed to \"ARCHIVED\". However, pipeline metadata is retained.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:stop", +"httpMethod": "POST", +"id": "datapipelines.projects.locations.pipelines.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "GoogleCloudDatapipelinesV1StopPipelineRequest" +}, +"response": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"jobs": { +"methods": { +"list": { +"description": "Lists jobs for a given pipeline. Throws a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}/jobs", +"httpMethod": "GET", +"id": "datapipelines.projects.locations.pipelines.jobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of entities to return. The service may return fewer than this value, even if there are additional pages. If unspecified, the max limit will be determined by the backend implementation.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListJobs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/jobs", +"response": { +"$ref": "GoogleCloudDatapipelinesV1ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://datapipelines.googleapis.com/", +"schemas": { +"GoogleCloudDatapipelinesV1DataflowJobDetails": { +"description": "Pipeline job details specific to the Dataflow API. This is encapsulated here to allow for more executors to store their specific details separately.", +"id": "GoogleCloudDatapipelinesV1DataflowJobDetails", +"properties": { +"currentWorkers": { +"description": "Output only. The current number of workers used to run the jobs. Only set to a value if the job is still running.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"resourceInfo": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "Cached version of all the metrics of interest for the job. This value gets stored here when the job is terminated. As long as the job is running, this field is populated from the Dataflow API.", +"type": "object" +}, +"sdkVersion": { +"$ref": "GoogleCloudDatapipelinesV1SdkVersion", +"description": "Output only. The SDK version used to run the job.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment": { +"description": "The environment values to be set at runtime for a Flex Template.", +"id": "GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the job.", +"items": { +"type": "string" +}, +"type": "array" +}, +"additionalUserLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional user labels to be specified for the job. Keys and values must follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). An object containing a list of key/value pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }`.", +"type": "object" +}, +"enableStreamingEngine": { +"description": "Whether to enable Streaming Engine for the job.", +"type": "boolean" +}, +"flexrsGoal": { +"description": "Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs", +"enum": [ +"FLEXRS_UNSPECIFIED", +"FLEXRS_SPEED_OPTIMIZED", +"FLEXRS_COST_OPTIMIZED" +], +"enumDescriptions": [ +"Run in the default mode.", +"Optimize for lower execution time.", +"Optimize for lower cost." +], +"type": "string" +}, +"ipConfiguration": { +"description": "Configuration for VM IPs.", +"enum": [ +"WORKER_IP_UNSPECIFIED", +"WORKER_IP_PUBLIC", +"WORKER_IP_PRIVATE" +], +"enumDescriptions": [ +"The configuration is unknown, or unspecified.", +"Workers should have public IP addresses.", +"Workers should have private IP addresses." +], +"type": "string" +}, +"kmsKeyName": { +"description": "Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/", +"type": "string" +}, +"machineType": { +"description": "The machine type to use for the job. Defaults to the value from the template if not specified.", +"type": "string" +}, +"maxWorkers": { +"description": "The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.", +"format": "int32", +"type": "integer" +}, +"network": { +"description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", +"type": "string" +}, +"numWorkers": { +"description": "The initial number of Compute Engine instances for the job.", +"format": "int32", +"type": "integer" +}, +"serviceAccountEmail": { +"description": "The email address of the service account to run the job as.", +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", +"type": "string" +}, +"tempLocation": { +"description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", +"type": "string" +}, +"workerRegion": { +"description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, defaults to the control plane region.", +"type": "string" +}, +"workerZone": { +"description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", +"type": "string" +}, +"zone": { +"description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1Job": { +"description": "Definition of the job information maintained by the pipeline. Fields in this entity are retrieved from the executor API (e.g. Dataflow API).", +"id": "GoogleCloudDatapipelinesV1Job", +"properties": { +"createTime": { +"description": "Output only. The time of job creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataflowJobDetails": { +"$ref": "GoogleCloudDatapipelinesV1DataflowJobDetails", +"description": "All the details that are specific to a Dataflow job." +}, +"endTime": { +"description": "Output only. The time of job termination. This is absent if the job is still running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The internal ID for the job.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. The fully qualified resource name for the job.", +"type": "string" +}, +"state": { +"description": "The current state of the job.", +"enum": [ +"STATE_UNSPECIFIED", +"STATE_PENDING", +"STATE_RUNNING", +"STATE_DONE", +"STATE_FAILED", +"STATE_CANCELLED" +], +"enumDescriptions": [ +"The job state isn't specified.", +"The job is waiting to start execution.", +"The job is executing.", +"The job has finished execution successfully.", +"The job has finished execution with a failure.", +"The job has been terminated upon user request." +], +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Status capturing any error code or message related to job creation or execution." +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter": { +"description": "Launch Flex Template parameter.", +"id": "GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter", +"properties": { +"containerSpecGcsPath": { +"description": "Cloud Storage path to a file with a JSON-serialized ContainerSpec as content.", +"type": "string" +}, +"environment": { +"$ref": "GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment", +"description": "The runtime environment for the Flex Template job." +}, +"jobName": { +"description": "Required. The job name to use for the created job. For an update job request, the job name should be the same as the existing running job.", +"type": "string" +}, +"launchOptions": { +"additionalProperties": { +"type": "string" +}, +"description": "Launch options for this Flex Template job. This is a common set of options across languages and templates. This should not be used to pass job parameters.", +"type": "object" +}, +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "The parameters for the Flex Template. Example: `{\"num_workers\":\"5\"}`", +"type": "object" +}, +"transformNameMappings": { +"additionalProperties": { +"type": "string" +}, +"description": "Use this to pass transform name mappings for streaming update jobs. Example: `{\"oldTransformName\":\"newTransformName\",...}`", +"type": "object" +}, +"update": { +"description": "Set this to true if you are sending a request to update a running streaming job. When set, the job name should be the same as the running job.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest": { +"description": "A request to launch a Dataflow job from a Flex Template.", +"id": "GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest", +"properties": { +"launchParameter": { +"$ref": "GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter", +"description": "Required. Parameter to launch a job from a Flex Template." +}, +"location": { +"description": "Required. The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request. For example, `us-central1`, `us-west1`.", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Cloud Platform project that the job belongs to.", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not actually executed. Defaults to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1LaunchTemplateParameters": { +"description": "Parameters to provide to the template being launched.", +"id": "GoogleCloudDatapipelinesV1LaunchTemplateParameters", +"properties": { +"environment": { +"$ref": "GoogleCloudDatapipelinesV1RuntimeEnvironment", +"description": "The runtime environment for the job." +}, +"jobName": { +"description": "Required. The job name to use for the created job.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "The runtime parameters to pass to the job.", +"type": "object" +}, +"transformNameMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Only applicable when updating a pipeline.", +"type": "object" +}, +"update": { +"description": "If set, replace the existing pipeline with the name specified by jobName with this pipeline, preserving state.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1LaunchTemplateRequest": { +"description": "A request to launch a template.", +"id": "GoogleCloudDatapipelinesV1LaunchTemplateRequest", +"properties": { +"gcsPath": { +"description": "A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with 'gs://'.", +"type": "string" +}, +"launchParameters": { +"$ref": "GoogleCloudDatapipelinesV1LaunchTemplateParameters", +"description": "The parameters of the template to launch. This should be part of the body of the POST request." +}, +"location": { +"description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Cloud Platform project that the job belongs to.", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not actually executed. Defaults to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1ListJobsResponse": { +"description": "Response message for ListJobs", +"id": "GoogleCloudDatapipelinesV1ListJobsResponse", +"properties": { +"jobs": { +"description": "Results that were accessible to the caller. Results are always in descending order of job creation date.", +"items": { +"$ref": "GoogleCloudDatapipelinesV1Job" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1ListPipelinesResponse": { +"description": "Response message for ListPipelines.", +"id": "GoogleCloudDatapipelinesV1ListPipelinesResponse", +"properties": { +"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" +}, +"pipelines": { +"description": "Results that matched the filter criteria and were accessible to the caller. Results are always in descending order of pipeline creation date.", +"items": { +"$ref": "GoogleCloudDatapipelinesV1Pipeline" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1Pipeline": { +"description": "The main pipeline entity and all the necessary metadata for launching and managing linked jobs.", +"id": "GoogleCloudDatapipelinesV1Pipeline", +"properties": { +"createTime": { +"description": "Output only. Immutable. The timestamp when the pipeline was initially created. Set by the Data Pipelines service.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the pipeline. It can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), and underscores (_).", +"type": "string" +}, +"jobCount": { +"description": "Output only. Number of jobs.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"lastUpdateTime": { +"description": "Output only. Immutable. The timestamp when the pipeline was last modified. Set by the Data Pipelines service.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), and periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects). * `LOCATION_ID` is the canonical ID for the pipeline's location. The list of available locations can be obtained by calling `google.cloud.location.Locations.ListLocations`. Note that the Data Pipelines service is not available in all regions. It depends on Cloud Scheduler, an App Engine application, so it's only available in [App Engine regions](https://cloud.google.com/about/locations#region). * `PIPELINE_ID` is the ID of the pipeline. Must be unique for the selected project and location.", +"type": "string" +}, +"pipelineSources": { +"additionalProperties": { +"type": "string" +}, +"description": "Immutable. The sources of the pipeline (for example, Dataplex). The keys and values are set by the corresponding sources during pipeline creation.", +"type": "object" +}, +"scheduleInfo": { +"$ref": "GoogleCloudDatapipelinesV1ScheduleSpec", +"description": "Internal scheduling information for a pipeline. If this information is provided, periodic jobs will be created per the schedule. If not, users are responsible for creating jobs externally." +}, +"schedulerServiceAccountEmail": { +"description": "Optional. A service account email to be used with the Cloud Scheduler job. If not specified, the default compute engine service account will be used.", +"type": "string" +}, +"state": { +"description": "Required. The state of the pipeline. When the pipeline is created, the state is set to 'PIPELINE_STATE_ACTIVE' by default. State changes can be requested by setting the state to stopping, paused, or resuming. State cannot be changed through UpdatePipeline requests.", +"enum": [ +"STATE_UNSPECIFIED", +"STATE_RESUMING", +"STATE_ACTIVE", +"STATE_STOPPING", +"STATE_ARCHIVED", +"STATE_PAUSED" +], +"enumDescriptions": [ +"The pipeline state isn't specified.", +"The pipeline is getting started or resumed. When finished, the pipeline state will be 'PIPELINE_STATE_ACTIVE'.", +"The pipeline is actively running.", +"The pipeline is in the process of stopping. When finished, the pipeline state will be 'PIPELINE_STATE_ARCHIVED'.", +"The pipeline has been stopped. This is a terminal state and cannot be undone.", +"The pipeline is paused. This is a non-terminal state. When the pipeline is paused, it will hold processing jobs, but can be resumed later. For a batch pipeline, this means pausing the scheduler job. For a streaming pipeline, creating a job snapshot to resume from will give the same effect." +], +"type": "string" +}, +"type": { +"description": "Required. The type of the pipeline. This field affects the scheduling of the pipeline and the type of metrics to show for the pipeline.", +"enum": [ +"PIPELINE_TYPE_UNSPECIFIED", +"PIPELINE_TYPE_BATCH", +"PIPELINE_TYPE_STREAMING" +], +"enumDescriptions": [ +"The pipeline type isn't specified.", +"A batch pipeline. It runs jobs on a specific schedule, and each job will automatically terminate once execution is finished.", +"A streaming pipeline. The underlying job is continuously running until it is manually terminated by the user. This type of pipeline doesn't have a schedule to run on, and the linked job gets created when the pipeline is created." +], +"type": "string" +}, +"workload": { +"$ref": "GoogleCloudDatapipelinesV1Workload", +"description": "Workload information for creating new jobs." +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1RunPipelineRequest": { +"description": "Request message for RunPipeline", +"id": "GoogleCloudDatapipelinesV1RunPipelineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1RunPipelineResponse": { +"description": "Response message for RunPipeline", +"id": "GoogleCloudDatapipelinesV1RunPipelineResponse", +"properties": { +"job": { +"$ref": "GoogleCloudDatapipelinesV1Job", +"description": "Job that was created as part of RunPipeline operation." +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1RuntimeEnvironment": { +"description": "The environment values to set at runtime.", +"id": "GoogleCloudDatapipelinesV1RuntimeEnvironment", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the job.", +"items": { +"type": "string" +}, +"type": "array" +}, +"additionalUserLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }.", +"type": "object" +}, +"bypassTempDirValidation": { +"description": "Whether to bypass the safety checks for the job's temporary directory. Use with caution.", +"type": "boolean" +}, +"enableStreamingEngine": { +"description": "Whether to enable Streaming Engine for the job.", +"type": "boolean" +}, +"ipConfiguration": { +"description": "Configuration for VM IPs.", +"enum": [ +"WORKER_IP_UNSPECIFIED", +"WORKER_IP_PUBLIC", +"WORKER_IP_PRIVATE" +], +"enumDescriptions": [ +"The configuration is unknown, or unspecified.", +"Workers should have public IP addresses.", +"Workers should have private IP addresses." +], +"type": "string" +}, +"kmsKeyName": { +"description": "Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/", +"type": "string" +}, +"machineType": { +"description": "The machine type to use for the job. Defaults to the value from the template if not specified.", +"type": "string" +}, +"maxWorkers": { +"description": "The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.", +"format": "int32", +"type": "integer" +}, +"network": { +"description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", +"type": "string" +}, +"numWorkers": { +"description": "The initial number of Compute Engine instances for the job.", +"format": "int32", +"type": "integer" +}, +"serviceAccountEmail": { +"description": "The email address of the service account to run the job as.", +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", +"type": "string" +}, +"tempLocation": { +"description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", +"type": "string" +}, +"workerRegion": { +"description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.", +"type": "string" +}, +"workerZone": { +"description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", +"type": "string" +}, +"zone": { +"description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1ScheduleSpec": { +"description": "Details of the schedule the pipeline runs on.", +"id": "GoogleCloudDatapipelinesV1ScheduleSpec", +"properties": { +"nextJobTime": { +"description": "Output only. When the next Scheduler job is going to run.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"schedule": { +"description": "Unix-cron format of the schedule. This information is retrieved from the linked Cloud Scheduler.", +"type": "string" +}, +"timeZone": { +"description": "Timezone ID. This matches the timezone IDs used by the Cloud Scheduler API. If empty, UTC time is assumed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1SdkVersion": { +"description": "The version of the SDK used to run the job.", +"id": "GoogleCloudDatapipelinesV1SdkVersion", +"properties": { +"sdkSupportStatus": { +"description": "The support status for this SDK version.", +"enum": [ +"UNKNOWN", +"SUPPORTED", +"STALE", +"DEPRECATED", +"UNSUPPORTED" +], +"enumDescriptions": [ +"Dataflow is unaware of this version.", +"This is a known version of an SDK, and is supported.", +"A newer version of the SDK exists, and an update is recommended.", +"This version of the SDK is deprecated and will eventually be unsupported.", +"Support for this SDK version has ended and it should no longer be used." +], +"type": "string" +}, +"version": { +"description": "The version of the SDK used to run the job.", +"type": "string" +}, +"versionDisplayName": { +"description": "A readable string describing the version of the SDK.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1StopPipelineRequest": { +"description": "Request message for StopPipeline.", +"id": "GoogleCloudDatapipelinesV1StopPipelineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDatapipelinesV1Workload": { +"description": "Workload details for creating the pipeline jobs.", +"id": "GoogleCloudDatapipelinesV1Workload", +"properties": { +"dataflowFlexTemplateRequest": { +"$ref": "GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest", +"description": "Template information and additional parameters needed to launch a Dataflow job using the flex launch API." +}, +"dataflowLaunchTemplateRequest": { +"$ref": "GoogleCloudDatapipelinesV1LaunchTemplateRequest", +"description": "Template information and additional parameters needed to launch a Dataflow job using the standard launch API." +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Data pipelines API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataportability.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataportability.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..681f0f31dfc942bcaaad45950b5c67eb79910314 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataportability.v1beta.json @@ -0,0 +1,756 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/dataportability.alerts.subscriptions": { +"description": "Move a copy of the Google Alerts subscriptions you created." +}, +"https://www.googleapis.com/auth/dataportability.businessmessaging.conversations": { +"description": "Move a copy of messages between you and the businesses you have conversations with across Google services." +}, +"https://www.googleapis.com/auth/dataportability.chrome.autofill": { +"description": "Move a copy of the information you entered into online forms in Chrome." +}, +"https://www.googleapis.com/auth/dataportability.chrome.bookmarks": { +"description": "Move a copy of pages you bookmarked in Chrome." +}, +"https://www.googleapis.com/auth/dataportability.chrome.dictionary": { +"description": "Move a copy of words you added to Chrome's dictionary." +}, +"https://www.googleapis.com/auth/dataportability.chrome.extensions": { +"description": "Move a copy of extensions you installed from the Chrome Web Store." +}, +"https://www.googleapis.com/auth/dataportability.chrome.history": { +"description": "Move a copy of sites you visited in Chrome." +}, +"https://www.googleapis.com/auth/dataportability.chrome.reading_list": { +"description": "Move a copy of pages you added to your reading list in Chrome." +}, +"https://www.googleapis.com/auth/dataportability.chrome.settings": { +"description": "Move a copy of your settings in Chrome." +}, +"https://www.googleapis.com/auth/dataportability.discover.follows": { +"description": "Move a copy of searches and sites you follow, saved by Discover." +}, +"https://www.googleapis.com/auth/dataportability.discover.likes": { +"description": "Move a copy of links to your liked documents, saved by Discover." +}, +"https://www.googleapis.com/auth/dataportability.discover.not_interested": { +"description": "Move a copy of content you marked as not interested, saved by Discover." +}, +"https://www.googleapis.com/auth/dataportability.maps.aliased_places": { +"description": "Move a copy of the places you labeled on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.commute_routes": { +"description": "Move a copy of your pinned trips on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.commute_settings": { +"description": "Move a copy of your commute settings on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.ev_profile": { +"description": "Move a copy of your electric vehicle profile on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.factual_contributions": { +"description": "Move a copy of the corrections you made to places or map information on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.offering_contributions": { +"description": "Move a copy of your updates to places on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.photos_videos": { +"description": "Move a copy of the photos and videos you posted on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.questions_answers": { +"description": "Move a copy of the questions and answers you posted on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.reviews": { +"description": "Move a copy of your reviews and posts on Maps." +}, +"https://www.googleapis.com/auth/dataportability.maps.starred_places": { +"description": "Move a copy of your Starred places list on Maps." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.maps": { +"description": "Move a copy of your Maps activity." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.myadcenter": { +"description": "Move a copy of your My Ad Center activity." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.play": { +"description": "Move a copy of your Google Play activity." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.search": { +"description": "Move a copy of your Google Search activity." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.shopping": { +"description": "Move a copy of your Shopping activity." +}, +"https://www.googleapis.com/auth/dataportability.myactivity.youtube": { +"description": "Move a copy of your YouTube activity." +}, +"https://www.googleapis.com/auth/dataportability.mymaps.maps": { +"description": "Move a copy of the maps you created in My Maps." +}, +"https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations": { +"description": "Move a copy of your food purchase and reservation activity." +}, +"https://www.googleapis.com/auth/dataportability.play.devices": { +"description": "Move a copy of information about your devices with Google Play Store installed." +}, +"https://www.googleapis.com/auth/dataportability.play.grouping": { +"description": "Move a copy of your Google Play Store Grouping tags created by app developers." +}, +"https://www.googleapis.com/auth/dataportability.play.installs": { +"description": "Move a copy of your Google Play Store app installations." +}, +"https://www.googleapis.com/auth/dataportability.play.library": { +"description": "Move a copy of your Google Play Store downloads, including books, games, and apps." +}, +"https://www.googleapis.com/auth/dataportability.play.playpoints": { +"description": "Move a copy of information about your Google Play Store Points." +}, +"https://www.googleapis.com/auth/dataportability.play.promotions": { +"description": "Move a copy of information about your Google Play Store promotions." +}, +"https://www.googleapis.com/auth/dataportability.play.purchases": { +"description": "Move a copy of your Google Play Store purchases." +}, +"https://www.googleapis.com/auth/dataportability.play.redemptions": { +"description": "Move a copy of your Google Play Store redemption activities." +}, +"https://www.googleapis.com/auth/dataportability.play.subscriptions": { +"description": "Move a copy of your Google Play Store subscriptions." +}, +"https://www.googleapis.com/auth/dataportability.play.usersettings": { +"description": "Move a copy of your Google Play Store user settings and preferences." +}, +"https://www.googleapis.com/auth/dataportability.saved.collections": { +"description": "Move a copy of your saved links, images, places, and collections from your use of Google services." +}, +"https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars": { +"description": "Move a copy of your media reviews on Google Search." +}, +"https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers": { +"description": "Move a copy of your self-reported video streaming provider preferences from Google Search and Google TV." +}, +"https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs": { +"description": "Move a copy of your indicated thumbs up and thumbs down on media in Google Search and Google TV." +}, +"https://www.googleapis.com/auth/dataportability.search_ugc.media.watched": { +"description": "Move a copy of information about the movies and TV shows you marked as watched on Google Search and Google TV." +}, +"https://www.googleapis.com/auth/dataportability.searchnotifications.settings": { +"description": "Move a copy of your notification settings on the Google Search app." +}, +"https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions": { +"description": "Move a copy of your notification subscriptions on Google Search app." +}, +"https://www.googleapis.com/auth/dataportability.shopping.addresses": { +"description": "Move a copy of your shipping information on Shopping." +}, +"https://www.googleapis.com/auth/dataportability.shopping.reviews": { +"description": "Move a copy of reviews you wrote about products or online stores on Google Search." +}, +"https://www.googleapis.com/auth/dataportability.streetview.imagery": { +"description": "Move a copy of the images and videos you uploaded to Street View." +}, +"https://www.googleapis.com/auth/dataportability.youtube.channel": { +"description": "Move a copy of information about your YouTube channel." +}, +"https://www.googleapis.com/auth/dataportability.youtube.clips": { +"description": "Move a copy of your YouTube clips metadata." +}, +"https://www.googleapis.com/auth/dataportability.youtube.comments": { +"description": "Move a copy of your YouTube comments." +}, +"https://www.googleapis.com/auth/dataportability.youtube.live_chat": { +"description": "Move a copy of your YouTube messages in live chat." +}, +"https://www.googleapis.com/auth/dataportability.youtube.music": { +"description": "Move a copy of your uploaded YouTube music tracks and your YouTube music library." +}, +"https://www.googleapis.com/auth/dataportability.youtube.playable": { +"description": "Move a copy of your YouTube playables saved game progress files." +}, +"https://www.googleapis.com/auth/dataportability.youtube.posts": { +"description": "Move a copy of your YouTube posts." +}, +"https://www.googleapis.com/auth/dataportability.youtube.private_playlists": { +"description": "Move a copy of your YouTube private playlists." +}, +"https://www.googleapis.com/auth/dataportability.youtube.private_videos": { +"description": "Move a copy of your private YouTube videos and information about them." +}, +"https://www.googleapis.com/auth/dataportability.youtube.public_playlists": { +"description": "Move a copy of your public YouTube playlists." +}, +"https://www.googleapis.com/auth/dataportability.youtube.public_videos": { +"description": "Move a copy of your public YouTube videos and information about them." +}, +"https://www.googleapis.com/auth/dataportability.youtube.shopping": { +"description": "Move a copy of your YouTube shopping wishlists, and wishlist items." +}, +"https://www.googleapis.com/auth/dataportability.youtube.subscriptions": { +"description": "Move a copy of your YouTube channel subscriptions, even if they're private." +}, +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists": { +"description": "Move a copy of your unlisted YouTube playlists." +}, +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos": { +"description": "Move a copy of your unlisted YouTube videos and information about them." +} +} +} +}, +"basePath": "", +"baseUrl": "https://dataportability.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Data Portability", +"description": "The Data Portability API lets you build applications that request authorization from a user to move a copy of data from Google services into your application. This enables data portability and facilitates switching services.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/data-portability", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "dataportability:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://dataportability.mtls.googleapis.com/", +"name": "dataportability", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"archiveJobs": { +"methods": { +"getPortabilityArchiveState": { +"description": "Retrieves the state of an Archive job for the Portability API.", +"flatPath": "v1beta/archiveJobs/{archiveJobsId}/portabilityArchiveState", +"httpMethod": "GET", +"id": "dataportability.archiveJobs.getPortabilityArchiveState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The archive job ID that is returned when you request the state of the job. The format is: archiveJobs/{archive_job}/portabilityArchiveState. archive_job is the job ID returned by the InitiatePortabilityArchiveResponse.", +"location": "path", +"pattern": "^archiveJobs/[^/]+/portabilityArchiveState$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "PortabilityArchiveState" +}, +"scopes": [ +"https://www.googleapis.com/auth/dataportability.alerts.subscriptions", +"https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", +"https://www.googleapis.com/auth/dataportability.chrome.autofill", +"https://www.googleapis.com/auth/dataportability.chrome.bookmarks", +"https://www.googleapis.com/auth/dataportability.chrome.dictionary", +"https://www.googleapis.com/auth/dataportability.chrome.extensions", +"https://www.googleapis.com/auth/dataportability.chrome.history", +"https://www.googleapis.com/auth/dataportability.chrome.reading_list", +"https://www.googleapis.com/auth/dataportability.chrome.settings", +"https://www.googleapis.com/auth/dataportability.discover.follows", +"https://www.googleapis.com/auth/dataportability.discover.likes", +"https://www.googleapis.com/auth/dataportability.discover.not_interested", +"https://www.googleapis.com/auth/dataportability.maps.aliased_places", +"https://www.googleapis.com/auth/dataportability.maps.commute_routes", +"https://www.googleapis.com/auth/dataportability.maps.commute_settings", +"https://www.googleapis.com/auth/dataportability.maps.ev_profile", +"https://www.googleapis.com/auth/dataportability.maps.factual_contributions", +"https://www.googleapis.com/auth/dataportability.maps.offering_contributions", +"https://www.googleapis.com/auth/dataportability.maps.photos_videos", +"https://www.googleapis.com/auth/dataportability.maps.questions_answers", +"https://www.googleapis.com/auth/dataportability.maps.reviews", +"https://www.googleapis.com/auth/dataportability.maps.starred_places", +"https://www.googleapis.com/auth/dataportability.myactivity.maps", +"https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", +"https://www.googleapis.com/auth/dataportability.myactivity.play", +"https://www.googleapis.com/auth/dataportability.myactivity.search", +"https://www.googleapis.com/auth/dataportability.myactivity.shopping", +"https://www.googleapis.com/auth/dataportability.myactivity.youtube", +"https://www.googleapis.com/auth/dataportability.mymaps.maps", +"https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", +"https://www.googleapis.com/auth/dataportability.play.devices", +"https://www.googleapis.com/auth/dataportability.play.grouping", +"https://www.googleapis.com/auth/dataportability.play.installs", +"https://www.googleapis.com/auth/dataportability.play.library", +"https://www.googleapis.com/auth/dataportability.play.playpoints", +"https://www.googleapis.com/auth/dataportability.play.promotions", +"https://www.googleapis.com/auth/dataportability.play.purchases", +"https://www.googleapis.com/auth/dataportability.play.redemptions", +"https://www.googleapis.com/auth/dataportability.play.subscriptions", +"https://www.googleapis.com/auth/dataportability.play.usersettings", +"https://www.googleapis.com/auth/dataportability.saved.collections", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", +"https://www.googleapis.com/auth/dataportability.searchnotifications.settings", +"https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", +"https://www.googleapis.com/auth/dataportability.shopping.addresses", +"https://www.googleapis.com/auth/dataportability.shopping.reviews", +"https://www.googleapis.com/auth/dataportability.streetview.imagery", +"https://www.googleapis.com/auth/dataportability.youtube.channel", +"https://www.googleapis.com/auth/dataportability.youtube.clips", +"https://www.googleapis.com/auth/dataportability.youtube.comments", +"https://www.googleapis.com/auth/dataportability.youtube.live_chat", +"https://www.googleapis.com/auth/dataportability.youtube.music", +"https://www.googleapis.com/auth/dataportability.youtube.playable", +"https://www.googleapis.com/auth/dataportability.youtube.posts", +"https://www.googleapis.com/auth/dataportability.youtube.private_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.private_videos", +"https://www.googleapis.com/auth/dataportability.youtube.public_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.public_videos", +"https://www.googleapis.com/auth/dataportability.youtube.shopping", +"https://www.googleapis.com/auth/dataportability.youtube.subscriptions", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" +] +}, +"retry": { +"description": "Retries a failed Portability Archive job.", +"flatPath": "v1beta/archiveJobs/{archiveJobsId}:retry", +"httpMethod": "POST", +"id": "dataportability.archiveJobs.retry", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Archive job ID you're retrying. This is returned by the InitiatePortabilityArchiveResponse. Retrying is only executed if the initial job failed.", +"location": "path", +"pattern": "^archiveJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:retry", +"request": { +"$ref": "RetryPortabilityArchiveRequest" +}, +"response": { +"$ref": "RetryPortabilityArchiveResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/dataportability.alerts.subscriptions", +"https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", +"https://www.googleapis.com/auth/dataportability.chrome.autofill", +"https://www.googleapis.com/auth/dataportability.chrome.bookmarks", +"https://www.googleapis.com/auth/dataportability.chrome.dictionary", +"https://www.googleapis.com/auth/dataportability.chrome.extensions", +"https://www.googleapis.com/auth/dataportability.chrome.history", +"https://www.googleapis.com/auth/dataportability.chrome.reading_list", +"https://www.googleapis.com/auth/dataportability.chrome.settings", +"https://www.googleapis.com/auth/dataportability.discover.follows", +"https://www.googleapis.com/auth/dataportability.discover.likes", +"https://www.googleapis.com/auth/dataportability.discover.not_interested", +"https://www.googleapis.com/auth/dataportability.maps.aliased_places", +"https://www.googleapis.com/auth/dataportability.maps.commute_routes", +"https://www.googleapis.com/auth/dataportability.maps.commute_settings", +"https://www.googleapis.com/auth/dataportability.maps.ev_profile", +"https://www.googleapis.com/auth/dataportability.maps.factual_contributions", +"https://www.googleapis.com/auth/dataportability.maps.offering_contributions", +"https://www.googleapis.com/auth/dataportability.maps.photos_videos", +"https://www.googleapis.com/auth/dataportability.maps.questions_answers", +"https://www.googleapis.com/auth/dataportability.maps.reviews", +"https://www.googleapis.com/auth/dataportability.maps.starred_places", +"https://www.googleapis.com/auth/dataportability.myactivity.maps", +"https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", +"https://www.googleapis.com/auth/dataportability.myactivity.play", +"https://www.googleapis.com/auth/dataportability.myactivity.search", +"https://www.googleapis.com/auth/dataportability.myactivity.shopping", +"https://www.googleapis.com/auth/dataportability.myactivity.youtube", +"https://www.googleapis.com/auth/dataportability.mymaps.maps", +"https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", +"https://www.googleapis.com/auth/dataportability.play.devices", +"https://www.googleapis.com/auth/dataportability.play.grouping", +"https://www.googleapis.com/auth/dataportability.play.installs", +"https://www.googleapis.com/auth/dataportability.play.library", +"https://www.googleapis.com/auth/dataportability.play.playpoints", +"https://www.googleapis.com/auth/dataportability.play.promotions", +"https://www.googleapis.com/auth/dataportability.play.purchases", +"https://www.googleapis.com/auth/dataportability.play.redemptions", +"https://www.googleapis.com/auth/dataportability.play.subscriptions", +"https://www.googleapis.com/auth/dataportability.play.usersettings", +"https://www.googleapis.com/auth/dataportability.saved.collections", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", +"https://www.googleapis.com/auth/dataportability.searchnotifications.settings", +"https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", +"https://www.googleapis.com/auth/dataportability.shopping.addresses", +"https://www.googleapis.com/auth/dataportability.shopping.reviews", +"https://www.googleapis.com/auth/dataportability.streetview.imagery", +"https://www.googleapis.com/auth/dataportability.youtube.channel", +"https://www.googleapis.com/auth/dataportability.youtube.clips", +"https://www.googleapis.com/auth/dataportability.youtube.comments", +"https://www.googleapis.com/auth/dataportability.youtube.live_chat", +"https://www.googleapis.com/auth/dataportability.youtube.music", +"https://www.googleapis.com/auth/dataportability.youtube.playable", +"https://www.googleapis.com/auth/dataportability.youtube.posts", +"https://www.googleapis.com/auth/dataportability.youtube.private_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.private_videos", +"https://www.googleapis.com/auth/dataportability.youtube.public_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.public_videos", +"https://www.googleapis.com/auth/dataportability.youtube.shopping", +"https://www.googleapis.com/auth/dataportability.youtube.subscriptions", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" +] +} +} +}, +"authorization": { +"methods": { +"reset": { +"description": "Revokes OAuth tokens and resets exhausted scopes for a user/project pair. This method allows you to initiate a request after a new consent is granted. This method also indicates that previous archives can be garbage collected. You should call this method when all jobs are complete and all archives are downloaded. Do not call it only when you start a new job.", +"flatPath": "v1beta/authorization:reset", +"httpMethod": "POST", +"id": "dataportability.authorization.reset", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta/authorization:reset", +"request": { +"$ref": "ResetAuthorizationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/dataportability.alerts.subscriptions", +"https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", +"https://www.googleapis.com/auth/dataportability.chrome.autofill", +"https://www.googleapis.com/auth/dataportability.chrome.bookmarks", +"https://www.googleapis.com/auth/dataportability.chrome.dictionary", +"https://www.googleapis.com/auth/dataportability.chrome.extensions", +"https://www.googleapis.com/auth/dataportability.chrome.history", +"https://www.googleapis.com/auth/dataportability.chrome.reading_list", +"https://www.googleapis.com/auth/dataportability.chrome.settings", +"https://www.googleapis.com/auth/dataportability.discover.follows", +"https://www.googleapis.com/auth/dataportability.discover.likes", +"https://www.googleapis.com/auth/dataportability.discover.not_interested", +"https://www.googleapis.com/auth/dataportability.maps.aliased_places", +"https://www.googleapis.com/auth/dataportability.maps.commute_routes", +"https://www.googleapis.com/auth/dataportability.maps.commute_settings", +"https://www.googleapis.com/auth/dataportability.maps.ev_profile", +"https://www.googleapis.com/auth/dataportability.maps.factual_contributions", +"https://www.googleapis.com/auth/dataportability.maps.offering_contributions", +"https://www.googleapis.com/auth/dataportability.maps.photos_videos", +"https://www.googleapis.com/auth/dataportability.maps.questions_answers", +"https://www.googleapis.com/auth/dataportability.maps.reviews", +"https://www.googleapis.com/auth/dataportability.maps.starred_places", +"https://www.googleapis.com/auth/dataportability.myactivity.maps", +"https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", +"https://www.googleapis.com/auth/dataportability.myactivity.play", +"https://www.googleapis.com/auth/dataportability.myactivity.search", +"https://www.googleapis.com/auth/dataportability.myactivity.shopping", +"https://www.googleapis.com/auth/dataportability.myactivity.youtube", +"https://www.googleapis.com/auth/dataportability.mymaps.maps", +"https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", +"https://www.googleapis.com/auth/dataportability.play.devices", +"https://www.googleapis.com/auth/dataportability.play.grouping", +"https://www.googleapis.com/auth/dataportability.play.installs", +"https://www.googleapis.com/auth/dataportability.play.library", +"https://www.googleapis.com/auth/dataportability.play.playpoints", +"https://www.googleapis.com/auth/dataportability.play.promotions", +"https://www.googleapis.com/auth/dataportability.play.purchases", +"https://www.googleapis.com/auth/dataportability.play.redemptions", +"https://www.googleapis.com/auth/dataportability.play.subscriptions", +"https://www.googleapis.com/auth/dataportability.play.usersettings", +"https://www.googleapis.com/auth/dataportability.saved.collections", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", +"https://www.googleapis.com/auth/dataportability.searchnotifications.settings", +"https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", +"https://www.googleapis.com/auth/dataportability.shopping.addresses", +"https://www.googleapis.com/auth/dataportability.shopping.reviews", +"https://www.googleapis.com/auth/dataportability.streetview.imagery", +"https://www.googleapis.com/auth/dataportability.youtube.channel", +"https://www.googleapis.com/auth/dataportability.youtube.clips", +"https://www.googleapis.com/auth/dataportability.youtube.comments", +"https://www.googleapis.com/auth/dataportability.youtube.live_chat", +"https://www.googleapis.com/auth/dataportability.youtube.music", +"https://www.googleapis.com/auth/dataportability.youtube.playable", +"https://www.googleapis.com/auth/dataportability.youtube.posts", +"https://www.googleapis.com/auth/dataportability.youtube.private_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.private_videos", +"https://www.googleapis.com/auth/dataportability.youtube.public_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.public_videos", +"https://www.googleapis.com/auth/dataportability.youtube.shopping", +"https://www.googleapis.com/auth/dataportability.youtube.subscriptions", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" +] +} +} +}, +"portabilityArchive": { +"methods": { +"initiate": { +"description": "Initiates a new Archive job for the Portability API.", +"flatPath": "v1beta/portabilityArchive:initiate", +"httpMethod": "POST", +"id": "dataportability.portabilityArchive.initiate", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta/portabilityArchive:initiate", +"request": { +"$ref": "InitiatePortabilityArchiveRequest" +}, +"response": { +"$ref": "InitiatePortabilityArchiveResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/dataportability.alerts.subscriptions", +"https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", +"https://www.googleapis.com/auth/dataportability.chrome.autofill", +"https://www.googleapis.com/auth/dataportability.chrome.bookmarks", +"https://www.googleapis.com/auth/dataportability.chrome.dictionary", +"https://www.googleapis.com/auth/dataportability.chrome.extensions", +"https://www.googleapis.com/auth/dataportability.chrome.history", +"https://www.googleapis.com/auth/dataportability.chrome.reading_list", +"https://www.googleapis.com/auth/dataportability.chrome.settings", +"https://www.googleapis.com/auth/dataportability.discover.follows", +"https://www.googleapis.com/auth/dataportability.discover.likes", +"https://www.googleapis.com/auth/dataportability.discover.not_interested", +"https://www.googleapis.com/auth/dataportability.maps.aliased_places", +"https://www.googleapis.com/auth/dataportability.maps.commute_routes", +"https://www.googleapis.com/auth/dataportability.maps.commute_settings", +"https://www.googleapis.com/auth/dataportability.maps.ev_profile", +"https://www.googleapis.com/auth/dataportability.maps.factual_contributions", +"https://www.googleapis.com/auth/dataportability.maps.offering_contributions", +"https://www.googleapis.com/auth/dataportability.maps.photos_videos", +"https://www.googleapis.com/auth/dataportability.maps.questions_answers", +"https://www.googleapis.com/auth/dataportability.maps.reviews", +"https://www.googleapis.com/auth/dataportability.maps.starred_places", +"https://www.googleapis.com/auth/dataportability.myactivity.maps", +"https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", +"https://www.googleapis.com/auth/dataportability.myactivity.play", +"https://www.googleapis.com/auth/dataportability.myactivity.search", +"https://www.googleapis.com/auth/dataportability.myactivity.shopping", +"https://www.googleapis.com/auth/dataportability.myactivity.youtube", +"https://www.googleapis.com/auth/dataportability.mymaps.maps", +"https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", +"https://www.googleapis.com/auth/dataportability.play.devices", +"https://www.googleapis.com/auth/dataportability.play.grouping", +"https://www.googleapis.com/auth/dataportability.play.installs", +"https://www.googleapis.com/auth/dataportability.play.library", +"https://www.googleapis.com/auth/dataportability.play.playpoints", +"https://www.googleapis.com/auth/dataportability.play.promotions", +"https://www.googleapis.com/auth/dataportability.play.purchases", +"https://www.googleapis.com/auth/dataportability.play.redemptions", +"https://www.googleapis.com/auth/dataportability.play.subscriptions", +"https://www.googleapis.com/auth/dataportability.play.usersettings", +"https://www.googleapis.com/auth/dataportability.saved.collections", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", +"https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", +"https://www.googleapis.com/auth/dataportability.searchnotifications.settings", +"https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", +"https://www.googleapis.com/auth/dataportability.shopping.addresses", +"https://www.googleapis.com/auth/dataportability.shopping.reviews", +"https://www.googleapis.com/auth/dataportability.streetview.imagery", +"https://www.googleapis.com/auth/dataportability.youtube.channel", +"https://www.googleapis.com/auth/dataportability.youtube.clips", +"https://www.googleapis.com/auth/dataportability.youtube.comments", +"https://www.googleapis.com/auth/dataportability.youtube.live_chat", +"https://www.googleapis.com/auth/dataportability.youtube.music", +"https://www.googleapis.com/auth/dataportability.youtube.playable", +"https://www.googleapis.com/auth/dataportability.youtube.posts", +"https://www.googleapis.com/auth/dataportability.youtube.private_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.private_videos", +"https://www.googleapis.com/auth/dataportability.youtube.public_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.public_videos", +"https://www.googleapis.com/auth/dataportability.youtube.shopping", +"https://www.googleapis.com/auth/dataportability.youtube.subscriptions", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", +"https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" +] +} +} +} +}, +"revision": "20241209", +"rootUrl": "https://dataportability.googleapis.com/", +"schemas": { +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"InitiatePortabilityArchiveRequest": { +"description": "Request to kick off an Archive job.", +"id": "InitiatePortabilityArchiveRequest", +"properties": { +"resources": { +"description": "The resources from which you're exporting data. These values have a 1:1 correspondence with the OAuth scopes.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InitiatePortabilityArchiveResponse": { +"description": "Response from initiating an Archive job.", +"id": "InitiatePortabilityArchiveResponse", +"properties": { +"archiveJobId": { +"description": "The archive job ID that is initiated in the API. This can be used to get the state of the job.", +"type": "string" +} +}, +"type": "object" +}, +"PortabilityArchiveState": { +"description": "Resource that contains the state of an Archive job.", +"id": "PortabilityArchiveState", +"properties": { +"name": { +"description": "The resource name of ArchiveJob's PortabilityArchiveState singleton. The format is: archiveJobs/{archive_job}/portabilityArchiveState. archive_job is the job ID provided in the request.", +"type": "string" +}, +"state": { +"description": "Resource that represents the state of the Archive job.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"COMPLETE", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The job is in progress.", +"The job is complete.", +"The job failed.", +"The job is cancelled." +], +"type": "string" +}, +"urls": { +"description": "If the state is complete, this method returns the signed URLs of the objects in the Cloud Storage bucket.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResetAuthorizationRequest": { +"description": "Request to reset exhausted OAuth scopes.", +"id": "ResetAuthorizationRequest", +"properties": {}, +"type": "object" +}, +"RetryPortabilityArchiveRequest": { +"description": "Request to retry a failed Portability Archive job.", +"id": "RetryPortabilityArchiveRequest", +"properties": {}, +"type": "object" +}, +"RetryPortabilityArchiveResponse": { +"description": "Response from retrying a Portability Archive.", +"id": "RetryPortabilityArchiveResponse", +"properties": { +"archiveJobId": { +"description": "The archive job ID that is initiated by the retry endpoint. This can be used to get the state of the new job.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Data Portability API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datastore.v1beta3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datastore.v1beta3.json new file mode 100644 index 0000000000000000000000000000000000000000..2505dcb740bdefb065751c698b5b98560be18ef6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datastore.v1beta3.json @@ -0,0 +1,2151 @@ +{ +"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/datastore": { +"description": "View and manage your Google Cloud Datastore data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://datastore.googleapis.com/", +"batchPath": "batch", +"description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/datastore/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "datastore:v1beta3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://datastore.mtls.googleapis.com/", +"name": "datastore", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"allocateIds": { +"description": "Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.", +"flatPath": "v1beta3/projects/{projectId}:allocateIds", +"httpMethod": "POST", +"id": "datastore.projects.allocateIds", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:allocateIds", +"request": { +"$ref": "AllocateIdsRequest" +}, +"response": { +"$ref": "AllocateIdsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"beginTransaction": { +"description": "Begins a new transaction.", +"flatPath": "v1beta3/projects/{projectId}:beginTransaction", +"httpMethod": "POST", +"id": "datastore.projects.beginTransaction", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:beginTransaction", +"request": { +"$ref": "BeginTransactionRequest" +}, +"response": { +"$ref": "BeginTransactionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"commit": { +"description": "Commits a transaction, optionally creating, deleting or modifying some entities.", +"flatPath": "v1beta3/projects/{projectId}:commit", +"httpMethod": "POST", +"id": "datastore.projects.commit", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:commit", +"request": { +"$ref": "CommitRequest" +}, +"response": { +"$ref": "CommitResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"lookup": { +"description": "Looks up entities by key.", +"flatPath": "v1beta3/projects/{projectId}:lookup", +"httpMethod": "POST", +"id": "datastore.projects.lookup", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:lookup", +"request": { +"$ref": "LookupRequest" +}, +"response": { +"$ref": "LookupResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"reserveIds": { +"description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.", +"flatPath": "v1beta3/projects/{projectId}:reserveIds", +"httpMethod": "POST", +"id": "datastore.projects.reserveIds", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:reserveIds", +"request": { +"$ref": "ReserveIdsRequest" +}, +"response": { +"$ref": "ReserveIdsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"rollback": { +"description": "Rolls back a transaction.", +"flatPath": "v1beta3/projects/{projectId}:rollback", +"httpMethod": "POST", +"id": "datastore.projects.rollback", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:rollback", +"request": { +"$ref": "RollbackRequest" +}, +"response": { +"$ref": "RollbackResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"runAggregationQuery": { +"description": "Runs an aggregation query.", +"flatPath": "v1beta3/projects/{projectId}:runAggregationQuery", +"httpMethod": "POST", +"id": "datastore.projects.runAggregationQuery", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:runAggregationQuery", +"request": { +"$ref": "RunAggregationQueryRequest" +}, +"response": { +"$ref": "RunAggregationQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"runQuery": { +"description": "Queries for entities.", +"flatPath": "v1beta3/projects/{projectId}:runQuery", +"httpMethod": "POST", +"id": "datastore.projects.runQuery", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the project against which to make the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta3/projects/{projectId}:runQuery", +"request": { +"$ref": "RunQueryRequest" +}, +"response": { +"$ref": "RunQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +} +} +}, +"revision": "20241018", +"rootUrl": "https://datastore.googleapis.com/", +"schemas": { +"Aggregation": { +"description": "Defines an aggregation that produces a single result.", +"id": "Aggregation", +"properties": { +"alias": { +"description": "Optional. Optional name of the property to store the result of the aggregation. If not provided, Datastore will pick a default name following the format `property_`. For example: ``` AGGREGATE COUNT_UP_TO(1) AS count_up_to_1, COUNT_UP_TO(2), COUNT_UP_TO(3) AS count_up_to_3, COUNT(*) OVER ( ... ); ``` becomes: ``` AGGREGATE COUNT_UP_TO(1) AS count_up_to_1, COUNT_UP_TO(2) AS property_1, COUNT_UP_TO(3) AS count_up_to_3, COUNT(*) AS property_2 OVER ( ... ); ``` Requires: * Must be unique across all aggregation aliases. * Conform to entity property name limitations.", +"type": "string" +}, +"avg": { +"$ref": "Avg", +"description": "Average aggregator." +}, +"count": { +"$ref": "Count", +"description": "Count aggregator." +}, +"sum": { +"$ref": "Sum", +"description": "Sum aggregator." +} +}, +"type": "object" +}, +"AggregationQuery": { +"description": "Datastore query for running an aggregation over a Query.", +"id": "AggregationQuery", +"properties": { +"aggregations": { +"description": "Optional. Series of aggregations to apply over the results of the `nested_query`. Requires: * A minimum of one and maximum of five aggregations per query.", +"items": { +"$ref": "Aggregation" +}, +"type": "array" +}, +"nestedQuery": { +"$ref": "Query", +"description": "Nested query for aggregation" +} +}, +"type": "object" +}, +"AggregationResult": { +"description": "The result of a single bucket from a Datastore aggregation query. The keys of `aggregate_properties` are the same for all results in an aggregation query, unlike entity queries which can have different fields present for each result.", +"id": "AggregationResult", +"properties": { +"aggregateProperties": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "The result of the aggregation functions, ex: `COUNT(*) AS total_entities`. The key is the alias assigned to the aggregation function on input and the size of this map equals the number of aggregation functions in the query.", +"type": "object" +} +}, +"type": "object" +}, +"AggregationResultBatch": { +"description": "A batch of aggregation results produced by an aggregation query.", +"id": "AggregationResultBatch", +"properties": { +"aggregationResults": { +"description": "The aggregation results for this batch.", +"items": { +"$ref": "AggregationResult" +}, +"type": "array" +}, +"moreResults": { +"description": "The state of the query after the current batch. Only COUNT(*) aggregations are supported in the initial launch. Therefore, expected result type is limited to `NO_MORE_RESULTS`.", +"enum": [ +"MORE_RESULTS_TYPE_UNSPECIFIED", +"NOT_FINISHED", +"MORE_RESULTS_AFTER_LIMIT", +"MORE_RESULTS_AFTER_CURSOR", +"NO_MORE_RESULTS" +], +"enumDescriptions": [ +"Unspecified. This value is never used.", +"There may be additional batches to fetch from this query.", +"The query is finished, but there may be more results after the limit.", +"The query is finished, but there may be more results after the end cursor.", +"The query is finished, and there are no more results." +], +"type": "string" +}, +"readTime": { +"description": "Read timestamp this batch was returned from. In a single transaction, subsequent query result batches for the same query can have a greater timestamp. Each batch's read timestamp is valid for all preceding batches.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"AllocateIdsRequest": { +"description": "The request for Datastore.AllocateIds.", +"id": "AllocateIdsRequest", +"properties": { +"keys": { +"description": "Required. A list of keys with incomplete key paths for which to allocate IDs. No key may be reserved/read-only.", +"items": { +"$ref": "Key" +}, +"type": "array" +} +}, +"type": "object" +}, +"AllocateIdsResponse": { +"description": "The response for Datastore.AllocateIds.", +"id": "AllocateIdsResponse", +"properties": { +"keys": { +"description": "The keys specified in the request (in the same order), each with its key path completed with a newly allocated ID.", +"items": { +"$ref": "Key" +}, +"type": "array" +} +}, +"type": "object" +}, +"ArrayValue": { +"description": "An array value.", +"id": "ArrayValue", +"properties": { +"values": { +"description": "Values in the array. The order of values in an array is preserved as long as all values have identical settings for 'exclude_from_indexes'.", +"items": { +"$ref": "Value" +}, +"type": "array" +} +}, +"type": "object" +}, +"Avg": { +"description": "Average of the values of the requested property. * Only numeric values will be aggregated. All non-numeric values including `NULL` are skipped. * If the aggregated values contain `NaN`, returns `NaN`. Infinity math follows IEEE-754 standards. * If the aggregated value set is empty, returns `NULL`. * Always returns the result as a double.", +"id": "Avg", +"properties": { +"property": { +"$ref": "PropertyReference", +"description": "The property to aggregate on." +} +}, +"type": "object" +}, +"BeginTransactionRequest": { +"description": "The request for Datastore.BeginTransaction.", +"id": "BeginTransactionRequest", +"properties": { +"transactionOptions": { +"$ref": "TransactionOptions", +"description": "Options for a new transaction." +} +}, +"type": "object" +}, +"BeginTransactionResponse": { +"description": "The response for Datastore.BeginTransaction.", +"id": "BeginTransactionResponse", +"properties": { +"transaction": { +"description": "The transaction identifier (always present).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CommitRequest": { +"description": "The request for Datastore.Commit.", +"id": "CommitRequest", +"properties": { +"mode": { +"description": "The type of commit to perform. Defaults to `TRANSACTIONAL`.", +"enum": [ +"MODE_UNSPECIFIED", +"TRANSACTIONAL", +"NON_TRANSACTIONAL" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"Transactional: The mutations are either all applied, or none are applied. Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).", +"Non-transactional: The mutations may not apply as all or none." +], +"type": "string" +}, +"mutations": { +"description": "The mutations to perform. When mode is `TRANSACTIONAL`, mutations affecting a single entity are applied in order. The following sequences of mutations affecting a single entity are not permitted in a single `Commit` request: - `insert` followed by `insert` - `update` followed by `insert` - `upsert` followed by `insert` - `delete` followed by `update` When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single entity.", +"items": { +"$ref": "Mutation" +}, +"type": "array" +}, +"transaction": { +"description": "The identifier of the transaction associated with the commit. A transaction identifier is returned by a call to Datastore.BeginTransaction.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CommitResponse": { +"description": "The response for Datastore.Commit.", +"id": "CommitResponse", +"properties": { +"commitTime": { +"description": "The transaction commit timestamp. Not set for non-transactional commits.", +"format": "google-datetime", +"type": "string" +}, +"indexUpdates": { +"description": "The number of index entries updated during the commit, or zero if none were updated.", +"format": "int32", +"type": "integer" +}, +"mutationResults": { +"description": "The result of performing the mutations. The i-th mutation result corresponds to the i-th mutation in the request.", +"items": { +"$ref": "MutationResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompositeFilter": { +"description": "A filter that merges multiple other filters using the given operator.", +"id": "CompositeFilter", +"properties": { +"filters": { +"description": "The list of filters to combine. Requires: * At least one filter is present.", +"items": { +"$ref": "Filter" +}, +"type": "array" +}, +"op": { +"description": "The operator for combining multiple filters.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"AND", +"OR" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The results are required to satisfy each of the combined filters.", +"Documents are required to satisfy at least one of the combined filters." +], +"type": "string" +} +}, +"type": "object" +}, +"Count": { +"description": "Count of entities that match the query. The `COUNT(*)` aggregation function operates on the entire entity so it does not require a field reference.", +"id": "Count", +"properties": { +"upTo": { +"description": "Optional. Optional constraint on the maximum number of entities to count. This provides a way to set an upper bound on the number of entities to scan, limiting latency, and cost. Unspecified is interpreted as no bound. If a zero value is provided, a count result of zero should always be expected. High-Level Example: ``` AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k ); ``` Requires: * Must be non-negative when present.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Entity": { +"description": "A Datastore data object. Must not exceed 1 MiB - 4 bytes.", +"id": "Entity", +"properties": { +"key": { +"$ref": "Key", +"description": "The entity's key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity's kind is its key path's last element's kind, or null if it has no key." +}, +"properties": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "The entity's properties. The map's keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", +"type": "object" +} +}, +"type": "object" +}, +"EntityResult": { +"description": "The result of fetching an entity from Datastore.", +"id": "EntityResult", +"properties": { +"createTime": { +"description": "The time at which the entity was created. This field is set for `FULL` entity results. If this entity is missing, this field will not be set.", +"format": "google-datetime", +"type": "string" +}, +"cursor": { +"description": "A cursor that points to the position after the result entity. Set only when the `EntityResult` is part of a `QueryResultBatch` message.", +"format": "byte", +"type": "string" +}, +"entity": { +"$ref": "Entity", +"description": "The resulting entity." +}, +"updateTime": { +"description": "The time at which the entity was last changed. This field is set for `FULL` entity results. If this entity is missing, this field will not be set.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExecutionStats": { +"description": "Execution statistics for the query.", +"id": "ExecutionStats", +"properties": { +"debugStats": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { \"indexes_entries_scanned\": \"1000\", \"documents_scanned\": \"20\", \"billing_details\" : { \"documents_billable\": \"20\", \"index_entries_billable\": \"1000\", \"min_query_cost\": \"0\" } }", +"type": "object" +}, +"executionDuration": { +"description": "Total time to execute the query in the backend.", +"format": "google-duration", +"type": "string" +}, +"readOperations": { +"description": "Total billable read operations.", +"format": "int64", +"type": "string" +}, +"resultsReturned": { +"description": "Total number of results returned, including documents, projections, aggregation results, keys.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExplainMetrics": { +"description": "Explain metrics for the query.", +"id": "ExplainMetrics", +"properties": { +"executionStats": { +"$ref": "ExecutionStats", +"description": "Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true." +}, +"planSummary": { +"$ref": "PlanSummary", +"description": "Planning phase information for the query." +} +}, +"type": "object" +}, +"ExplainOptions": { +"description": "Explain options for the query.", +"id": "ExplainOptions", +"properties": { +"analyze": { +"description": "Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics.", +"type": "boolean" +} +}, +"type": "object" +}, +"Filter": { +"description": "A holder for any type of filter.", +"id": "Filter", +"properties": { +"compositeFilter": { +"$ref": "CompositeFilter", +"description": "A composite filter." +}, +"propertyFilter": { +"$ref": "PropertyFilter", +"description": "A filter on a property." +} +}, +"type": "object" +}, +"FindNearest": { +"description": "Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries.", +"id": "FindNearest", +"properties": { +"distanceMeasure": { +"description": "Required. The Distance Measure to use, required.", +"enum": [ +"DISTANCE_MEASURE_UNSPECIFIED", +"EUCLIDEAN", +"COSINE", +"DOT_PRODUCT" +], +"enumDescriptions": [ +"Should not be set.", +"Measures the EUCLIDEAN distance between the vectors. See [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn more. The resulting distance decreases the more similar two vectors are.", +"COSINE distance compares vectors based on the angle between them, which allows you to measure similarity that isn't based on the vectors magnitude. We recommend using DOT_PRODUCT with unit normalized vectors instead of COSINE distance, which is mathematically equivalent with better performance. See [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn more about COSINE similarity and COSINE distance. The resulting COSINE distance decreases the more similar two vectors are.", +"Similar to cosine but is affected by the magnitude of the vectors. See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to learn more. The resulting distance increases the more similar two vectors are." +], +"type": "string" +}, +"distanceResultProperty": { +"description": "Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to entity property limitations.", +"type": "string" +}, +"distanceThreshold": { +"description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", +"format": "double", +"type": "number" +}, +"limit": { +"description": "Required. The number of nearest neighbors to return. Must be a positive integer of no more than 100.", +"format": "int32", +"type": "integer" +}, +"queryVector": { +"$ref": "Value", +"description": "Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions." +}, +"vectorProperty": { +"$ref": "PropertyReference", +"description": "Required. An indexed vector property to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1CommonMetadata": { +"description": "Metadata common to all Datastore Admin operations.", +"id": "GoogleDatastoreAdminV1CommonMetadata", +"properties": { +"endTime": { +"description": "The time the operation ended, either successfully or otherwise.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.", +"type": "object" +}, +"operationType": { +"description": "The type of the operation. Can be used as a filter in ListOperationsRequest.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"EXPORT_ENTITIES", +"IMPORT_ENTITIES", +"CREATE_INDEX", +"DELETE_INDEX" +], +"enumDescriptions": [ +"Unspecified.", +"ExportEntities.", +"ImportEntities.", +"CreateIndex.", +"DeleteIndex." +], +"type": "string" +}, +"startTime": { +"description": "The time that work began on the operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the Operation.", +"enum": [ +"STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata": { +"description": "Metadata for Datastore to Firestore migration operations. The DatastoreFirestoreMigration operation is not started by the end-user via an explicit \"creation\" method. This is an intentional deviation from the LRO design pattern. This singleton resource can be accessed at: \"projects/{project_id}/operations/datastore-firestore-migration\"", +"id": "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata", +"properties": { +"migrationState": { +"description": "The current state of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", +"enum": [ +"MIGRATION_STATE_UNSPECIFIED", +"RUNNING", +"PAUSED", +"COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"The migration is running.", +"The migration is paused.", +"The migration is complete." +], +"type": "string" +}, +"migrationStep": { +"description": "The current step of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", +"enum": [ +"MIGRATION_STEP_UNSPECIFIED", +"PREPARE", +"START", +"APPLY_WRITES_SYNCHRONOUSLY", +"COPY_AND_VERIFY", +"REDIRECT_EVENTUALLY_CONSISTENT_READS", +"REDIRECT_STRONGLY_CONSISTENT_READS", +"REDIRECT_WRITES" +], +"enumDescriptions": [ +"Unspecified.", +"Pre-migration: the database is prepared for migration.", +"Start of migration.", +"Writes are applied synchronously to at least one replica.", +"Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", +"Eventually-consistent reads are redirected to Cloud Firestore.", +"Strongly-consistent reads are redirected to Cloud Firestore.", +"Writes are redirected to Cloud Firestore." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1EntityFilter": { +"description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (either or both of which may be all, as described in the following examples). Example usage: Entire project: kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar only in the default namespace: kinds=['Foo', 'Bar'], namespace_ids=[''] Kinds Foo and Bar in both the default and Baz namespaces: kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] The entire Baz namespace: kinds=[], namespace_ids=['Baz']", +"id": "GoogleDatastoreAdminV1EntityFilter", +"properties": { +"kinds": { +"description": "If empty, then this represents all kinds.", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespaceIds": { +"description": "An empty list represents all namespaces. This is the preferred usage for projects that don't use namespaces. An empty string element represents the default namespace. This should be used if the project has data in non-default namespaces, but doesn't want to include them. Each namespace in this list must be unique.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1ExportEntitiesMetadata": { +"description": "Metadata for ExportEntities operations.", +"id": "GoogleDatastoreAdminV1ExportEntitiesMetadata", +"properties": { +"common": { +"$ref": "GoogleDatastoreAdminV1CommonMetadata", +"description": "Metadata common to all Datastore Admin operations." +}, +"entityFilter": { +"$ref": "GoogleDatastoreAdminV1EntityFilter", +"description": "Description of which entities are being exported." +}, +"outputUrlPrefix": { +"description": "Location for the export metadata and data files. This will be the same value as the google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. The final output location is provided in google.datastore.admin.v1.ExportEntitiesResponse.output_url.", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleDatastoreAdminV1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressEntities": { +"$ref": "GoogleDatastoreAdminV1Progress", +"description": "An estimate of the number of entities processed." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1ExportEntitiesResponse": { +"description": "The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities.", +"id": "GoogleDatastoreAdminV1ExportEntitiesResponse", +"properties": { +"outputUrl": { +"description": "Location of the output metadata file. This can be used to begin an import into Cloud Datastore (this project or another project). See google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only present if the operation completed successfully.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1ImportEntitiesMetadata": { +"description": "Metadata for ImportEntities operations.", +"id": "GoogleDatastoreAdminV1ImportEntitiesMetadata", +"properties": { +"common": { +"$ref": "GoogleDatastoreAdminV1CommonMetadata", +"description": "Metadata common to all Datastore Admin operations." +}, +"entityFilter": { +"$ref": "GoogleDatastoreAdminV1EntityFilter", +"description": "Description of which entities are being imported." +}, +"inputUrl": { +"description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1.ExportEntitiesResponse.output_url field.", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleDatastoreAdminV1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressEntities": { +"$ref": "GoogleDatastoreAdminV1Progress", +"description": "An estimate of the number of entities processed." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1IndexOperationMetadata": { +"description": "Metadata for Index operations.", +"id": "GoogleDatastoreAdminV1IndexOperationMetadata", +"properties": { +"common": { +"$ref": "GoogleDatastoreAdminV1CommonMetadata", +"description": "Metadata common to all Datastore Admin operations." +}, +"indexId": { +"description": "The index resource ID that this operation is acting on.", +"type": "string" +}, +"progressEntities": { +"$ref": "GoogleDatastoreAdminV1Progress", +"description": "An estimate of the number of entities processed." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1MigrationProgressEvent": { +"description": "An event signifying the start of a new step in a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", +"id": "GoogleDatastoreAdminV1MigrationProgressEvent", +"properties": { +"prepareStepDetails": { +"$ref": "GoogleDatastoreAdminV1PrepareStepDetails", +"description": "Details for the `PREPARE` step." +}, +"redirectWritesStepDetails": { +"$ref": "GoogleDatastoreAdminV1RedirectWritesStepDetails", +"description": "Details for the `REDIRECT_WRITES` step." +}, +"step": { +"description": "The step that is starting. An event with step set to `START` indicates that the migration has been reverted back to the initial pre-migration state.", +"enum": [ +"MIGRATION_STEP_UNSPECIFIED", +"PREPARE", +"START", +"APPLY_WRITES_SYNCHRONOUSLY", +"COPY_AND_VERIFY", +"REDIRECT_EVENTUALLY_CONSISTENT_READS", +"REDIRECT_STRONGLY_CONSISTENT_READS", +"REDIRECT_WRITES" +], +"enumDescriptions": [ +"Unspecified.", +"Pre-migration: the database is prepared for migration.", +"Start of migration.", +"Writes are applied synchronously to at least one replica.", +"Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", +"Eventually-consistent reads are redirected to Cloud Firestore.", +"Strongly-consistent reads are redirected to Cloud Firestore.", +"Writes are redirected to Cloud Firestore." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1MigrationStateEvent": { +"description": "An event signifying a change in state of a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", +"id": "GoogleDatastoreAdminV1MigrationStateEvent", +"properties": { +"state": { +"description": "The new state of the migration.", +"enum": [ +"MIGRATION_STATE_UNSPECIFIED", +"RUNNING", +"PAUSED", +"COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"The migration is running.", +"The migration is paused.", +"The migration is complete." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1PrepareStepDetails": { +"description": "Details for the `PREPARE` step.", +"id": "GoogleDatastoreAdminV1PrepareStepDetails", +"properties": { +"concurrencyMode": { +"description": "The concurrency mode this database will use when it reaches the `REDIRECT_WRITES` step.", +"enum": [ +"CONCURRENCY_MODE_UNSPECIFIED", +"PESSIMISTIC", +"OPTIMISTIC", +"OPTIMISTIC_WITH_ENTITY_GROUPS" +], +"enumDescriptions": [ +"Unspecified.", +"Pessimistic concurrency.", +"Optimistic concurrency.", +"Optimistic concurrency with entity groups." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1Progress": { +"description": "Measures the progress of a particular metric.", +"id": "GoogleDatastoreAdminV1Progress", +"properties": { +"workCompleted": { +"description": "The amount of work that has been completed. Note that this may be greater than work_estimated.", +"format": "int64", +"type": "string" +}, +"workEstimated": { +"description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1RedirectWritesStepDetails": { +"description": "Details for the `REDIRECT_WRITES` step.", +"id": "GoogleDatastoreAdminV1RedirectWritesStepDetails", +"properties": { +"concurrencyMode": { +"description": "Ths concurrency mode for this database.", +"enum": [ +"CONCURRENCY_MODE_UNSPECIFIED", +"PESSIMISTIC", +"OPTIMISTIC", +"OPTIMISTIC_WITH_ENTITY_GROUPS" +], +"enumDescriptions": [ +"Unspecified.", +"Pessimistic concurrency.", +"Optimistic concurrency.", +"Optimistic concurrency with entity groups." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1CommonMetadata": { +"description": "Metadata common to all Datastore Admin operations.", +"id": "GoogleDatastoreAdminV1beta1CommonMetadata", +"properties": { +"endTime": { +"description": "The time the operation ended, either successfully or otherwise.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.", +"type": "object" +}, +"operationType": { +"description": "The type of the operation. Can be used as a filter in ListOperationsRequest.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"EXPORT_ENTITIES", +"IMPORT_ENTITIES" +], +"enumDescriptions": [ +"Unspecified.", +"ExportEntities.", +"ImportEntities." +], +"type": "string" +}, +"startTime": { +"description": "The time that work began on the operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the Operation.", +"enum": [ +"STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1EntityFilter": { +"description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (either or both of which may be all, as described in the following examples). Example usage: Entire project: kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar only in the default namespace: kinds=['Foo', 'Bar'], namespace_ids=[''] Kinds Foo and Bar in both the default and Baz namespaces: kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] The entire Baz namespace: kinds=[], namespace_ids=['Baz']", +"id": "GoogleDatastoreAdminV1beta1EntityFilter", +"properties": { +"kinds": { +"description": "If empty, then this represents all kinds.", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespaceIds": { +"description": "An empty list represents all namespaces. This is the preferred usage for projects that don't use namespaces. An empty string element represents the default namespace. This should be used if the project has data in non-default namespaces, but doesn't want to include them. Each namespace in this list must be unique.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1ExportEntitiesMetadata": { +"description": "Metadata for ExportEntities operations.", +"id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata", +"properties": { +"common": { +"$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", +"description": "Metadata common to all Datastore Admin operations." +}, +"entityFilter": { +"$ref": "GoogleDatastoreAdminV1beta1EntityFilter", +"description": "Description of which entities are being exported." +}, +"outputUrlPrefix": { +"description": "Location for the export metadata and data files. This will be the same value as the google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix field. The final output location is provided in google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleDatastoreAdminV1beta1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressEntities": { +"$ref": "GoogleDatastoreAdminV1beta1Progress", +"description": "An estimate of the number of entities processed." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1ExportEntitiesResponse": { +"description": "The response for google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", +"id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse", +"properties": { +"outputUrl": { +"description": "Location of the output metadata file. This can be used to begin an import into Cloud Datastore (this project or another project). See google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. Only present if the operation completed successfully.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { +"description": "Metadata for ImportEntities operations.", +"id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata", +"properties": { +"common": { +"$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", +"description": "Metadata common to all Datastore Admin operations." +}, +"entityFilter": { +"$ref": "GoogleDatastoreAdminV1beta1EntityFilter", +"description": "Description of which entities are being imported." +}, +"inputUrl": { +"description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field.", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleDatastoreAdminV1beta1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressEntities": { +"$ref": "GoogleDatastoreAdminV1beta1Progress", +"description": "An estimate of the number of entities processed." +} +}, +"type": "object" +}, +"GoogleDatastoreAdminV1beta1Progress": { +"description": "Measures the progress of a particular metric.", +"id": "GoogleDatastoreAdminV1beta1Progress", +"properties": { +"workCompleted": { +"description": "The amount of work that has been completed. Note that this may be greater than work_estimated.", +"format": "int64", +"type": "string" +}, +"workEstimated": { +"description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GqlQuery": { +"description": "A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", +"id": "GqlQuery", +"properties": { +"allowLiterals": { +"description": "When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is.", +"type": "boolean" +}, +"namedBindings": { +"additionalProperties": { +"$ref": "GqlQueryParameter" +}, +"description": "For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `\"\"`.", +"type": "object" +}, +"positionalBindings": { +"description": "Numbered binding site @1 references the first numbered parameter, effectively using 1-based indexing, rather than the usual 0. For each binding site numbered i in `query_string`, there must be an i-th numbered parameter. The inverse must also be true.", +"items": { +"$ref": "GqlQueryParameter" +}, +"type": "array" +}, +"queryString": { +"description": "A string of the format described [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", +"type": "string" +} +}, +"type": "object" +}, +"GqlQueryParameter": { +"description": "A binding parameter for a GQL query.", +"id": "GqlQueryParameter", +"properties": { +"cursor": { +"description": "A query cursor. Query cursors are returned in query result batches.", +"format": "byte", +"type": "string" +}, +"value": { +"$ref": "Value", +"description": "A value parameter." +} +}, +"type": "object" +}, +"Key": { +"description": "A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts.", +"id": "Key", +"properties": { +"partitionId": { +"$ref": "PartitionId", +"description": "Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition." +}, +"path": { +"description": "The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's _ancestors_. An entity path is always fully complete: *all* of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.", +"items": { +"$ref": "PathElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"KindExpression": { +"description": "A representation of a kind.", +"id": "KindExpression", +"properties": { +"name": { +"description": "The name of the kind.", +"type": "string" +} +}, +"type": "object" +}, +"LatLng": { +"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.", +"id": "LatLng", +"properties": { +"latitude": { +"description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"LookupRequest": { +"description": "The request for Datastore.Lookup.", +"id": "LookupRequest", +"properties": { +"keys": { +"description": "Required. Keys of entities to look up.", +"items": { +"$ref": "Key" +}, +"type": "array" +}, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. Defaults to returning all properties. If this field is set and an entity has a property not referenced in the mask, it will be absent from LookupResponse.found.entity.properties. The entity's key is always returned." +}, +"readOptions": { +"$ref": "ReadOptions", +"description": "The options for this lookup request." +} +}, +"type": "object" +}, +"LookupResponse": { +"description": "The response for Datastore.Lookup.", +"id": "LookupResponse", +"properties": { +"deferred": { +"description": "A list of keys that were not looked up due to resource constraints. The order of results in this field is undefined and has no relation to the order of the keys in the input.", +"items": { +"$ref": "Key" +}, +"type": "array" +}, +"found": { +"description": "Entities found as `ResultType.FULL` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.", +"items": { +"$ref": "EntityResult" +}, +"type": "array" +}, +"missing": { +"description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.", +"items": { +"$ref": "EntityResult" +}, +"type": "array" +}, +"readTime": { +"description": "The time at which these entities were read or found missing.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Mutation": { +"description": "A mutation to apply to an entity.", +"id": "Mutation", +"properties": { +"baseVersion": { +"description": "The version of the entity that this mutation is being applied to. If this does not match the current version on the server, the mutation conflicts.", +"format": "int64", +"type": "string" +}, +"conflictResolutionStrategy": { +"description": "The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set.", +"enum": [ +"STRATEGY_UNSPECIFIED", +"SERVER_VALUE", +"FAIL" +], +"enumDescriptions": [ +"Unspecified. Defaults to `SERVER_VALUE`.", +"The server entity is kept.", +"The whole commit request fails." +], +"type": "string" +}, +"delete": { +"$ref": "Key", +"description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only." +}, +"insert": { +"$ref": "Entity", +"description": "The entity to insert. The entity must not already exist. The entity key's final path element may be incomplete." +}, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." +}, +"propertyTransforms": { +"description": "Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation.", +"items": { +"$ref": "PropertyTransform" +}, +"type": "array" +}, +"update": { +"$ref": "Entity", +"description": "The entity to update. The entity must already exist. Must have a complete key path." +}, +"updateTime": { +"description": "The update time of the entity that this mutation is being applied to. If this does not match the current update time on the server, the mutation conflicts.", +"format": "google-datetime", +"type": "string" +}, +"upsert": { +"$ref": "Entity", +"description": "The entity to upsert. The entity may or may not already exist. The entity key's final path element may be incomplete." +} +}, +"type": "object" +}, +"MutationResult": { +"description": "The result of applying a mutation.", +"id": "MutationResult", +"properties": { +"conflictDetected": { +"description": "Whether a conflict was detected for this mutation. Always false when a conflict detection strategy field is not set in the mutation.", +"type": "boolean" +}, +"createTime": { +"description": "The create time of the entity. This field will not be set after a 'delete'.", +"format": "google-datetime", +"type": "string" +}, +"key": { +"$ref": "Key", +"description": "The automatically allocated key. Set only when the mutation allocated a key." +}, +"transformResults": { +"description": "The results of applying each PropertyTransform, in the same order of the request.", +"items": { +"$ref": "Value" +}, +"type": "array" +}, +"updateTime": { +"description": "The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "The version of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the version will be the version of the current entity or, if no entity is present, a version that is strictly greater than the version of any previous entity and less than the version of any possible future entity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PartitionId": { +"description": "A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `\"\"`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state.", +"id": "PartitionId", +"properties": { +"namespaceId": { +"description": "If not empty, the ID of the namespace to which the entities belong.", +"type": "string" +}, +"projectId": { +"description": "The ID of the project to which the entities belong.", +"type": "string" +} +}, +"type": "object" +}, +"PathElement": { +"description": "A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.", +"id": "PathElement", +"properties": { +"id": { +"description": "The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`. Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are encoded as `__bytes__` where `` is the base-64 encoding of the bytes.", +"type": "string" +}, +"name": { +"description": "The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`. Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are encoded as `__bytes__` where `` is the base-64 encoding of the bytes.", +"type": "string" +} +}, +"type": "object" +}, +"PlanSummary": { +"description": "Planning phase information for the query.", +"id": "PlanSummary", +"properties": { +"indexesUsed": { +"description": "The indexes selected for the query. For example: [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ]", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Projection": { +"description": "A representation of a property in a projection.", +"id": "Projection", +"properties": { +"property": { +"$ref": "PropertyReference", +"description": "The property to project." +} +}, +"type": "object" +}, +"PropertyFilter": { +"description": "A filter on a specific property.", +"id": "PropertyFilter", +"properties": { +"op": { +"description": "The operator to filter by.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS_THAN", +"LESS_THAN_OR_EQUAL", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL", +"EQUAL", +"IN", +"NOT_EQUAL", +"HAS_ANCESTOR", +"NOT_IN" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The given `property` is less than the given `value`. Requires: * That `property` comes first in `order_by`.", +"The given `property` is less than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", +"The given `property` is greater than the given `value`. Requires: * That `property` comes first in `order_by`.", +"The given `property` is greater than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", +"The given `property` is equal to the given `value`.", +"The given `property` is equal to at least one value in the given array. Requires: * That `value` is a non-empty `ArrayValue`, subject to disjunction limits. * No `NOT_IN` is in the same query.", +"The given `property` is not equal to the given `value`. Requires: * No other `NOT_EQUAL` or `NOT_IN` is in the same query. * That `property` comes first in the `order_by`.", +"Limit the result set to the given entity and its descendants. Requires: * That `value` is an entity key. * All evaluated disjunctions must have the same `HAS_ANCESTOR` filter.", +"The value of the `property` is not in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `OR`, `IN`, `NOT_IN`, `NOT_EQUAL` is in the same query. * That `field` comes first in the `order_by`." +], +"type": "string" +}, +"property": { +"$ref": "PropertyReference", +"description": "The property to filter by." +}, +"value": { +"$ref": "Value", +"description": "The value to compare the property to." +} +}, +"type": "object" +}, +"PropertyMask": { +"description": "The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity.", +"id": "PropertyMask", +"properties": { +"paths": { +"description": "The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PropertyOrder": { +"description": "The desired order for a specific property.", +"id": "PropertyOrder", +"properties": { +"direction": { +"description": "The direction to order by. Defaults to `ASCENDING`.", +"enum": [ +"DIRECTION_UNSPECIFIED", +"ASCENDING", +"DESCENDING" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"Ascending.", +"Descending." +], +"type": "string" +}, +"property": { +"$ref": "PropertyReference", +"description": "The property to order by." +} +}, +"type": "object" +}, +"PropertyReference": { +"description": "A reference to a property relative to the kind expressions.", +"id": "PropertyReference", +"properties": { +"name": { +"description": "A reference to a property. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to entity property name limitations.", +"type": "string" +} +}, +"type": "object" +}, +"PropertyTransform": { +"description": "A transformation of an entity property.", +"id": "PropertyTransform", +"properties": { +"appendMissingElements": { +"$ref": "ArrayValue", +"description": "Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value." +}, +"increment": { +"$ref": "Value", +"description": "Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer." +}, +"maximum": { +"$ref": "Value", +"description": "Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." +}, +"minimum": { +"$ref": "Value", +"description": "Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." +}, +"property": { +"description": "Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\\`, then that name must be escaped.", +"type": "string" +}, +"removeAllFromArray": { +"$ref": "ArrayValue", +"description": "Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value." +}, +"setToServerValue": { +"description": "Sets the property to the given server value.", +"enum": [ +"SERVER_VALUE_UNSPECIFIED", +"REQUEST_TIME" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The time at which the server processed the request, with millisecond precision. If used on multiple properties (same or different entities) in a transaction, all the properties will get the same server timestamp." +], +"type": "string" +} +}, +"type": "object" +}, +"Query": { +"description": "A query for entities. The query stages are executed in the following order: 1. kind 2. filter 3. projection 4. order + start_cursor + end_cursor 5. offset 6. limit 7. find_nearest", +"id": "Query", +"properties": { +"distinctOn": { +"description": "The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned). Requires: * If `order` is specified, the set of distinct on properties must appear before the non-distinct on properties in `order`.", +"items": { +"$ref": "PropertyReference" +}, +"type": "array" +}, +"endCursor": { +"description": "An ending point for the query results. Query cursors are returned in query result batches and [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", +"format": "byte", +"type": "string" +}, +"filter": { +"$ref": "Filter", +"description": "The filter to apply." +}, +"findNearest": { +"$ref": "FindNearest", +"description": "Optional. A potential Nearest Neighbors Search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector." +}, +"kind": { +"description": "The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified.", +"items": { +"$ref": "KindExpression" +}, +"type": "array" +}, +"limit": { +"description": "The maximum number of results to return. Applies after all other constraints. Optional. Unspecified is interpreted as no limit. Must be >= 0 if specified.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "The number of results to skip. Applies before limit, but after all other constraints. Optional. Must be >= 0 if specified.", +"format": "int32", +"type": "integer" +}, +"order": { +"description": "The order to apply to the query results (if empty, order is unspecified).", +"items": { +"$ref": "PropertyOrder" +}, +"type": "array" +}, +"projection": { +"description": "The projection to return. Defaults to returning all properties.", +"items": { +"$ref": "Projection" +}, +"type": "array" +}, +"startCursor": { +"description": "A starting point for the query results. Query cursors are returned in query result batches and [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"QueryResultBatch": { +"description": "A batch of results produced by a query.", +"id": "QueryResultBatch", +"properties": { +"endCursor": { +"description": "A cursor that points to the position after the last result in the batch.", +"format": "byte", +"type": "string" +}, +"entityResultType": { +"description": "The result type for every entity in `entity_results`.", +"enum": [ +"RESULT_TYPE_UNSPECIFIED", +"FULL", +"PROJECTION", +"KEY_ONLY" +], +"enumDescriptions": [ +"Unspecified. This value is never used.", +"The key and properties.", +"A projected subset of properties. The entity may have no key.", +"Only the key." +], +"type": "string" +}, +"entityResults": { +"description": "The results for this batch.", +"items": { +"$ref": "EntityResult" +}, +"type": "array" +}, +"moreResults": { +"description": "The state of the query after the current batch.", +"enum": [ +"MORE_RESULTS_TYPE_UNSPECIFIED", +"NOT_FINISHED", +"MORE_RESULTS_AFTER_LIMIT", +"MORE_RESULTS_AFTER_CURSOR", +"NO_MORE_RESULTS" +], +"enumDescriptions": [ +"Unspecified. This value is never used.", +"There may be additional batches to fetch from this query.", +"The query is finished, but there may be more results after the limit.", +"The query is finished, but there may be more results after the end cursor.", +"The query is finished, and there are no more results." +], +"type": "string" +}, +"readTime": { +"description": "Read timestamp this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater timestamp. Each batch's read timestamp is valid for all preceding batches. This value will not be set for eventually consistent queries in Cloud Datastore.", +"format": "google-datetime", +"type": "string" +}, +"skippedCursor": { +"description": "A cursor that points to the position after the last skipped result. Will be set when `skipped_results` != 0.", +"format": "byte", +"type": "string" +}, +"skippedResults": { +"description": "The number of results skipped, typically because of an offset.", +"format": "int32", +"type": "integer" +}, +"snapshotVersion": { +"description": "The version number of the snapshot this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater snapshot version number. Each batch's snapshot version is valid for all preceding batches. The value will be zero for eventually consistent queries.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReadOnly": { +"description": "Options specific to read-only transactions.", +"id": "ReadOnly", +"properties": { +"readTime": { +"description": "Reads entities at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ReadOptions": { +"description": "The options shared by read requests.", +"id": "ReadOptions", +"properties": { +"readConsistency": { +"description": "The non-transactional read consistency to use.", +"enum": [ +"READ_CONSISTENCY_UNSPECIFIED", +"STRONG", +"EVENTUAL" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"Strong consistency.", +"Eventual consistency." +], +"type": "string" +}, +"readTime": { +"description": "Reads entities as they were at the given time. This value is only supported for Cloud Firestore in Datastore mode. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +}, +"transaction": { +"description": "The identifier of the transaction in which to read. A transaction identifier is returned by a call to Datastore.BeginTransaction.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ReadWrite": { +"description": "Options specific to read / write transactions.", +"id": "ReadWrite", +"properties": { +"previousTransaction": { +"description": "The transaction identifier of the transaction being retried.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ReserveIdsRequest": { +"description": "The request for Datastore.ReserveIds.", +"id": "ReserveIdsRequest", +"properties": { +"databaseId": { +"description": "The ID of the database against which to make the request. '(default)' is not allowed; please use empty string '' to refer the default database.", +"type": "string" +}, +"keys": { +"description": "Required. A list of keys with complete key paths whose numeric IDs should not be auto-allocated.", +"items": { +"$ref": "Key" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReserveIdsResponse": { +"description": "The response for Datastore.ReserveIds.", +"id": "ReserveIdsResponse", +"properties": {}, +"type": "object" +}, +"RollbackRequest": { +"description": "The request for Datastore.Rollback.", +"id": "RollbackRequest", +"properties": { +"transaction": { +"description": "Required. The transaction identifier, returned by a call to Datastore.BeginTransaction.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RollbackResponse": { +"description": "The response for Datastore.Rollback. (an empty message).", +"id": "RollbackResponse", +"properties": {}, +"type": "object" +}, +"RunAggregationQueryRequest": { +"description": "The request for Datastore.RunAggregationQuery.", +"id": "RunAggregationQueryRequest", +"properties": { +"aggregationQuery": { +"$ref": "AggregationQuery", +"description": "The query to run." +}, +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, +"gqlQuery": { +"$ref": "GqlQuery", +"description": "The GQL query to run. This query must be an aggregation query." +}, +"partitionId": { +"$ref": "PartitionId", +"description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." +}, +"readOptions": { +"$ref": "ReadOptions", +"description": "The options for this query." +} +}, +"type": "object" +}, +"RunAggregationQueryResponse": { +"description": "The response for Datastore.RunAggregationQuery.", +"id": "RunAggregationQueryResponse", +"properties": { +"batch": { +"$ref": "AggregationResultBatch", +"description": "A batch of aggregation results. Always present." +}, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, +"query": { +"$ref": "AggregationQuery", +"description": "The parsed form of the `GqlQuery` from the request, if it was set." +} +}, +"type": "object" +}, +"RunQueryRequest": { +"description": "The request for Datastore.RunQuery.", +"id": "RunQueryRequest", +"properties": { +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, +"gqlQuery": { +"$ref": "GqlQuery", +"description": "The GQL query to run. This query must be a non-aggregation query." +}, +"partitionId": { +"$ref": "PartitionId", +"description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." +}, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. This field must not be set for a projection query. See LookupRequest.property_mask." +}, +"query": { +"$ref": "Query", +"description": "The query to run." +}, +"readOptions": { +"$ref": "ReadOptions", +"description": "The options for this query." +} +}, +"type": "object" +}, +"RunQueryResponse": { +"description": "The response for Datastore.RunQuery.", +"id": "RunQueryResponse", +"properties": { +"batch": { +"$ref": "QueryResultBatch", +"description": "A batch of query results (always present)." +}, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, +"query": { +"$ref": "Query", +"description": "The parsed form of the `GqlQuery` from the request, if it was set." +} +}, +"type": "object" +}, +"Sum": { +"description": "Sum of the values of the requested property. * Only numeric values will be aggregated. All non-numeric values including `NULL` are skipped. * If the aggregated values contain `NaN`, returns `NaN`. Infinity math follows IEEE-754 standards. * If the aggregated value set is empty, returns 0. * Returns a 64-bit integer if all aggregated numbers are integers and the sum result does not overflow. Otherwise, the result is returned as a double. Note that even if all the aggregated values are integers, the result is returned as a double if it cannot fit within a 64-bit signed integer. When this occurs, the returned value will lose precision. * When underflow occurs, floating-point aggregation is non-deterministic. This means that running the same query repeatedly without any changes to the underlying values could produce slightly different results each time. In those cases, values should be stored as integers over floating-point numbers.", +"id": "Sum", +"properties": { +"property": { +"$ref": "PropertyReference", +"description": "The property to aggregate on." +} +}, +"type": "object" +}, +"TransactionOptions": { +"description": "Options for beginning a new transaction. Transactions can be created explicitly with calls to Datastore.BeginTransaction or implicitly by setting ReadOptions.new_transaction in read requests.", +"id": "TransactionOptions", +"properties": { +"readOnly": { +"$ref": "ReadOnly", +"description": "The transaction should only allow reads." +}, +"readWrite": { +"$ref": "ReadWrite", +"description": "The transaction should allow both reads and writes." +} +}, +"type": "object" +}, +"Value": { +"description": "A message that can hold any of the supported value types and associated metadata.", +"id": "Value", +"properties": { +"arrayValue": { +"$ref": "ArrayValue", +"description": "An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`." +}, +"blobValue": { +"description": "A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.", +"format": "byte", +"type": "string" +}, +"booleanValue": { +"description": "A boolean value.", +"type": "boolean" +}, +"doubleValue": { +"description": "A double value.", +"format": "double", +"type": "number" +}, +"entityValue": { +"$ref": "Entity", +"description": "An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key." +}, +"excludeFromIndexes": { +"description": "If the value should be excluded from all indexes including those defined explicitly.", +"type": "boolean" +}, +"geoPointValue": { +"$ref": "LatLng", +"description": "A geo point value representing a point on the surface of Earth." +}, +"integerValue": { +"description": "An integer value.", +"format": "int64", +"type": "string" +}, +"keyValue": { +"$ref": "Key", +"description": "A key value." +}, +"meaning": { +"description": "The `meaning` field should only be populated for backwards compatibility.", +"format": "int32", +"type": "integer" +}, +"nullValue": { +"description": "A null value.", +"enum": [ +"NULL_VALUE" +], +"enumDescriptions": [ +"Null value." +], +"type": "string" +}, +"stringValue": { +"description": "A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.", +"type": "string" +}, +"timestampValue": { +"description": "A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Datastore API", +"version": "v1beta3", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..490620a42bbc1509a6d7959ab5f41f26b425a030 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1.json @@ -0,0 +1,21436 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://discoveryengine.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Discovery Engine", +"description": "Discovery Engine API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", +"location": "us" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", +"location": "eu" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "discoveryengine:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://discoveryengine.mtls.googleapis.com/", +"name": "discoveryengine", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"provision": { +"description": "Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.", +"flatPath": "v1/projects/{projectsId}:provision", +"httpMethod": "POST", +"id": "discoveryengine.projects.provision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:provision", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ProvisionProjectRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"generateGroundedContent": { +"description": "Generates grounded content.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.generateGroundedContent", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:generateGroundedContent", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"collections": { +"resources": { +"dataConnector": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1CompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"trainCustomModel": { +"description": "Trains a custom model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:trainCustomModel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.trainCustomModel", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to train the models.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataStore}:trainCustomModel", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1TrainCustomModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"customModels": { +"methods": { +"list": { +"description": "Gets a list of all the custom models.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/customModels", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.customModels.list", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the parent Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to fetch the models from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataStore}/customModels", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListCustomModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Answer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"batchVerifyTargetSites": { +"description": "Verify target sites' ownership and validity. This API sends all the target sites under site search engine for verification.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:batchVerifyTargetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.batchVerifyTargetSites", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being verified. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:batchVerifyTargetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1BatchVerifyTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchDomainVerificationStatus": { +"description": "Returns list of target sites with its domain verification status. This method can only be called under data store with BASIC_SITE_SEARCH state at the moment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:fetchDomainVerificationStatus", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.fetchDomainVerificationStatus", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `FetchDomainVerificationStatus` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDomainVerificationStatus` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"siteSearchEngine": { +"description": "Required. The site search engine resource under which we fetch all the domain verification status. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:fetchDomainVerificationStatus", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"engines": { +"methods": { +"create": { +"description": "Creates a Engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"engineId": { +"description": "Required. The ID to use for the Engine, which will become the final component of the Engine's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/engines", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Engine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. If the caller does not have permission to delete the Engine, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Engine to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Engine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the Engines associated with the project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Not supported.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Not supported.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/engines", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListEnginesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Engine", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Engine to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Engine" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Engine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Answer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1CompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1Answer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1ListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"groundingConfigs": { +"methods": { +"check": { +"description": "Performs a grounding check.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groundingConfigs/{groundingConfigsId}:check", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.groundingConfigs.check", +"parameterOrder": [ +"groundingConfig" +], +"parameters": { +"groundingConfig": { +"description": "Required. The resource name of the grounding config, such as `projects/*/locations/global/groundingConfigs/default_grounding_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groundingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+groundingConfig}:check", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1CheckGroundingRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1CheckGroundingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"identityMappingStores": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rankingConfigs": { +"methods": { +"rank": { +"description": "Ranks a list of text records based on the given input query.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/rankingConfigs/{rankingConfigsId}:rank", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.rankingConfigs.rank", +"parameterOrder": [ +"rankingConfig" +], +"parameters": { +"rankingConfig": { +"description": "Required. The resource name of the rank service config, such as `projects/{project_num}/locations/{location}/rankingConfigs/default_ranking_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rankingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+rankingConfig}:rank", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1RankRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1RankResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1ImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20250107", +"rootUrl": "https://discoveryengine.googleapis.com/", +"schemas": { +"GoogleApiDistribution": { +"description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", +"id": "GoogleApiDistribution", +"properties": { +"bucketCounts": { +"description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"bucketOptions": { +"$ref": "GoogleApiDistributionBucketOptions", +"description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." +}, +"count": { +"description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", +"format": "int64", +"type": "string" +}, +"exemplars": { +"description": "Must be in increasing order of `value` field.", +"items": { +"$ref": "GoogleApiDistributionExemplar" +}, +"type": "array" +}, +"mean": { +"description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +}, +"range": { +"$ref": "GoogleApiDistributionRange", +"description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." +}, +"sumOfSquaredDeviation": { +"description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptions": { +"description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", +"id": "GoogleApiDistributionBucketOptions", +"properties": { +"explicitBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExplicit", +"description": "The explicit buckets." +}, +"exponentialBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExponential", +"description": "The exponential buckets." +}, +"linearBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsLinear", +"description": "The linear bucket." +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExplicit": { +"description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", +"id": "GoogleApiDistributionBucketOptionsExplicit", +"properties": { +"bounds": { +"description": "The values must be monotonically increasing.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExponential": { +"description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsExponential", +"properties": { +"growthFactor": { +"description": "Must be greater than 1.", +"format": "double", +"type": "number" +}, +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"scale": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsLinear": { +"description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsLinear", +"properties": { +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "Lower bound of the first bucket.", +"format": "double", +"type": "number" +}, +"width": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionExemplar": { +"description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", +"id": "GoogleApiDistributionExemplar", +"properties": { +"attachments": { +"description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"timestamp": { +"description": "The observation (sampling) time of the above value.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionRange": { +"description": "The range of the population values.", +"id": "GoogleApiDistributionRange", +"properties": { +"max": { +"description": "The maximum of the population values.", +"format": "double", +"type": "number" +}, +"min": { +"description": "The minimum of the population values.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleApiHttpBody", +"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.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiMetric": { +"description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", +"id": "GoogleApiMetric", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", +"type": "object" +}, +"type": { +"description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResource": { +"description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", +"id": "GoogleApiMonitoredResource", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", +"type": "object" +}, +"type": { +"description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResourceMetadata": { +"description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", +"id": "GoogleApiMonitoredResourceMetadata", +"properties": { +"systemLabels": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", +"type": "object" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. A map of user-defined metadata labels.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorContext": { +"description": "A description of the context in which an error occurred.", +"id": "GoogleCloudDiscoveryengineLoggingErrorContext", +"properties": { +"httpRequest": { +"$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"description": "The HTTP request which was processed when the error was triggered." +}, +"reportLocation": { +"$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorLog": { +"description": "An error log which is reported to the Error Reporting system.", +"id": "GoogleCloudDiscoveryengineLoggingErrorLog", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", +"description": "A description of the context in which the error occurred." +}, +"importPayload": { +"$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"description": "The error payload that is populated on LRO import APIs." +}, +"message": { +"description": "A message describing the error.", +"type": "string" +}, +"requestPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API request payload, represented as a protocol buffer. Most API request types are supported\u2014for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", +"type": "object" +}, +"responsePayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", +"type": "object" +}, +"serviceContext": { +"$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", +"description": "The service context in which this error has occurred." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The RPC status associated with the error log." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingHttpRequestContext": { +"description": "HTTP request data that is related to a reported error.", +"id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"properties": { +"responseStatusCode": { +"description": "The HTTP response status code for the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingImportErrorContext": { +"description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", +"id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"properties": { +"document": { +"description": "The detailed content which caused the error on importing a document.", +"type": "string" +}, +"gcsPath": { +"description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", +"type": "string" +}, +"lineNumber": { +"description": "Line number of the content in file. Should be empty for permission or batch operation error.", +"type": "string" +}, +"operation": { +"description": "The operation resource name of the LRO.", +"type": "string" +}, +"userEvent": { +"description": "The detailed content which caused the error on importing a user event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingServiceContext": { +"description": "Describes a running service that sends errors.", +"id": "GoogleCloudDiscoveryengineLoggingServiceContext", +"properties": { +"service": { +"description": "An identifier of the service\u2014for example, `discoveryengine.googleapis.com`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingSourceLocation": { +"description": "Indicates a location in the source code of the service for which errors are reported.", +"id": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"properties": { +"functionName": { +"description": "Human-readable name of a function or method\u2014for example, `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AlloyDbSource": { +"description": "AlloyDB source import data from.", +"id": "GoogleCloudDiscoveryengineV1AlloyDbSource", +"properties": { +"clusterId": { +"description": "Required. The AlloyDB cluster to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The AlloyDB database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the AlloyDB export to a specific Cloud Storage directory. Ensure that the AlloyDB service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"locationId": { +"description": "Required. The AlloyDB location to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the AlloyDB source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The AlloyDB table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Answer": { +"description": "Defines an answer.", +"id": "GoogleCloudDiscoveryengineV1Answer", +"properties": { +"answerSkippedReasons": { +"description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"ANSWER_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_ANSWER_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_ANSWER_SEEKING_QUERY_IGNORED_V2", +"LOW_GROUNDED_ANSWER" +], +"enumDescriptions": [ +"Default value. The answer skipped reason is not specified.", +"The adversarial query ignored case.", +"The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", +"The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", +"The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", +"The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." +], +"type": "string" +}, +"type": "array" +}, +"answerText": { +"description": "The textual answer.", +"type": "string" +}, +"citations": { +"description": "Citations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerCitation" +}, +"type": "array" +}, +"completeTime": { +"description": "Output only. Answer completed timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Answer creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", +"format": "double", +"type": "number" +}, +"groundingSupports": { +"description": "Optional. Grounding supports.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerGroundingSupport" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", +"type": "string" +}, +"queryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfo", +"description": "Query understanding information." +}, +"references": { +"description": "References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReference" +}, +"type": "array" +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"safetyRatings": { +"description": "Optional. Safety ratings.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SafetyRating" +}, +"type": "array" +}, +"state": { +"description": "The state of the answer generation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED", +"STREAMING" +], +"enumDescriptions": [ +"Unknown.", +"Answer generation is currently in progress.", +"Answer generation currently failed.", +"Answer generation has succeeded.", +"Answer generation is currently in progress." +], +"type": "string" +}, +"steps": { +"description": "Answer generation steps.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1AnswerCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1AnswerCitationSource", +"properties": { +"referenceId": { +"description": "ID of the citation source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerGroundingSupport": { +"description": "Grounding support for a claim in `answer_text`.", +"id": "GoogleCloudDiscoveryengineV1AnswerGroundingSupport", +"properties": { +"endIndex": { +"description": "Required. End of the claim, exclusive.", +"format": "int64", +"type": "string" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", +"type": "boolean" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", +"format": "double", +"type": "number" +}, +"sources": { +"description": "Optional. Citation sources for the claim.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequest": { +"description": "Request message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequest", +"properties": { +"answerGenerationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec", +"description": "Answer generation specification." +}, +"asynchronousMode": { +"deprecated": true, +"description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", +"type": "boolean" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec", +"description": "Optional. Grounding specification." +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1Query", +"description": "Required. Current user query." +}, +"queryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec", +"description": "Query understanding specification." +}, +"relatedQuestionsSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec", +"description": "Related questions specification." +}, +"safetySpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec", +"description": "Model specification." +}, +"searchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpec", +"description": "Search specification." +}, +"session": { +"description": "The session resource name. Not required. When session field is not set, the API is in sessionless mode. We support auto session mode: users can use the wildcard symbol `-` as session ID. A new ID will be automatically generated and assigned.", +"type": "string" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec": { +"description": "Answer generation specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec", +"properties": { +"answerLanguageCode": { +"description": "Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No answer is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating answers for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true` or unset, the behavior will be determined automatically by the service.", +"type": "boolean" +}, +"ignoreNonAnswerSeekingQuery": { +"description": "Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. Google employs search-query classification to detect answer-seeking queries. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citation metadata in the answer. The default value is `false`.", +"type": "boolean" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecModelSpec", +"description": "Answer generation model specification." +}, +"promptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecPromptSpec", +"description": "Answer generation prompt specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecModelSpec": { +"description": "Answer Generation Model specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecModelSpec", +"properties": { +"modelVersion": { +"description": "Model version. If not set, it will use the default stable model. Allowed values are: stable, preview.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecPromptSpec": { +"description": "Answer generation prompt specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecPromptSpec", +"properties": { +"preamble": { +"description": "Customized preamble.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec", +"properties": { +"filteringLevel": { +"description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", +"enum": [ +"FILTERING_LEVEL_UNSPECIFIED", +"FILTERING_LEVEL_LOW", +"FILTERING_LEVEL_HIGH" +], +"enumDescriptions": [ +"Default is no filter", +"Filter answers based on a low threshold.", +"Filter answers based on a high threshold." +], +"type": "string" +}, +"includeGroundingSupports": { +"description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec": { +"description": "Query understanding specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec", +"properties": { +"queryClassificationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"description": "Query classification specification." +}, +"queryRephraserSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"description": "Query rephraser specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec": { +"description": "Query classification specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"properties": { +"types": { +"description": "Enabled query classification types.", +"items": { +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec": { +"description": "Query rephraser specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"properties": { +"disable": { +"description": "Disable query rephraser.", +"type": "boolean" +}, +"maxRephraseSteps": { +"description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", +"format": "int32", +"type": "integer" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"description": "Optional. Query Rephraser Model specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { +"description": "Query Rephraser Model specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"properties": { +"modelType": { +"description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"SMALL", +"LARGE" +], +"enumDescriptions": [ +"Unspecified model type.", +"Small query rephraser model. Gemini 1.0 XS model.", +"Large query rephraser model. Gemini 1.0 Pro model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec": { +"description": "Related questions specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec", +"properties": { +"enable": { +"description": "Enable related questions feature if true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec": { +"description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec", +"properties": { +"enable": { +"description": "Enable the safety filtering on the answer response. It is false by default.", +"type": "boolean" +}, +"safetySettings": { +"description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting": { +"description": "Safety settings.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting", +"properties": { +"category": { +"description": "Required. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"type": "string" +}, +"threshold": { +"description": "Required. The harm block threshold.", +"enum": [ +"HARM_BLOCK_THRESHOLD_UNSPECIFIED", +"BLOCK_LOW_AND_ABOVE", +"BLOCK_MEDIUM_AND_ABOVE", +"BLOCK_ONLY_HIGH", +"BLOCK_NONE", +"OFF" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpec": { +"description": "Search specification.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpec", +"properties": { +"searchParams": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchParams", +"description": "Search parameters." +}, +"searchResultList": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultList", +"description": "Search result list." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchParams": { +"description": "Search parameters.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchParams", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"dataStoreSpecs": { +"description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"maxReturnResults": { +"description": "Number of search results to return. The default value is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultList": { +"description": "Search result list.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultList", +"properties": { +"searchResults": { +"description": "Search results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResult": { +"description": "Search result.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResult", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"description": "Chunk information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"description": "Metadata of the document from the current chunk." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"properties": { +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"documentContexts": { +"description": "List of document contexts. The content will be used for Answer Generation. This is supposed to be the main content of the document that can be long and comprehensive.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext" +}, +"type": "array" +}, +"extractiveAnswers": { +"deprecated": true, +"description": "Deprecated: This field is deprecated and will have no effect on the Answer generation. Please use document_contexts and extractive_segments fields. List of extractive answers.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer" +}, +"type": "array" +}, +"extractiveSegments": { +"description": "List of extractive segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment" +}, +"type": "array" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext": { +"description": "Document context.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext", +"properties": { +"content": { +"description": "Document content to be used for answer generation.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer": { +"description": "Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer", +"properties": { +"content": { +"description": "Extractive answer content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment": { +"description": "Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) Answer generation will only use it if document_contexts is empty. This is supposed to be shorter snippets.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment", +"properties": { +"content": { +"description": "Extractive segment content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryResponse": { +"description": "Response message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryResponse", +"properties": { +"answer": { +"$ref": "GoogleCloudDiscoveryengineV1Answer", +"description": "Answer resource object. If AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec.max_rephrase_steps is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." +}, +"answerQueryToken": { +"description": "A global unique ID used for logging.", +"type": "string" +}, +"session": { +"$ref": "GoogleCloudDiscoveryengineV1Session", +"description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfo": { +"description": "Query understanding information.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfo", +"properties": { +"queryClassificationInfo": { +"description": "Query classification information.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfoQueryClassificationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfoQueryClassificationInfo": { +"description": "Query classification information.", +"id": "GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfoQueryClassificationInfo", +"properties": { +"positive": { +"description": "Classification output.", +"type": "boolean" +}, +"type": { +"description": "Query classification type.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReference": { +"description": "Reference.", +"id": "GoogleCloudDiscoveryengineV1AnswerReference", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfo", +"description": "Chunk information." +}, +"structuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReferenceStructuredDocumentInfo", +"description": "Structured document information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfoDocumentMetadata", +"description": "Document metadata." +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfoDocumentMetadata": { +"description": "Document metadata.", +"id": "GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfoDocumentMetadata", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReferenceStructuredDocumentInfo": { +"description": "Structured search information.", +"id": "GoogleCloudDiscoveryengineV1AnswerReferenceStructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured search data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfo", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfoChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfoChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfoChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStep": { +"description": "Step information.", +"id": "GoogleCloudDiscoveryengineV1AnswerStep", +"properties": { +"actions": { +"description": "Actions.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepAction" +}, +"type": "array" +}, +"description": { +"description": "The description of the step.", +"type": "string" +}, +"state": { +"description": "The state of the step.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Unknown.", +"Step is currently in progress.", +"Step currently failed.", +"Step has succeeded." +], +"type": "string" +}, +"thought": { +"description": "The thought of the step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepAction": { +"description": "Action.", +"id": "GoogleCloudDiscoveryengineV1AnswerStepAction", +"properties": { +"observation": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepActionObservation", +"description": "Observation." +}, +"searchAction": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepActionSearchAction", +"description": "Search action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepActionObservation": { +"description": "Observation.", +"id": "GoogleCloudDiscoveryengineV1AnswerStepActionObservation", +"properties": { +"searchResults": { +"description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResult": { +"id": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResult", +"properties": { +"chunkInfo": { +"description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultChunkInfo" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"snippetInfo": { +"description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo" +}, +"type": "array" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo": { +"description": "Snippet information.", +"id": "GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo", +"properties": { +"snippet": { +"description": "Snippet content.", +"type": "string" +}, +"snippetStatus": { +"description": "Status of the snippet defined by the search team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AnswerStepActionSearchAction": { +"description": "Search action.", +"id": "GoogleCloudDiscoveryengineV1AnswerStepActionSearchAction", +"properties": { +"query": { +"description": "The query to search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to create. A maximum of 20 TargetSites can be created in a batch.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CreateTargetSiteRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponse": { +"description": "Response message for DocumentService.BatchGetDocumentsMetadata method.", +"id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponse", +"properties": { +"documentsMetadata": { +"description": "The metadata of the Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata": { +"description": "The metadata of a Document.", +"id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata", +"properties": { +"dataIngestionSource": { +"description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", +"type": "string" +}, +"lastRefreshedTime": { +"description": "The timestamp of the last time the Document was last indexed.", +"format": "google-datetime", +"type": "string" +}, +"matcherValue": { +"$ref": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"description": "The value of the matcher that was used to match the Document." +}, +"state": { +"description": "The state of the document.", +"enum": [ +"STATE_UNSPECIFIED", +"INDEXED", +"NOT_IN_TARGET_SITE", +"NOT_IN_INDEX" +], +"enumDescriptions": [ +"Should never be set.", +"The Document is indexed.", +"The Document is not indexed because its URI is not in the TargetSite.", +"The Document is not indexed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue": { +"description": "The value of the matcher that was used to match the Document.", +"id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"properties": { +"fhirResource": { +"description": "Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"type": "string" +}, +"uri": { +"description": "If match by URI, the URI of the Document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchVerifyTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchVerifyTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1BatchVerifyTargetSitesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BigQuerySource": { +"description": "BigQuery source import data from.", +"id": "GoogleCloudDiscoveryengineV1BigQuerySource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for user event imports: * `user_event` (default): One UserEvent per row. Supported values for document imports: * `document` (default): One Document format per row. Each document must have a valid Document.id and one of Document.json_data or Document.struct_data. * `custom`: One custom data per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical.", +"type": "string" +}, +"datasetId": { +"description": "Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.", +"type": "string" +}, +"partitionDate": { +"$ref": "GoogleTypeDate", +"description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." +}, +"projectId": { +"description": "The project ID or the project number that contains the BigQuery source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BigtableOptions": { +"description": "The Bigtable Options object that contains information to support the import.", +"id": "GoogleCloudDiscoveryengineV1BigtableOptions", +"properties": { +"families": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumnFamily" +}, +"description": "The mapping from family names to an object that contains column families level information for the given column family. If a family is not present in this map it will be ignored.", +"type": "object" +}, +"keyFieldName": { +"description": "The field name used for saving row key value in the document. The name has to match the pattern `a-zA-Z0-9*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumn": { +"description": "The column of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumn", +"properties": { +"encoding": { +"description": "The encoding mode of the values when the type is not `STRING`. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the qualifier bytes with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"qualifier": { +"description": "Required. Qualifier of the column. If it cannot be decoded with utf-8, use a base-64 encoded string instead.", +"format": "byte", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumnFamily": { +"description": "The column family of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumnFamily", +"properties": { +"columns": { +"description": "The list of objects that contains column level information for each column. If a column is not present in this list it will be ignored.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1BigtableOptionsBigtableColumn" +}, +"type": "array" +}, +"encoding": { +"description": "The encoding mode of the values when the type is not STRING. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column family in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the family name with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BigtableSource": { +"description": "The Cloud Bigtable source for importing data.", +"id": "GoogleCloudDiscoveryengineV1BigtableSource", +"properties": { +"bigtableOptions": { +"$ref": "GoogleCloudDiscoveryengineV1BigtableOptions", +"description": "Required. Bigtable options that contains information needed when parsing data into typed structures. For example, column type annotations." +}, +"instanceId": { +"description": "Required. The instance ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Bigtable source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CheckGroundingRequest": { +"description": "Request message for GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1CheckGroundingRequest", +"properties": { +"answerCandidate": { +"description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", +"type": "string" +}, +"facts": { +"description": "List of facts for the grounding check. We support up to 200 facts.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GroundingFact" +}, +"type": "array" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1CheckGroundingSpec", +"description": "Configuration of the grounding check." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CheckGroundingResponse": { +"description": "Response message for the GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1CheckGroundingResponse", +"properties": { +"citedChunks": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1FactChunk" +}, +"type": "array" +}, +"citedFacts": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk" +}, +"type": "array" +}, +"claims": { +"description": "Claim texts and citation info across all claims in the answer candidate.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim" +}, +"type": "array" +}, +"supportScore": { +"description": "The support score for the input answer candidate. Higher the score, higher is the fraction of claims that are supported by the provided facts. This is always set when a response is returned.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk": { +"description": "Fact chunk for grounding check.", +"id": "GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim": { +"description": "Text and citation info for a claim in the answer candidate.", +"id": "GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim", +"properties": { +"citationIndices": { +"description": "A list of indices (into 'cited_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that cited_chunks[1], cited_chunks[3], cited_chunks[4] are the facts cited supporting for the claim. A citation to a fact indicates that the claim is supported by the fact.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"claimText": { +"description": "Text for the claim in the answer candidate. Always provided regardless of whether citations or anti-citations are found.", +"type": "string" +}, +"endPos": { +"description": "Position indicating the end of the claim in the answer candidate, exclusive.", +"format": "int32", +"type": "integer" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", +"type": "boolean" +}, +"startPos": { +"description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CheckGroundingSpec": { +"description": "Specification for the grounding check.", +"id": "GoogleCloudDiscoveryengineV1CheckGroundingSpec", +"properties": { +"citationThreshold": { +"description": "The threshold (in [0,1]) used for determining whether a fact must be cited for a claim in the answer candidate. Choosing a higher threshold will lead to fewer but very strong citations, while choosing a lower threshold may lead to more but somewhat weaker citations. If unset, the threshold will default to 0.6.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Chunk": { +"description": "Chunk captures all raw metadata information of items to be recommended or searched in the chunk mode.", +"id": "GoogleCloudDiscoveryengineV1Chunk", +"properties": { +"chunkMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1ChunkChunkMetadata", +"description": "Output only. Metadata of the current chunk.", +"readOnly": true +}, +"content": { +"description": "Content is a string from a document (parsed content).", +"type": "string" +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1ChunkDocumentMetadata", +"description": "Metadata of the document from the current chunk." +}, +"id": { +"description": "Unique chunk ID of the current chunk.", +"type": "string" +}, +"name": { +"description": "The full resource name of the chunk. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"pageSpan": { +"$ref": "GoogleCloudDiscoveryengineV1ChunkPageSpan", +"description": "Page span of the chunk." +}, +"relevanceScore": { +"description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ChunkChunkMetadata": { +"description": "Metadata of the current chunk. This field is only populated on SearchService.Search API.", +"id": "GoogleCloudDiscoveryengineV1ChunkChunkMetadata", +"properties": { +"nextChunks": { +"description": "The next chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Chunk" +}, +"type": "array" +}, +"previousChunks": { +"description": "The previous chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Chunk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ChunkDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1ChunkDocumentMetadata", +"properties": { +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ChunkPageSpan": { +"description": "Page span of the chunk.", +"id": "GoogleCloudDiscoveryengineV1ChunkPageSpan", +"properties": { +"pageEnd": { +"description": "The end page of the chunk.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "The start page of the chunk.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CloudSqlSource": { +"description": "Cloud SQL source import data from.", +"id": "GoogleCloudDiscoveryengineV1CloudSqlSource", +"properties": { +"databaseId": { +"description": "Required. The Cloud SQL database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"instanceId": { +"description": "Required. The Cloud SQL instance to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"offload": { +"description": "Option for serverless export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/sql/pricing#serverless).", +"type": "boolean" +}, +"projectId": { +"description": "The project ID that contains the Cloud SQL source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The Cloud SQL table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1CmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CompleteQueryResponse": { +"description": "Response message for CompletionService.CompleteQuery method.", +"id": "GoogleCloudDiscoveryengineV1CompleteQueryResponse", +"properties": { +"querySuggestions": { +"description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion" +}, +"type": "array" +}, +"tailMatchTriggered": { +"description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion": { +"description": "Suggestions as search queries.", +"id": "GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion", +"properties": { +"completableFieldPaths": { +"description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CompletionInfo": { +"description": "Detailed completion information including completion attribution token and clicked completion info.", +"id": "GoogleCloudDiscoveryengineV1CompletionInfo", +"properties": { +"selectedPosition": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion position, starting from 0.", +"format": "int32", +"type": "integer" +}, +"selectedSuggestion": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CompletionSuggestion": { +"description": "Autocomplete suggestions that are imported from Customer.", +"id": "GoogleCloudDiscoveryengineV1CompletionSuggestion", +"properties": { +"alternativePhrases": { +"description": "Alternative matching phrases for this suggestion.", +"items": { +"type": "string" +}, +"type": "array" +}, +"frequency": { +"description": "Frequency of this suggestion. Will be used to rank suggestions when score is not available.", +"format": "int64", +"type": "string" +}, +"globalScore": { +"description": "Global score of this suggestion. Control how this suggestion would be scored / ranked.", +"format": "double", +"type": "number" +}, +"groupId": { +"description": "If two suggestions have the same groupId, they will not be returned together. Instead the one ranked higher will be returned. This can be used to deduplicate semantically identical suggestions.", +"type": "string" +}, +"groupScore": { +"description": "The score of this suggestion within its group.", +"format": "double", +"type": "number" +}, +"languageCode": { +"description": "BCP-47 language code of this suggestion.", +"type": "string" +}, +"suggestion": { +"description": "Required. The suggestion text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Condition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1Condition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1ConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1ConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Control": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1Control", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Condition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Conversation": { +"description": "External conversation proto definition.", +"id": "GoogleCloudDiscoveryengineV1Conversation", +"properties": { +"endTime": { +"description": "Output only. The time the conversation finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"messages": { +"description": "Conversation messages.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConversationMessage" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the conversation started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the Conversation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"COMPLETED" +], +"enumDescriptions": [ +"Unknown.", +"Conversation is currently open.", +"Conversation has been completed." +], +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConversationContext": { +"description": "Defines context of the conversation", +"id": "GoogleCloudDiscoveryengineV1ConversationContext", +"properties": { +"activeDocument": { +"description": "The current active document the user opened. It contains the document resource reference.", +"type": "string" +}, +"contextDocuments": { +"description": "The current list of documents the user is seeing. It contains the document resource references.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConversationMessage": { +"description": "Defines a conversation message.", +"id": "GoogleCloudDiscoveryengineV1ConversationMessage", +"properties": { +"createTime": { +"description": "Output only. Message creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1Reply", +"description": "Search reply." +}, +"userInput": { +"$ref": "GoogleCloudDiscoveryengineV1TextInput", +"description": "User text input." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConverseConversationRequest": { +"description": "Request message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1ConverseConversationRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the converse response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation", +"description": "The conversation to be used by auto session only. The name field will be ignored as we automatically assign new name for the conversation in auto session." +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the summary response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1TextInput", +"description": "Required. Current user input." +}, +"safeSearch": { +"description": "Whether to turn on safe search.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Serving Config to use. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` If this is not set, the default serving config will be used.", +"type": "string" +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"description": "A specification for configuring the summary returned in the response." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConverseConversationResponse": { +"description": "Response message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1ConverseConversationResponse", +"properties": { +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation", +"description": "Updated conversation including the answer." +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1Reply", +"description": "Answer to the current query." +}, +"searchResults": { +"description": "Search Results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1CreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateTargetSiteRequest": { +"description": "Request message for SiteSearchEngineService.CreateTargetSite method.", +"id": "GoogleCloudDiscoveryengineV1CreateTargetSiteRequest", +"properties": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"type": "string" +}, +"targetSite": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite", +"description": "Required. The TargetSite to create." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CustomAttribute": { +"description": "A custom attribute that is not explicitly modeled in a resource, e.g. UserEvent.", +"id": "GoogleCloudDiscoveryengineV1CustomAttribute", +"properties": { +"numbers": { +"description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"text": { +"description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CustomTuningModel": { +"description": "Metadata that describes a custom tuned model.", +"id": "GoogleCloudDiscoveryengineV1CustomTuningModel", +"properties": { +"createTime": { +"deprecated": true, +"description": "Deprecated: Timestamp the Model was created at.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The display name of the model.", +"type": "string" +}, +"errorMessage": { +"description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", +"type": "string" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelState": { +"description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", +"enum": [ +"MODEL_STATE_UNSPECIFIED", +"TRAINING_PAUSED", +"TRAINING", +"TRAINING_COMPLETE", +"READY_FOR_SERVING", +"TRAINING_FAILED", +"NO_IMPROVEMENT", +"INPUT_VALIDATION_FAILED" +], +"enumDescriptions": [ +"Default value.", +"The model is in a paused training state.", +"The model is currently training.", +"The model has successfully completed training.", +"The model is ready for serving.", +"The model training failed.", +"The model training finished successfully but metrics did not improve.", +"Input data validation failed. Model training didn't start." +], +"type": "string" +}, +"modelVersion": { +"description": "The version of the model.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", +"type": "string" +}, +"trainingStartTime": { +"description": "Timestamp the model training was initiated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1CmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1Schema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Document": { +"description": "Document captures all raw metadata information of items to be recommended or searched.", +"id": "GoogleCloudDiscoveryengineV1Document", +"properties": { +"content": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentContent", +"description": "The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store." +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"id": { +"description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", +"type": "string" +}, +"indexStatus": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentIndexStatus", +"description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", +"readOnly": true +}, +"indexTime": { +"description": "Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"jsonData": { +"description": "The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"parentDocumentId": { +"description": "The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"type": "string" +}, +"schemaId": { +"description": "The identifier of the schema located in the same data store.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentContent": { +"description": "Unstructured data linked to this document.", +"id": "GoogleCloudDiscoveryengineV1DocumentContent", +"properties": { +"mimeType": { +"description": "The MIME type of the content. Supported types: * `application/pdf` (PDF, only native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.xhtml.", +"type": "string" +}, +"rawBytes": { +"description": "The content represented as a stream of bytes. The maximum length is 1,000,000 bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is represented as pure binary in Protocol Buffers and base64-encoded string in JSON. For example, `abc123!?$*&()'-=@~` should be represented as `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-buffers/docs/proto3#json.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/to/file`) are supported. The maximum file size is 2.5 MB for text-based formats, 200 MB for other formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentIndexStatus": { +"description": "Index status of the document.", +"id": "GoogleCloudDiscoveryengineV1DocumentIndexStatus", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while indexing the document. If this field is populated, the document is not indexed due to errors.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"indexTime": { +"description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", +"format": "google-datetime", +"type": "string" +}, +"pendingMessage": { +"description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentInfo": { +"description": "Detailed document information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1DocumentInfo", +"properties": { +"conversionValue": { +"description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", +"format": "float", +"type": "number" +}, +"id": { +"description": "The Document resource ID.", +"type": "string" +}, +"joined": { +"description": "Output only. Whether the referenced Document can be found in the data store.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "The Document resource full name, of the form: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}`", +"type": "string" +}, +"promotionIds": { +"description": "The promotion IDs associated with this Document. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"quantity": { +"description": "Quantity of the Document associated with the user event. Defaults to 1. For example, this field is 2 if two quantities of the same Document are involved in a `add-to-cart` event. Required for events of the following event types: * `add-to-cart` * `purchase`", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "The Document URI - only allowed for website data stores.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Engine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1Engine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1FactChunk": { +"description": "Fact Chunk.", +"id": "GoogleCloudDiscoveryengineV1FactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +}, +"index": { +"description": "The index of this chunk. Currently, only used for the streaming mode.", +"format": "int32", +"type": "integer" +}, +"source": { +"description": "Source from which this fact chunk was retrieved. If it was retrieved from the GroundingFacts provided in the request then this field will contain the index of the specific fact from which this chunk was retrieved.", +"type": "string" +}, +"sourceMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "More fine-grained information for the source reference.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse": { +"description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", +"id": "GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites containing the site verification status.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1FhirStoreSource": { +"description": "Cloud FhirStore source import data from.", +"id": "GoogleCloudDiscoveryengineV1FhirStoreSource", +"properties": { +"fhirStore": { +"description": "Required. The full resource name of the FHIR store to import data from, in the format of `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the FhirStore export to a specific Cloud Storage directory.", +"type": "string" +}, +"resourceTypes": { +"description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateFromLatestPredefinedSchema": { +"description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1FirestoreSource": { +"description": "Firestore source import data from.", +"id": "GoogleCloudDiscoveryengineV1FirestoreSource", +"properties": { +"collectionId": { +"description": "Required. The Firestore collection (or entity) to copy the data from with a length limit of 1,500 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The Firestore database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"projectId": { +"description": "The project ID that the Cloud SQL source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GcsSource": { +"description": "Cloud Storage location for input content.", +"id": "GoogleCloudDiscoveryengineV1GcsSource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", +"type": "string" +}, +"inputUris": { +"description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest": { +"description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest", +"properties": { +"contents": { +"description": "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.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent" +}, +"type": "array" +}, +"generationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec", +"description": "Content generation specification." +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec", +"description": "Grounding specification." +}, +"systemInstruction": { +"$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", +"description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration": { +"description": "Describes the options to customize dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration", +"properties": { +"predictor": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"description": "Specification for the predictor for dynamic retrieval." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { +"description": "Describes the predictor settings for dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"properties": { +"threshold": { +"description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor to be used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Automatically choose the best version of the retrieval predictor.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec": { +"description": "Content generation specification.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec", +"properties": { +"frequencyPenalty": { +"description": "If specified, custom value for frequency penalty will be used.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", +"type": "string" +}, +"maxOutputTokens": { +"description": "If specified, custom value for max output tokens will be used.", +"format": "int32", +"type": "integer" +}, +"modelId": { +"description": "Specifies which Vertex model id to use for generation.", +"type": "string" +}, +"presencePenalty": { +"description": "If specified, custom value for presence penalty will be used.", +"format": "float", +"type": "number" +}, +"seed": { +"description": "If specified, custom value for the seed will be used.", +"format": "int32", +"type": "integer" +}, +"temperature": { +"description": "If specified, custom value for the temperature will be used.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "If specified, custom value for top-k sampling will be used.", +"format": "int32", +"type": "integer" +}, +"topP": { +"description": "If specified, custom value for nucleus sampling will be used.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource": { +"description": "Grounding source.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource", +"properties": { +"googleSearchSource": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"description": "If set, grounding is performed with Google Search." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource", +"description": "If set, grounding is performed with inline content." +}, +"searchSource": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource", +"description": "If set, grounding is performed with Vertex AI Search." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { +"description": "Google Search config parameters.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"properties": { +"dynamicRetrievalConfig": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration", +"description": "Optional. Specifies the dynamic retrieval configuration for the given source." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource": { +"description": "Message to be used for grounding based on inline content.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", +"type": "object" +}, +"groundingFacts": { +"description": "List of facts to be used for grounding.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GroundingFact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource": { +"description": "Message to be used for grounding with Vertex AI Search.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource", +"properties": { +"filter": { +"description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", +"type": "string" +}, +"maxResultCount": { +"description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", +"format": "int32", +"type": "integer" +}, +"safeSearch": { +"description": "If set, safe search is enabled in Vertex AI Search requests.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec", +"properties": { +"groundingSources": { +"description": "Grounding sources.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse": { +"description": "Response for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse", +"properties": { +"candidates": { +"description": "Generated candidates.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate": { +"description": "A response candidate generated from the model.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate", +"properties": { +"content": { +"$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", +"description": "Content of the candidate." +}, +"groundingMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata", +"description": "Grounding metadata for the generated content." +}, +"groundingScore": { +"description": "The overall grounding score for the candidate, in the range of [0, 1].", +"format": "float", +"type": "number" +}, +"index": { +"description": "Index of the candidate.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata": { +"description": "Citation for the generated content.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata", +"properties": { +"groundingSupport": { +"description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" +}, +"type": "array" +}, +"retrievalMetadata": { +"description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" +}, +"type": "array" +}, +"searchEntryPoint": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"description": "Google search entry for the following-up web searches." +}, +"supportChunks": { +"description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1FactChunk" +}, +"type": "array" +}, +"webSearchQueries": { +"description": "Web search queries for the following-up web search.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { +"description": "Describes the metadata about dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"properties": { +"predictorMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"description": "Metadata for the dynamic retrieval predictor." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { +"description": "Describes the metadata about the dynamic retrieval predictor.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"properties": { +"prediction": { +"description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor which was used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Unspecified version, should never be used.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { +"description": "Grounding info for a claim in the candidate and its support.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", +"properties": { +"claimText": { +"description": "Text for the claim in the candidate. Always provided when a support is found.", +"type": "string" +}, +"supportChunkIndices": { +"description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"supportScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { +"description": "Describes the metadata associated with a retrieval step.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", +"properties": { +"dynamicRetrievalMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"description": "Metadata for dynamic retrieval." +}, +"source": { +"description": "Describes the source to which the metadata is referring to.", +"enum": [ +"SOURCE_UNSPECIFIED", +"VERTEX_AI_SEARCH", +"GOOGLE_SEARCH", +"INLINE_CONTENT", +"GOOGLE_MAPS" +], +"enumDescriptions": [ +"Unspecified source.", +"Vertex AI search.", +"Google Search.", +"User inline provided content.", +"Google Maps." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { +"description": "Google search entry point.", +"id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"properties": { +"renderedContent": { +"description": "Web content snippet that can be embedded in a web page or an app webview.", +"type": "string" +}, +"sdkBlob": { +"description": "Base64 encoded JSON representing array of tuple.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GroundedGenerationContent": { +"description": "Base structured datatype containing multi-part content of a message.", +"id": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", +"properties": { +"parts": { +"description": "Ordered `Parts` that constitute a single message.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContentPart" +}, +"type": "array" +}, +"role": { +"description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GroundedGenerationContentPart": { +"description": "Single part of content.", +"id": "GoogleCloudDiscoveryengineV1GroundedGenerationContentPart", +"properties": { +"text": { +"description": "Inline text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1GroundingFact": { +"description": "Grounding Fact.", +"id": "GoogleCloudDiscoveryengineV1GroundingFact", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on.", +"type": "object" +}, +"factText": { +"description": "Text content of the fact. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.ImportCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1BigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1GcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource", +"description": "The Inline source for suggestion entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource": { +"description": "The inline source for CompletionSuggestions.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource", +"properties": { +"suggestions": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CompletionSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsRequest": { +"description": "Request message for Import methods.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsRequest", +"properties": { +"alloyDbSource": { +"$ref": "GoogleCloudDiscoveryengineV1AlloyDbSource", +"description": "AlloyDB input source." +}, +"autoGenerateIds": { +"description": "Whether to automatically generate IDs for the documents if absent. If set to `true`, Document.ids are automatically generated based on the hash of the payload, where IDs may not be consistent during multiple imports. In which case ReconciliationMode.FULL is highly recommended to avoid duplicate contents. If unset or set to `false`, Document.ids have to be specified using id_field, otherwise, documents without IDs fail to be imported. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "boolean" +}, +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1BigQuerySource", +"description": "BigQuery input source." +}, +"bigtableSource": { +"$ref": "GoogleCloudDiscoveryengineV1BigtableSource", +"description": "Cloud Bigtable input source." +}, +"cloudSqlSource": { +"$ref": "GoogleCloudDiscoveryengineV1CloudSqlSource", +"description": "Cloud SQL input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"fhirStoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1FhirStoreSource", +"description": "FhirStore input source." +}, +"firestoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1FirestoreSource", +"description": "Firestore input source." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1GcsSource", +"description": "Cloud Storage location for the input content." +}, +"idField": { +"description": "The field indicates the ID field or column to be used as unique IDs of the documents. For GcsSource it is the key of the JSON field. For instance, `my_id` for JSON `{\"my_id\": \"some_uuid\"}`. For others, it may be the column name of the table where the unique ids are stored. The values of the JSON field or the table column are used as the Document.ids. The JSON field or the table column must be of string type, and the values must be set as valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) with 1-63 characters. Otherwise, documents without valid IDs fail to be imported. Only set this field when auto_generate_ids is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown. If it is unset, a default value `_id` is used when importing from the allowed data sources. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "string" +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1ImportDocumentsRequestInlineSource", +"description": "The Inline source for the input content for documents." +}, +"reconciliationMode": { +"description": "The mode of reconciliation between existing documents and the documents to be imported. Defaults to ReconciliationMode.INCREMENTAL.", +"enum": [ +"RECONCILIATION_MODE_UNSPECIFIED", +"INCREMENTAL", +"FULL" +], +"enumDescriptions": [ +"Defaults to `INCREMENTAL`.", +"Inserts new documents or updates existing documents.", +"Calculates diff and replaces the entire document dataset. Existing documents may be deleted if they are not present in the source location." +], +"type": "string" +}, +"spannerSource": { +"$ref": "GoogleCloudDiscoveryengineV1SpannerSource", +"description": "Spanner input source." +}, +"updateMask": { +"description": "Indicates which fields in the provided imported documents to update. If not set, the default is to update all fields.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsRequestInlineSource": { +"description": "The inline source for the input config for ImportDocuments method.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of documents to update/create. Each document must have a valid Document.id. Recommended max of 100 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequest", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1GcsSource", +"description": "Cloud Storage location for the input content. Only 1 file can be specified that contains all entries to import. Supported values `gcs_source.schema` for autocomplete suggestion deny list entry imports: * `suggestion_deny_list` (default): One JSON [SuggestionDenyListEntry] per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequestInlineSource", +"description": "The Inline source for the input content for suggestion deny list entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequestInlineSource": { +"description": "The inline source for SuggestionDenyListEntry.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesRequestInlineSource", +"properties": { +"entries": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SuggestionDenyListEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsRequest": { +"description": "Request message for the ImportUserEvents request.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1BigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import. Cannot be set for inline user event imports." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1GcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1ImportUserEventsRequestInlineSource", +"description": "The Inline source for the input content for UserEvents." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsRequestInlineSource": { +"description": "The inline source for the input config for ImportUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsRequestInlineSource", +"properties": { +"userEvents": { +"description": "Required. A list of user events to import. Recommended max of 10k items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Interval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1Interval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListControlsResponse": { +"description": "Response for ListControls method.", +"id": "GoogleCloudDiscoveryengineV1ListControlsResponse", +"properties": { +"controls": { +"description": "All the Controls for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Control" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListConversationsResponse": { +"description": "Response for ListConversations method.", +"id": "GoogleCloudDiscoveryengineV1ListConversationsResponse", +"properties": { +"conversations": { +"description": "All the Conversations for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Conversation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListCustomModelsResponse": { +"description": "Response message for SearchTuningService.ListCustomModels method.", +"id": "GoogleCloudDiscoveryengineV1ListCustomModelsResponse", +"properties": { +"models": { +"description": "List of custom tuning models.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1CustomTuningModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListDataStoresResponse": { +"description": "Response message for DataStoreService.ListDataStores method.", +"id": "GoogleCloudDiscoveryengineV1ListDataStoresResponse", +"properties": { +"dataStores": { +"description": "All the customer's DataStores.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1DataStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDataStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListDocumentsResponse": { +"description": "Response message for DocumentService.ListDocuments method.", +"id": "GoogleCloudDiscoveryengineV1ListDocumentsResponse", +"properties": { +"documents": { +"description": "The Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Document" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDocumentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListEnginesResponse": { +"description": "Response message for EngineService.ListEngines method.", +"id": "GoogleCloudDiscoveryengineV1ListEnginesResponse", +"properties": { +"engines": { +"description": "All the customer's Engines.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Engine" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListSchemasResponse": { +"description": "Response message for SchemaService.ListSchemas method.", +"id": "GoogleCloudDiscoveryengineV1ListSchemasResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSchemasRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"schemas": { +"description": "The Schemas.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Schema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListSessionsResponse": { +"description": "Response for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1ListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"sessions": { +"description": "All the Sessions for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Session" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ListTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.ListTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1ListTargetSitesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1MediaInfo": { +"description": "Media-specific user event information.", +"id": "GoogleCloudDiscoveryengineV1MediaInfo", +"properties": { +"mediaProgressDuration": { +"description": "The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90.", +"format": "google-duration", +"type": "string" +}, +"mediaProgressPercentage": { +"description": "Media progress should be computed using only the media_progress_duration relative to the media total length. This value must be between `[0, 1.0]` inclusive. If this is not a playback or the progress cannot be computed (e.g. ongoing livestream), this field should be unset.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PageInfo": { +"description": "Detailed page information.", +"id": "GoogleCloudDiscoveryengineV1PageInfo", +"properties": { +"pageCategory": { +"description": "The most specific category associated with a category page. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales > 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"pageviewId": { +"description": "A unique ID of a web page view. This should be kept the same for all user events triggered from the same pageview. For example, an item detail page view could trigger multiple events as the user is browsing the page. The `pageview_id` property should be kept the same for all these events so that they can be grouped together properly. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.", +"type": "string" +}, +"referrerUri": { +"description": "The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. However, some browser privacy restrictions may cause this field to be empty.", +"type": "string" +}, +"uri": { +"description": "Complete URL (window.location.href) of the user's current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PanelInfo": { +"description": "Detailed panel information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1PanelInfo", +"properties": { +"displayName": { +"description": "The display name of the panel.", +"type": "string" +}, +"documents": { +"description": "Optional. The document IDs associated with this panel.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentInfo" +}, +"type": "array" +}, +"panelId": { +"description": "Required. The panel ID.", +"type": "string" +}, +"panelPosition": { +"description": "The ordered position of the panel, if shown to the user with other panels. If set, then total_panels must also be set.", +"format": "int32", +"type": "integer" +}, +"totalPanels": { +"description": "The total number of panels, including this one, shown to the user. Must be set if panel_position is set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Project": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1Project", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1ProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1ProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProvisionProjectRequest": { +"description": "Request for ProjectService.ProvisionProject method.", +"id": "GoogleCloudDiscoveryengineV1ProvisionProjectRequest", +"properties": { +"acceptDataUseTerms": { +"description": "Required. Set to `true` to specify that caller has read and would like to give consent to the [Terms for data use](https://cloud.google.com/retail/data-use-terms).", +"type": "boolean" +}, +"dataUseTermsVersion": { +"description": "Required. The version of the [Terms for data use](https://cloud.google.com/retail/data-use-terms) that caller has read and would like to give consent to. Acceptable version is `2022-11-23`, and this may change over time.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsRequest": { +"description": "Request message for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeErrorConfig", +"description": "The desired location of errors incurred during the purge." +}, +"filter": { +"description": "Required. Filter matching documents to purge. Only currently supported value is `*` (all items).", +"type": "string" +}, +"force": { +"description": "Actually performs the purge. If `force` is set to false, return the expected purge count without deleting any documents.", +"type": "boolean" +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1GcsSource", +"description": "Cloud Storage location for the input content. Supported `data_schema`: * `document_id`: One valid Document.id per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1PurgeDocumentsRequestInlineSource", +"description": "Inline source for the input content for purge." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsRequestInlineSource": { +"description": "The inline source for the input config for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of full resource name of documents to purge. In the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. Recommended max of 100 items.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeErrorConfig": { +"description": "Configuration of destination for Purge related errors.", +"id": "GoogleCloudDiscoveryengineV1PurgeErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for purge errors. This must be an empty, existing Cloud Storage directory. Purge errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeUserEventsRequest": { +"description": "Request message for PurgeUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1PurgeUserEventsRequest", +"properties": { +"filter": { +"description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", +"type": "string" +}, +"force": { +"description": "The `force` field is currently not supported. Purge user event requests will permanently delete all purgeable events. Once the development is complete: If `force` is set to false, the method will return the expected purge count without deleting any user events. This field will default to false if not included in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Query": { +"description": "Defines a user inputed query.", +"id": "GoogleCloudDiscoveryengineV1Query", +"properties": { +"queryId": { +"description": "Unique Id for the query.", +"type": "string" +}, +"text": { +"description": "Plain text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RankRequest": { +"description": "Request message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1RankRequest", +"properties": { +"ignoreRecordDetailsInResponse": { +"description": "If true, the response will contain only record ID and score. By default, it is false, the response will contain record details.", +"type": "boolean" +}, +"model": { +"description": "The identifier of the model to use. It is one of: * `semantic-ranker-512@latest`: Semantic ranking model with maxiumn input token size 512. It is set to `semantic-ranker-512@latest` by default if unspecified.", +"type": "string" +}, +"query": { +"description": "The query to use.", +"type": "string" +}, +"records": { +"description": "Required. A list of records to rank. At most 200 records to rank.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1RankingRecord" +}, +"type": "array" +}, +"topN": { +"description": "The number of results to return. If this is unset or no bigger than zero, returns all results.", +"format": "int32", +"type": "integer" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RankResponse": { +"description": "Response message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1RankResponse", +"properties": { +"records": { +"description": "A list of records sorted by descending score.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1RankingRecord" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RankingRecord": { +"description": "Record message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1RankingRecord", +"properties": { +"content": { +"description": "The content of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +}, +"id": { +"description": "The unique ID to represent the record.", +"type": "string" +}, +"score": { +"description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", +"format": "float", +"type": "number" +}, +"title": { +"description": "The title of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RecommendRequest": { +"description": "Request message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1RecommendRequest", +"properties": { +"filter": { +"description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Set this property to the number of recommendation results needed. If zero, the service chooses a reasonable default. The maximum allowed value is 100. Values above 100 are set to 100.", +"format": "int32", +"type": "integer" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional domain specific parameters for the recommendations. Allowed values: * `returnDocument`: Boolean. If set to `true`, the associated Document object is returned in RecommendResponse.RecommendationResult.document. * `returnScore`: Boolean. If set to true, the recommendation score corresponding to each returned Document is set in RecommendResponse.RecommendationResult.metadata. The given score indicates the probability of a Document conversion given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to `false`, the service returns generic (unfiltered) popular Documents instead of empty if your filter blocks all recommendation results. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be one of: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` This gives request-level control and adjusts recommendation results based on Document category. * `attributeFilteringSyntax`: Boolean. False by default. If set to true, the `filter` field is interpreted according to the new, attribute-based syntax.", +"type": "object" +}, +"userEvent": { +"$ref": "GoogleCloudDiscoveryengineV1UserEvent", +"description": "Required. Context about the user, what they are looking at and what action they took to trigger the Recommend request. Note that this user event detail won't be ingested to userEvent logs. Thus, a separate userEvent write request is required for event logging. Don't set UserEvent.user_pseudo_id or UserEvent.user_info.user_id to the same fixed ID for different users. If you are trying to receive non-personalized recommendations (not recommended; this can negatively impact model performance), instead set UserEvent.user_pseudo_id to a random unique ID and leave UserEvent.user_info.user_id unset." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"validateOnly": { +"description": "Use validate only mode for this recommendation query. If set to `true`, a fake model is used that returns arbitrary Document IDs. Note that the validate only mode should only be used for testing the API, or if the model is not ready.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RecommendResponse": { +"description": "Response message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1RecommendResponse", +"properties": { +"attributionToken": { +"description": "A unique attribution token. This should be included in the UserEvent logs resulting from this recommendation, which enables accurate attribution of recommendation model performance.", +"type": "string" +}, +"missingIds": { +"description": "IDs of documents in the request that were missing from the default Branch associated with the requested ServingConfig.", +"items": { +"type": "string" +}, +"type": "array" +}, +"results": { +"description": "A list of recommended Documents. The order represents the ranking (from the most relevant Document to the least).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1RecommendResponseRecommendationResult" +}, +"type": "array" +}, +"validateOnly": { +"description": "True if RecommendRequest.validate_only was set.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RecommendResponseRecommendationResult": { +"description": "RecommendationResult represents a generic recommendation result with associated metadata.", +"id": "GoogleCloudDiscoveryengineV1RecommendResponseRecommendationResult", +"properties": { +"document": { +"$ref": "GoogleCloudDiscoveryengineV1Document", +"description": "Set if `returnDocument` is set to true in RecommendRequest.params." +}, +"id": { +"description": "Resource ID of the recommended Document.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional Document metadata or annotations. Possible values: * `score`: Recommendation score in double value. Is set if `returnScore` is set to true in RecommendRequest.params.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1RecrawlUrisRequest": { +"description": "Request message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1RecrawlUrisRequest", +"properties": { +"siteCredential": { +"description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", +"type": "string" +}, +"uris": { +"description": "Required. List of URIs to crawl. At most 10K URIs are supported, otherwise an INVALID_ARGUMENT error is thrown. Each URI should match at least one TargetSite in `site_search_engine`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Reply": { +"description": "Defines a reply message to user.", +"id": "GoogleCloudDiscoveryengineV1Reply", +"properties": { +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummary", +"description": "Summary based on search results." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudDiscoveryengineV1SafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Schema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1Schema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchInfo": { +"description": "Detailed search information.", +"id": "GoogleCloudDiscoveryengineV1SearchInfo", +"properties": { +"offset": { +"description": "An integer that specifies the current offset for pagination (the 0-indexed starting location, amongst the products deemed by the API as relevant). See SearchRequest.offset for definition. If this field is negative, an `INVALID_ARGUMENT` is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which products are returned, if applicable. See SearchRequest.order_by for definition and syntax. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"searchQuery": { +"description": "The user's search query. See SearchRequest.query for definition. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. At least one of search_query or PageInfo.page_category is required for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1SearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec" +}, +"type": "array" +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1UserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Interval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponse": { +"description": "Response message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1SearchResponse", +"properties": { +"attributionToken": { +"description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", +"type": "string" +}, +"correctedQuery": { +"description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", +"type": "string" +}, +"facets": { +"description": "Results of facets requested by user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseFacet" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"queryExpansionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseQueryExpansionInfo", +"description": "Query expansion information for the returned results." +}, +"redirectUri": { +"description": "The URI of a customer-defined redirect page. If redirect action is triggered, no search is performed, and only redirect_uri and attribution_token are set in the response.", +"type": "string" +}, +"results": { +"description": "A list of matched documents. The order represents the ranking.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSearchResult" +}, +"type": "array" +}, +"searchLinkPromotions": { +"description": "Promotions for site search.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion" +}, +"type": "array" +}, +"sessionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSessionInfo", +"description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." +}, +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummary", +"description": "A summary as part of the search results. This field is only returned if SearchRequest.ContentSearchSpec.summary_spec is set." +}, +"totalSize": { +"description": "The estimated total count of matched items irrespective of pagination. The count of results returned by pagination may be less than the total_size that matches.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseFacet": { +"description": "A facet result.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseFacet", +"properties": { +"dynamicFacet": { +"description": "Whether the facet is dynamically generated.", +"type": "boolean" +}, +"key": { +"description": "The key for this facet. For example, `\"colors\"` or `\"price\"`. It matches SearchRequest.FacetSpec.FacetKey.key.", +"type": "string" +}, +"values": { +"description": "The facet values for this field.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseFacetFacetValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseFacetFacetValue": { +"description": "A facet value which contains value names and their count.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseFacetFacetValue", +"properties": { +"count": { +"description": "Number of items that have this facet value.", +"format": "int64", +"type": "string" +}, +"interval": { +"$ref": "GoogleCloudDiscoveryengineV1Interval", +"description": "Interval value for a facet, such as 10, 20) for facet \"price\". It matches [SearchRequest.FacetSpec.FacetKey.intervals." +}, +"value": { +"description": "Text value of a facet, such as \"Black\" for facet \"colors\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseQueryExpansionInfo": { +"description": "Information describing query expansion including whether expansion has occurred.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseQueryExpansionInfo", +"properties": { +"expandedQuery": { +"description": "Bool describing whether query expansion has occurred.", +"type": "boolean" +}, +"pinnedResultCount": { +"description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSearchResult": { +"description": "Represents the search results.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSearchResult", +"properties": { +"chunk": { +"$ref": "GoogleCloudDiscoveryengineV1Chunk", +"description": "The chunk data in the search response if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS." +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1Document", +"description": "The document data snippet in the search response. Only fields that are marked as `retrievable` are populated." +}, +"id": { +"description": "Document.id of the searched Document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSessionInfo": { +"description": "Information about the session.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSessionInfo", +"properties": { +"name": { +"description": "Name of the session. If the auto-session mode is used (when SearchRequest.session ends with \"-\"), this field holds the newly generated session name.", +"type": "string" +}, +"queryId": { +"description": "Query ID that corresponds to this search API call. One session can have multiple turns, each with a unique query ID. By specifying the session name and this query ID in the Answer API call, the answer generation happens in the context of the search results from this search call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummary": { +"description": "Summary of the top N search results specified by the summary spec.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummary", +"properties": { +"safetyAttributes": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummarySafetyAttributes", +"description": "A collection of Safety Attribute categories and their associated confidence scores." +}, +"summarySkippedReasons": { +"description": "Additional summary-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"SUMMARY_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_SUMMARY_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"LLM_ADDON_NOT_ENABLED", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_SUMMARY_SEEKING_QUERY_IGNORED_V2" +], +"enumDescriptions": [ +"Default value. The summary skipped reason is not specified.", +"The adversarial query ignored case. Only used when SummarySpec.ignore_adversarial_query is set to `true`.", +"The non-summary seeking query ignored case. Google skips the summary if the query is chit chat. Only used when SummarySpec.ignore_non_summary_seeking_query is set to `true`.", +"The out-of-domain query ignored case. Google skips the summary if there are no high-relevance search results. For example, the data store contains facts about company A but the user query is asking questions about company B.", +"The potential policy violation case. Google skips the summary if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The LLM addon not enabled case. Google skips the summary if the LLM addon is not enabled.", +"The no relevant content case. Google skips the summary if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_jail_breaking_query] is set to `true`.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the summary if the query doesn't have clear intent. Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_answer_seeking_query] is set to `true`." +], +"type": "string" +}, +"type": "array" +}, +"summaryText": { +"description": "The summary content.", +"type": "string" +}, +"summaryWithMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummarySummaryWithMetadata", +"description": "Summary with metadata information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummaryCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes/unicode.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationMetadata": { +"description": "Citation metadata.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationMetadata", +"properties": { +"citations": { +"description": "Citations for segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationSource", +"properties": { +"referenceIndex": { +"description": "Document reference index from SummaryWithMetadata.references. It is 0-indexed and the value will be zero if the reference_index is not set explicitly.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummaryReference": { +"description": "Document reference.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummaryReference", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummaryReferenceChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Required. Document.name of the document. Full resource name of the referenced document, in the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", +"type": "string" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Cloud Storage or HTTP uri for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummaryReferenceChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummaryReferenceChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummarySafetyAttributes": { +"description": "Safety Attribute categories and their associated confidence scores.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummarySafetyAttributes", +"properties": { +"categories": { +"description": "The display names of Safety Attribute categories associated with the generated content. Order matches the Scores.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "The confidence scores of the each category, higher value means higher confidence. Order matches the Categories.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchResponseSummarySummaryWithMetadata": { +"description": "Summary with metadata information.", +"id": "GoogleCloudDiscoveryengineV1SearchResponseSummarySummaryWithMetadata", +"properties": { +"citationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationMetadata", +"description": "Citation metadata for given summary." +}, +"references": { +"description": "Document References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SearchResponseSummaryReference" +}, +"type": "array" +}, +"summary": { +"description": "Summary text with no citation information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", +"id": "GoogleCloudDiscoveryengineV1ServingConfig", +"properties": { +"boostControlIds": { +"description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. ServingConfig created timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dissociateControlIds": { +"description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"diversityLevel": { +"description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"filterControlIds": { +"description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"genericConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"description": "The GenericConfig of the serving configuration." +}, +"ignoreControlIds": { +"description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mediaConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"description": "The MediaConfig of the serving configuration." +}, +"modelId": { +"description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"promoteControlIds": { +"description": "Condition promote specifications. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"redirectControlIds": { +"description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementControlIds": { +"description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionType": { +"description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsControlIds": { +"description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. ServingConfig updated timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { +"description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"properties": { +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { +"description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"properties": { +"contentFreshnessCutoffDays": { +"description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", +"format": "int32", +"type": "integer" +}, +"contentWatchedPercentageThreshold": { +"description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", +"format": "float", +"type": "number" +}, +"contentWatchedSecondsThreshold": { +"description": "Specifies the content watched minutes threshold for demotion.", +"format": "float", +"type": "number" +}, +"demoteContentWatchedPastDays": { +"description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", +"format": "int32", +"type": "integer" +}, +"demotionEventType": { +"description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Session": { +"description": "External session proto definition.", +"id": "GoogleCloudDiscoveryengineV1Session", +"properties": { +"displayName": { +"description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time the session finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"isPinned": { +"description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", +"type": "boolean" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the session started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"State is unspecified.", +"The session is currently open." +], +"type": "string" +}, +"turns": { +"description": "Turns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SessionTurn" +}, +"type": "array" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SessionTurn": { +"description": "Represents a turn, including a query from the user and a answer from service.", +"id": "GoogleCloudDiscoveryengineV1SessionTurn", +"properties": { +"answer": { +"description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", +"type": "string" +}, +"detailedAnswer": { +"$ref": "GoogleCloudDiscoveryengineV1Answer", +"description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", +"readOnly": true +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1Query", +"description": "The user query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1SingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SiteSearchEngine": { +"description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", +"id": "GoogleCloudDiscoveryengineV1SiteSearchEngine", +"properties": { +"name": { +"description": "The fully qualified resource name of the site search engine. Format: `projects/*/locations/*/dataStores/*/siteSearchEngine`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SpannerSource": { +"description": "The Spanner source for importing data", +"id": "GoogleCloudDiscoveryengineV1SpannerSource", +"properties": { +"databaseId": { +"description": "Required. The database ID of the source Spanner table.", +"type": "string" +}, +"enableDataBoost": { +"description": "Whether to apply data boost on Spanner export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/spanner/docs/databoost/databoost-overview#billing_and_quotas).", +"type": "boolean" +}, +"instanceId": { +"description": "Required. The instance ID of the source Spanner table.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Spanner source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table name of the Spanner database that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SuggestionDenyListEntry": { +"description": "Suggestion deny list entry identifying the phrase to block from suggestions and the applied operation for the phrase.", +"id": "GoogleCloudDiscoveryengineV1SuggestionDenyListEntry", +"properties": { +"blockPhrase": { +"description": "Required. Phrase to block from suggestions served. Can be maximum 125 characters.", +"type": "string" +}, +"matchOperator": { +"description": "Required. The match operator to apply for this phrase. Whether to block the exact phrase, or block any suggestions containing this phrase.", +"enum": [ +"MATCH_OPERATOR_UNSPECIFIED", +"EXACT_MATCH", +"CONTAINS" +], +"enumDescriptions": [ +"Default value. Should not be used", +"If the suggestion is an exact match to the block_phrase, then block it.", +"If the suggestion contains the block_phrase, then block it." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1TargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TextInput": { +"description": "Defines text input.", +"id": "GoogleCloudDiscoveryengineV1TextInput", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineV1ConversationContext", +"description": "Conversation context of the input." +}, +"input": { +"description": "Text input.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelRequest": { +"description": "Request message for SearchTuningService.TrainCustomModel method.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the data ingestion and training." +}, +"gcsTrainingInput": { +"$ref": "GoogleCloudDiscoveryengineV1TrainCustomModelRequestGcsTrainingInput", +"description": "Cloud Storage training input." +}, +"modelId": { +"description": "If not provided, a UUID will be generated.", +"type": "string" +}, +"modelType": { +"description": "Model to be trained. Supported values are: * **search-tuning**: Fine tuning the search system based on data provided.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelRequestGcsTrainingInput": { +"description": "Cloud Storage training data input.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelRequestGcsTrainingInput", +"properties": { +"corpusDataPath": { +"description": "The Cloud Storage corpus data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id, title and text. Example: `{\"_id\": \"doc1\", title: \"relevant doc\", \"text\": \"relevant text\"}`", +"type": "string" +}, +"queryDataPath": { +"description": "The gcs query data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id and text. Example: {\"_id\": \"query1\", \"text\": \"example query\"}", +"type": "string" +}, +"testDataPath": { +"description": "Cloud Storage test data. Same format as train_data_path. If not provided, a random 80/20 train/test split will be performed on train_data_path.", +"type": "string" +}, +"trainDataPath": { +"description": "Cloud Storage training data path whose format should be `gs:///`. The file should be in tsv format. Each line should have the doc_id and query_id and score (number). For search-tuning model, it should have the query-id corpus-id score as tsv file header. The score should be a number in `[0, inf+)`. The larger the number is, the more relevant the pair is. Example: * `query-id\\tcorpus-id\\tscore` * `query1\\tdoc1\\t1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TransactionInfo": { +"description": "A transaction represents the entire purchase transaction.", +"id": "GoogleCloudDiscoveryengineV1TransactionInfo", +"properties": { +"cost": { +"description": "All the costs associated with the products. These can be manufacturing costs, shipping expenses not borne by the end user, or any other costs, such that: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"currency": { +"description": "Required. Currency code. Use three-character ISO-4217 code.", +"type": "string" +}, +"discountValue": { +"description": "The total discount(s) value applied to this transaction. This figure should be excluded from TransactionInfo.value For example, if a user paid TransactionInfo.value amount, then nominal (pre-discount) value of the transaction is the sum of TransactionInfo.value and TransactionInfo.discount_value This means that profit is calculated the same way, regardless of the discount value, and that TransactionInfo.discount_value can be larger than TransactionInfo.value: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"tax": { +"description": "All the taxes associated with the transaction.", +"format": "float", +"type": "number" +}, +"transactionId": { +"description": "The transaction ID with a length limit of 128 characters.", +"type": "string" +}, +"value": { +"description": "Required. Total non-zero value associated with the transaction. This value may include shipping, tax, or other adjustments to the total value that you want to include.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UserEvent": { +"description": "UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website.", +"id": "GoogleCloudDiscoveryengineV1UserEvent", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1CustomAttribute" +}, +"description": "Extra user event features to include in the recommendation model. These attributes must NOT contain data that needs to be parsed or processed further, e.g. JSON or other encodings. If you provide custom attributes for ingested user events, also include them in the user events that you associate with prediction requests. Custom attribute formatting must be consistent between imported events and events provided with prediction requests. This lets the Discovery Engine API use those custom attributes when training models and serving predictions, which helps improve recommendation quality. This field needs to pass all below criteria, otherwise an `INVALID_ARGUMENT` error is returned: * The key must be a UTF-8 encoded string with a length limit of 5,000 characters. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. For product recommendations, an example of extra user information is `traffic_channel`, which is how a user arrives at the site. Users can arrive at the site by coming to the site directly, coming through Google search, or in other ways.", +"type": "object" +}, +"attributionToken": { +"description": "Token to attribute an API response to user action(s) to trigger the event. Highly recommended for user events that are the result of RecommendationService.Recommend. This field enables accurate attribution of recommendation model performance. The value must be one of: * RecommendResponse.attribution_token for events that are the result of RecommendationService.Recommend. * SearchResponse.attribution_token for events that are the result of SearchService.Search. This token enables us to accurately attribute page view or conversion completion back to the event and the particular predict response containing this clicked/purchased product. If user clicks on product K in the recommendation results, pass RecommendResponse.attribution_token as a URL parameter to product K's page. When recording events on product K's page, log the RecommendResponse.attribution_token to this field.", +"type": "string" +}, +"completionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1CompletionInfo", +"description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." +}, +"conversionType": { +"description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", +"type": "string" +}, +"dataStore": { +"description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", +"type": "string" +}, +"directUserRequest": { +"description": "Should set to true if the request is made directly from the end user, in which case the UserEvent.user_info.user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.", +"type": "boolean" +}, +"documents": { +"description": "List of Documents associated with this user event. This field is optional except for the following event types: * `view-item` * `add-to-cart` * `purchase` * `media-play` * `media-complete` In a `search` event, this field represents the documents returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different UserEvent.documents is desired.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentInfo" +}, +"type": "array" +}, +"engine": { +"description": "The Engine resource name, in the form of `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. Optional. Only required for Engine produced user events. For example, user events from blended search.", +"type": "string" +}, +"eventTime": { +"description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", +"type": "string" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"mediaInfo": { +"$ref": "GoogleCloudDiscoveryengineV1MediaInfo", +"description": "Media-specific info." +}, +"pageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1PageInfo", +"description": "Page metadata such as categories and other critical information for certain event types such as `view-category-page`." +}, +"panel": { +"$ref": "GoogleCloudDiscoveryengineV1PanelInfo", +"description": "Panel metadata associated with this user event." +}, +"panels": { +"description": "Optional. List of panels associated with this event. Used for page-level impression data.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1PanelInfo" +}, +"type": "array" +}, +"promotionIds": { +"description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SearchInfo", +"description": "SearchService.Search details related to the event. This field should be set for `search` event." +}, +"sessionId": { +"description": "A unique identifier for tracking a visitor session with a length limit of 128 bytes. A session is an aggregation of an end user behavior in a time span. A general guideline to populate the session_id: 1. If user has no activity for 30 min, a new session_id should be assigned. 2. The session_id should be unique across users, suggest use uuid or add UserEvent.user_pseudo_id as prefix.", +"type": "string" +}, +"tagIds": { +"description": "A list of identifiers for the independent experiment groups this user event belongs to. This is used to distinguish between user events associated with different experiment setups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transactionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1TransactionInfo", +"description": "The transaction metadata (if any) associated with this user event." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1UserInfo", +"description": "Information about the end user." +}, +"userPseudoId": { +"description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor log in/out of the website. Do not set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. The field should not contain PII or user-data. We recommend to use Google Analytics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1UserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1WorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAclConfig": { +"description": "Access Control Configuration.", +"id": "GoogleCloudDiscoveryengineV1alphaAclConfig", +"properties": { +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Identity provider config." +}, +"name": { +"description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaActionConfig": { +"description": "Informations to support actions on the connector.", +"id": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"properties": { +"actionParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", +"type": "object" +}, +"isActionConfigured": { +"description": "Output only. The connector contains the necessary parameters and is configured to support actions.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswer": { +"description": "Defines an answer.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswer", +"properties": { +"answerSkippedReasons": { +"description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"ANSWER_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_ANSWER_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_ANSWER_SEEKING_QUERY_IGNORED_V2", +"LOW_GROUNDED_ANSWER" +], +"enumDescriptions": [ +"Default value. The answer skipped reason is not specified.", +"The adversarial query ignored case.", +"The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", +"The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", +"The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", +"The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." +], +"type": "string" +}, +"type": "array" +}, +"answerText": { +"description": "The textual answer.", +"type": "string" +}, +"citations": { +"description": "Citations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitation" +}, +"type": "array" +}, +"completeTime": { +"description": "Output only. Answer completed timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Answer creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", +"format": "double", +"type": "number" +}, +"groundingSupports": { +"description": "Optional. Grounding supports.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", +"type": "string" +}, +"queryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"description": "Query understanding information." +}, +"references": { +"description": "References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReference" +}, +"type": "array" +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"safetyRatings": { +"description": "Optional. Safety ratings.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" +}, +"type": "array" +}, +"state": { +"description": "The state of the answer generation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED", +"STREAMING" +], +"enumDescriptions": [ +"Unknown.", +"Answer generation is currently in progress.", +"Answer generation currently failed.", +"Answer generation has succeeded.", +"Answer generation is currently in progress." +], +"type": "string" +}, +"steps": { +"description": "Answer generation steps.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource", +"properties": { +"referenceId": { +"description": "ID of the citation source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { +"description": "Grounding support for a claim in `answer_text`.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", +"properties": { +"endIndex": { +"description": "Required. End of the claim, exclusive.", +"format": "int64", +"type": "string" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", +"type": "boolean" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", +"format": "double", +"type": "number" +}, +"sources": { +"description": "Optional. Citation sources for the claim.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { +"description": "Query understanding information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"properties": { +"queryClassificationInfo": { +"description": "Query classification information.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { +"description": "Query classification information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo", +"properties": { +"positive": { +"description": "Classification output.", +"type": "boolean" +}, +"type": { +"description": "Query classification type.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReference": { +"description": "Reference.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReference", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"description": "Chunk information." +}, +"structuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"description": "Structured document information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"description": "Document metadata." +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata": { +"description": "Document metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo": { +"description": "Structured search information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured search data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStep": { +"description": "Step information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStep", +"properties": { +"actions": { +"description": "Actions.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction" +}, +"type": "array" +}, +"description": { +"description": "The description of the step.", +"type": "string" +}, +"state": { +"description": "The state of the step.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Unknown.", +"Step is currently in progress.", +"Step currently failed.", +"Step has succeeded." +], +"type": "string" +}, +"thought": { +"description": "The thought of the step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepAction": { +"description": "Action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction", +"properties": { +"observation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"description": "Observation." +}, +"searchAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"description": "Search action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation": { +"description": "Observation.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"properties": { +"searchResults": { +"description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult": { +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult", +"properties": { +"chunkInfo": { +"description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"snippetInfo": { +"description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo" +}, +"type": "array" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo": { +"description": "Snippet information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo", +"properties": { +"snippet": { +"description": "Snippet content.", +"type": "string" +}, +"snippetStatus": { +"description": "Status of the snippet defined by the search team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction": { +"description": "Search action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"properties": { +"query": { +"description": "The query to search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCollection": { +"description": "Collection is a container for configuring resources and access to a set of DataStores.", +"id": "GoogleCloudDiscoveryengineV1alphaCollection", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Collection was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataConnector": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", +"readOnly": true +}, +"displayName": { +"description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1alphaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRun": { +"description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", +"properties": { +"endTime": { +"description": "Output only. The time when the connector run ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"entityRuns": { +"description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" +}, +"readOnly": true, +"type": "array" +}, +"errors": { +"description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"latestPauseTime": { +"description": "Output only. The time when the connector run was most recently paused.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the connector run started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the connector run sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"trigger": { +"description": "Output only. The trigger for this ConnectorRun.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"SCHEDULER", +"INITIALIZATION", +"RESUME", +"MANUAL" +], +"enumDescriptions": [ +"Default value.", +"ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", +"ConnectorRun auto triggered by connector initialization.", +"ConnectorRun auto triggered by resuming connector.", +"ConnectorRun triggered by user manually." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { +"description": "Represents an entity that was synced in this ConnectorRun.", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", +"properties": { +"entityName": { +"description": "The name of the source entity.", +"type": "string" +}, +"errorRecordCount": { +"description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", +"format": "int64", +"type": "string" +}, +"errors": { +"description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"extractedRecordCount": { +"description": "The number of documents extracted from connector source, ready to be ingested to UCS.", +"format": "int64", +"type": "string" +}, +"indexedRecordCount": { +"description": "The number of documents indexed.", +"format": "int64", +"type": "string" +}, +"sourceApiRequestCount": { +"description": "The number of requests sent to 3p API.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "The state of the entity's sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the entity sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"statsUpdateTime": { +"description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", +"format": "google-datetime", +"type": "string" +}, +"syncType": { +"description": "Sync type of this run.", +"enum": [ +"SYNC_TYPE_UNSPECIFIED", +"FULL", +"INCREMENTAL" +], +"enumDescriptions": [ +"Sync type unspecified.", +"Sync triggers full sync of all documents.", +"Incremental sync of updated documents." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1alphaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { +"description": "The historical crawl rate timeseries data, used for monitoring.", +"id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"properties": { +"qpsTimeSeries": { +"$ref": "GoogleMonitoringV3TimeSeries", +"description": "The QPS of the crawl rate." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec": { +"description": "Defines custom fine tuning spec.", +"id": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"properties": { +"enableSearchAdaptor": { +"description": "Whether or not to enable and include custom fine tuned search adaptor model.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnector": { +"description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"properties": { +"actionConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"description": "Optional. Action configurations to make the connector support actions." +}, +"autoRunDisabled": { +"description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", +"type": "boolean" +}, +"blockingReasons": { +"description": "Output only. User actions that must be completed before the connector can start syncing data.", +"items": { +"enum": [ +"BLOCKING_REASON_UNSPECIFIED", +"ALLOWLIST_STATIC_IP", +"ALLOWLIST_IN_SERVICE_ATTACHMENT" +], +"enumDescriptions": [ +"Default value.", +"Connector requires customer to allowlist static IPs.", +"Connector requires customer to allowlist our project in their service attachment." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp the DataConnector was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", +"type": "string" +}, +"destinationConfigs": { +"description": "Optional. Any target destinations used to connect to third-party services.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" +}, +"type": "array" +}, +"entities": { +"description": "List of entities from the connected data source to ingest.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" +}, +"type": "array" +}, +"errors": { +"description": "Output only. The errors from initialization or from the latest connector run.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"identityRefreshInterval": { +"deprecated": true, +"description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +}, +"identityScheduleConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", +"type": "string" +}, +"lastSyncTime": { +"description": "Output only. For periodic connectors only, the last time a data sync was completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"latestPauseTime": { +"description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", +"readOnly": true, +"type": "string" +}, +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", +"type": "object" +}, +"privateConnectivityProjectId": { +"description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", +"readOnly": true, +"type": "string" +}, +"refreshInterval": { +"description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "Output only. State of the connector.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"RUNNING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The connector is being set up.", +"The connector is successfully set up and awaiting next sync run.", +"The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", +"The connector is actively syncing records from the data source.", +"The connector has completed a sync run, but encountered non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"staticIpAddresses": { +"description": "Output only. The static IP addresses used by this connector.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"staticIpEnabled": { +"description": "Optional. Whether customer has enabled static IP addresses for this connector.", +"type": "boolean" +}, +"syncMode": { +"description": "The data synchronization mode supported by the data connector.", +"enum": [ +"PERIODIC" +], +"enumDescriptions": [ +"The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the DataConnector was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { +"description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", +"properties": { +"dataStore": { +"description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", +"readOnly": true, +"type": "string" +}, +"entityName": { +"description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", +"type": "string" +}, +"keyPropertyMappings": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", +"type": "object" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStore", +"properties": { +"aclEnabled": { +"description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", +"type": "boolean" +}, +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Output only. Data store level identity provider config.", +"readOnly": true +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { +"description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", +"id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"properties": { +"autoRefreshCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." +}, +"userTriggeredCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { +"description": "Request for DeleteSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", +"properties": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfig": { +"description": "Defines target endpoints used to connect to third-party sources.", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", +"properties": { +"destinations": { +"description": "Optional. The destinations for the corresponding key.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" +}, +"type": "array" +}, +"key": { +"description": "Optional. Unique destination identifier that is supported by the connector.", +"type": "string" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Additional parameters for this destination config.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { +"description": "Defines a target endpoint", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", +"properties": { +"host": { +"description": "Publicly routable host.", +"type": "string" +}, +"port": { +"description": "Optional. Target port number accepted by the destination.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"mediaRecommendationEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"description": "Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical." +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"recommendationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"description": "Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.", +"readOnly": true +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"similarDocumentsConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"description": "Additional config specs for a `similar-items` engine." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig": { +"description": "Additional config specs for a Media Recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"properties": { +"optimizationObjective": { +"description": "The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`", +"type": "string" +}, +"optimizationObjectiveConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"description": "Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5)." +}, +"trainingState": { +"description": "The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The engine training is paused.", +"The engine is training." +], +"type": "string" +}, +"type": { +"description": "Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig": { +"description": "Custom threshold for `cvr` optimization_objective.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"properties": { +"targetField": { +"description": "Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.", +"type": "string" +}, +"targetFieldValueFloat": { +"description": "Required. The threshold to be applied to the target (e.g., 0.5).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata": { +"description": "Additional information of a recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"properties": { +"dataState": { +"description": "Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.", +"enum": [ +"DATA_STATE_UNSPECIFIED", +"DATA_OK", +"DATA_ERROR" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The engine has sufficient training data.", +"The engine does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"servingState": { +"description": "Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The engine is not serving.", +"The engine is serving and can be queried.", +"The engine is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig": { +"description": "Additional config specs for a `similar-items` engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata": { +"description": "Metadata related to the progress of the EstimateDataSize operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse": { +"description": "Response of the EstimateDataSize request. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse", +"properties": { +"dataSizeBytes": { +"description": "Data size in terms of bytes.", +"format": "int64", +"type": "string" +}, +"documentCount": { +"description": "Total number of documents.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFieldConfig": { +"description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", +"id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", +"properties": { +"advancedSiteSearchDataSources": { +"description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", +"items": { +"enum": [ +"ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", +"METATAGS", +"PAGEMAP", +"URI_PATTERN_MAPPING", +"SCHEMA_ORG" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrieve value from meta tag.", +"Retrieve value from page map.", +"Retrieve value from the attributes set by SiteSearchEngineService.SetUriPatternDocumentData API.", +"Retrieve value from schema.org data." +], +"type": "string" +}, +"type": "array" +}, +"completableOption": { +"description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"COMPLETABLE_OPTION_UNSPECIFIED", +"COMPLETABLE_ENABLED", +"COMPLETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Completable option enabled for a schema field.", +"Completable option disabled for a schema field." +], +"type": "string" +}, +"dynamicFacetableOption": { +"description": "If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset, the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that support setting dynamic facetable options. For those fields that do not support setting dynamic facetable options, such as `object` and `boolean`, the server will skip dynamic facetable option setting, and setting dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", +"DYNAMIC_FACETABLE_ENABLED", +"DYNAMIC_FACETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Dynamic facetable option enabled for a schema field.", +"Dynamic facetable option disabled for a schema field." +], +"type": "string" +}, +"fieldPath": { +"description": "Required. Field path of the schema field. For example: `title`, `description`, `release_info.release_year`.", +"type": "string" +}, +"fieldType": { +"description": "Output only. Raw type of the field.", +"enum": [ +"FIELD_TYPE_UNSPECIFIED", +"OBJECT", +"STRING", +"NUMBER", +"INTEGER", +"BOOLEAN", +"GEOLOCATION", +"DATETIME" +], +"enumDescriptions": [ +"Field type is unspecified.", +"Field value type is Object.", +"Field value type is String.", +"Field value type is Number.", +"Field value type is Integer.", +"Field value type is Boolean.", +"Field value type is Geolocation. Geolocation is expressed as an object with the following keys: * `id`: a string representing the location id * `longitude`: a number representing the longitude coordinate of the location * `latitude`: a number repesenting the latitude coordinate of the location * `address`: a string representing the full address of the location `latitude` and `longitude` must always be provided together. At least one of a) `address` or b) `latitude`-`longitude` pair must be provided.", +"Field value type is Datetime. Datetime can be expressed as either: * a number representing milliseconds-since-the-epoch * a string representing milliseconds-since-the-epoch. e.g. `\"1420070400001\"` * a string representing the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date or date and time. e.g. `\"2015-01-01\"` or `\"2015-01-01T12:10:30Z\"`" +], +"readOnly": true, +"type": "string" +}, +"indexableOption": { +"description": "If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it can be filtered or faceted in SearchService.Search. If indexable_option is unset, the server behavior defaults to INDEXABLE_DISABLED for fields that support setting indexable options. For those fields that do not support setting indexable options, such as `object` and `boolean` and key properties, the server will skip indexable_option setting, and setting indexable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"INDEXABLE_OPTION_UNSPECIFIED", +"INDEXABLE_ENABLED", +"INDEXABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Indexable option enabled for a schema field.", +"Indexable option disabled for a schema field." +], +"type": "string" +}, +"keyPropertyType": { +"description": "Output only. Type of the key property that this field is mapped to. Empty string if this is not annotated as mapped to a key property. Example types are `title`, `description`. Full list is defined by `keyPropertyMapping` in the schema field annotation. If the schema field has a `KeyPropertyMapping` annotation, `indexable_option` and `searchable_option` of this field cannot be modified.", +"readOnly": true, +"type": "string" +}, +"metatagName": { +"description": "Optional. The metatag name found in the HTML page. If user defines this field, the value of this metatag name will be used to extract metatag. If the user does not define this field, the FieldConfig.field_path will be used to extract metatag.", +"type": "string" +}, +"recsFilterableOption": { +"description": "If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED but the field type is numerical, field values are not filterable by text queries in RecommendationService.Recommend. Only textual fields are supported. If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED for fields that support setting filterable options. When a field set to [FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result is returned.", +"enum": [ +"FILTERABLE_OPTION_UNSPECIFIED", +"FILTERABLE_ENABLED", +"FILTERABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Filterable option enabled for a schema field.", +"Filterable option disabled for a schema field." +], +"type": "string" +}, +"retrievableOption": { +"description": "If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the search results. If retrievable_option is unset, the server behavior defaults to RETRIEVABLE_DISABLED for fields that support setting retrievable options. For those fields that do not support setting retrievable options, such as `object` and `boolean`, the server will skip retrievable option setting, and setting retrievable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"RETRIEVABLE_OPTION_UNSPECIFIED", +"RETRIEVABLE_ENABLED", +"RETRIEVABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrievable option enabled for a schema field.", +"Retrievable option disabled for a schema field." +], +"type": "string" +}, +"schemaOrgPaths": { +"description": "Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchableOption": { +"description": "If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"SEARCHABLE_OPTION_UNSPECIFIED", +"SEARCHABLE_ENABLED", +"SEARCHABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Searchable option enabled for a schema field.", +"Searchable option disabled for a schema field." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { +"description": "Request for GetSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", +"properties": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.GetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse", +"properties": { +"documentDataMap": { +"additionalProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"description": "Document data keyed by URI pattern. For example: document_data_map = { \"www.url1.com/*\": { \"Categories\": [\"category1\", \"category2\"] }, \"www.url2.com/*\": { \"Categories\": [\"category3\"] } }", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { +"description": "The configuration for the identity data synchronization runs.", +"id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"properties": { +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"refreshInterval": { +"description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfig": { +"description": "Identity Provider Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"properties": { +"externalIdpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"description": "External Identity provider config." +}, +"idpType": { +"description": "Identity provider type configured.", +"enum": [ +"IDP_TYPE_UNSPECIFIED", +"GSUITE", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Default value. ACL search not enabled.", +"Google 1P provider.", +"Third party provider." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig": { +"description": "Third party IDP Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"properties": { +"workforcePoolName": { +"description": "Workforce pool name. Example: \"locations/global/workforcePools/pool_id\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1alphaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { +"description": "Request for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", +"properties": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { +"description": "Response for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"sessions": { +"description": "All the Sessions for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", +"id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", +"properties": { +"dedicatedCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"description": "The historical dedicated crawl rate timeseries data, used for monitoring." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"organicCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"description": "The historical organic crawl rate timeseries data, used for monitoring." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { +"description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", +"id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"properties": { +"googleOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." +}, +"vertexAiOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1alphaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata": { +"description": "Metadata related to the progress of the PurgeUserEvents operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse": { +"description": "Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse", +"properties": { +"purgeCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQuery": { +"description": "Defines a user inputed query.", +"id": "GoogleCloudDiscoveryengineV1alphaQuery", +"properties": { +"queryId": { +"description": "Unique Id for the query.", +"type": "string" +}, +"text": { +"description": "Plain text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"invalidUris": { +"description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"invalidUrisCount": { +"description": "Total number of unique URIs in the request that have invalid format.", +"format": "int32", +"type": "integer" +}, +"pendingCount": { +"description": "Total number of URIs that have yet to be crawled.", +"format": "int32", +"type": "integer" +}, +"quotaExceededCount": { +"description": "Total number of URIs that were rejected due to insufficient indexing resources.", +"format": "int32", +"type": "integer" +}, +"successCount": { +"description": "Total number of URIs that have been crawled so far.", +"format": "int32", +"type": "integer" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +}, +"urisNotMatchingTargetSites": { +"description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"urisNotMatchingTargetSitesCount": { +"description": "Total number of URIs that don't match any TargetSites.", +"format": "int32", +"type": "integer" +}, +"validUrisCount": { +"description": "Total number of unique URIs in the request that are not in invalid_uris.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse": { +"description": "Response message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse", +"properties": { +"failedUris": { +"description": "URIs that were not crawled before the LRO terminated.", +"items": { +"type": "string" +}, +"type": "array" +}, +"failureSamples": { +"description": "Details for a sample of up to 10 `failed_uris`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo": { +"description": "Details about why a particular URI failed to be crawled. Each FailureInfo contains one FailureReason per CorpusType.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo", +"properties": { +"failureReasons": { +"description": "List of failure reasons by corpus type (e.g. desktop, mobile).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason" +}, +"type": "array" +}, +"uri": { +"description": "URI that failed to be crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason": { +"description": "Details about why crawling failed for a particular CorpusType, e.g., DESKTOP and MOBILE crawling may fail for different reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason", +"properties": { +"corpusType": { +"description": "DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.", +"enum": [ +"CORPUS_TYPE_UNSPECIFIED", +"DESKTOP", +"MOBILE" +], +"enumDescriptions": [ +"Default value.", +"Denotes a crawling attempt for the desktop version of a page.", +"Denotes a crawling attempt for the mobile version of a page." +], +"type": "string" +}, +"errorMessage": { +"description": "Reason why the URI was not crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1alphaSchema", +"properties": { +"fieldConfigs": { +"description": "Output only. Configurations for fields of the schema.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFieldConfig" +}, +"readOnly": true, +"type": "array" +}, +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"customFineTuningSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSession": { +"description": "External session proto definition.", +"id": "GoogleCloudDiscoveryengineV1alphaSession", +"properties": { +"displayName": { +"description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time the session finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"isPinned": { +"description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", +"type": "boolean" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the session started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"State is unspecified.", +"The session is currently open." +], +"type": "string" +}, +"turns": { +"description": "Turns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSessionTurn" +}, +"type": "array" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSessionTurn": { +"description": "Represents a turn, including a query from the user and a answer from service.", +"id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", +"properties": { +"answer": { +"description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", +"type": "string" +}, +"detailedAnswer": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", +"description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", +"readOnly": true +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQuery", +"description": "The user query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { +"description": "Metadata for DataConnectorService.SetUpDataConnector method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.SetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { +"description": "Request for UpdateSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", +"properties": { +"session": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession", +"description": "Required. The Session to update." +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1betaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1betaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1betaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1betaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1betaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1betaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1betaSchema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1betaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"GoogleMonitoringV3Point": { +"description": "A single data point in a time series.", +"id": "GoogleMonitoringV3Point", +"properties": { +"interval": { +"$ref": "GoogleMonitoringV3TimeInterval", +"description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +}, +"value": { +"$ref": "GoogleMonitoringV3TypedValue", +"description": "The value of the data point." +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeInterval": { +"description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", +"id": "GoogleMonitoringV3TimeInterval", +"properties": { +"endTime": { +"description": "Required. The end of the time interval.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeSeries": { +"description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", +"id": "GoogleMonitoringV3TimeSeries", +"properties": { +"description": { +"description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", +"type": "string" +}, +"metadata": { +"$ref": "GoogleApiMonitoredResourceMetadata", +"description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." +}, +"metric": { +"$ref": "GoogleApiMetric", +"description": "The associated metric. A fully-specified metric used to identify the time series." +}, +"metricKind": { +"description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"points": { +"description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", +"items": { +"$ref": "GoogleMonitoringV3Point" +}, +"type": "array" +}, +"resource": { +"$ref": "GoogleApiMonitoredResource", +"description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", +"type": "string" +}, +"valueType": { +"description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a `Distribution`.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TypedValue": { +"description": "A single strongly-typed value.", +"id": "GoogleMonitoringV3TypedValue", +"properties": { +"boolValue": { +"description": "A Boolean value: `true` or `false`.", +"type": "boolean" +}, +"distributionValue": { +"$ref": "GoogleApiDistribution", +"description": "A distribution value." +}, +"doubleValue": { +"description": "A 64-bit double-precision floating-point number. Its magnitude is approximately \u00b110\u00b1300 and it has 16 significant digits of precision.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "A 64-bit integer. Its range is approximately \u00b19.2x1018.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A variable-length string value.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeDateTime": { +"description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", +"id": "GoogleTypeDateTime", +"properties": { +"day": { +"description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", +"format": "int32", +"type": "integer" +}, +"hours": { +"description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"$ref": "GoogleTypeTimeZone", +"description": "Time zone." +}, +"utcOffset": { +"description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", +"format": "google-duration", +"type": "string" +}, +"year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeTimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "GoogleTypeTimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Discovery Engine API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..46c43b9bc3b097c52e2200d0befcb649cd5b46dc --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json @@ -0,0 +1,24109 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://discoveryengine.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Discovery Engine", +"description": "Discovery Engine API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", +"location": "us" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", +"location": "eu" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "discoveryengine:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://discoveryengine.mtls.googleapis.com/", +"name": "discoveryengine", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"get": { +"description": "Gets a Project. Returns NOT_FOUND when the project is not yet created.", +"flatPath": "v1alpha/projects/{projectsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"provision": { +"description": "Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.", +"flatPath": "v1alpha/projects/{projectsId}:provision", +"httpMethod": "POST", +"id": "discoveryengine.projects.provision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:provision", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportConsentChange": { +"description": "Updates service terms for this project. This method can be used to retroactively accept the latest terms. Terms available for update: * [Terms for data use](https://cloud.google.com/retail/data-use-terms)", +"flatPath": "v1alpha/projects/{projectsId}:reportConsentChange", +"httpMethod": "POST", +"id": "discoveryengine.projects.reportConsentChange", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+project}:reportConsentChange", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"estimateDataSize": { +"description": "Estimates the data size to be used by a customer.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:estimateDataSize", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.estimateDataSize", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Full resource name of the location, such as `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}:estimateDataSize", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateGroundedContent": { +"description": "Generates grounded content.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.generateGroundedContent", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}:generateGroundedContent", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getAclConfig": { +"description": "Gets the AclConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/aclConfig", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.getAclConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of AclConfig, such as `projects/*/locations/*/aclConfig`. If the caller does not have permission to access the AclConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/aclConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAclConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getCmekConfig": { +"description": "Gets the CmekConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.getCmekConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"obtainCrawlRate": { +"description": "Obtains the time series data of organic or dedicated crawl rate for monitoring. When dedicated crawl rate is not set, it will return vertex AI's organic crawl rate time series. Organic crawl means Google automatically crawl the internet at its own convenience. When dedicated crawl rate is set, it will return vertex AI's dedicated crawl rate time series.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:obtainCrawlRate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.obtainCrawlRate", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}:obtainCrawlRate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeDedicatedCrawlRate": { +"description": "Removes the dedicated crawl rate for a craw_rate_scope. If the dedicated crawl rate was set, this will disable vertex AI's crawl bot from using the dedicated crawl rate for crawling. If the dedicated crawl rate was not set, this is a no-op.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:removeDedicatedCrawlRate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.removeDedicatedCrawlRate", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}:removeDedicatedCrawlRate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setDedicatedCrawlRate": { +"description": "Sets the dedicated crawl rate for a crawl_rate_scope. If the dedicated crawl rate was not set, this will enable vertex AI's crawl bot to use the new dedicated crawl rate for crawling. If the dedicated crawl rate was set, vertex AI's crawl bot will try to update the rate to the new value. If the new value is too high, the crawl bot may crawl at a lower rate to avoid overloading the user's website.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:setDedicatedCrawlRate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.setDedicatedCrawlRate", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}:setDedicatedCrawlRate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setUpDataConnector": { +"description": "Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:setUpDataConnector", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.setUpDataConnector", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of Collection, in the format of `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}:setUpDataConnector", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateAclConfig": { +"description": "Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/aclConfig", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.updateAclConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/aclConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAclConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAclConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateCmekConfig": { +"description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.updateCmekConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", +"required": true, +"type": "string" +}, +"setDefault": { +"description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"cmekConfigs": { +"methods": { +"get": { +"description": "Gets the CmekConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.cmekConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the CmekConfigs with the project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.cmekConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list CmekConfigs under this location, regardless of whether or not a CmekConfig exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/cmekConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.cmekConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"setDefault": { +"description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"collections": { +"methods": { +"delete": { +"description": "Deletes a Collection.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the Collection, in the format of `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Collection.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCollection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getDataConnector": { +"description": "Gets the DataConnector. DataConnector is a singleton resource for each Collection.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.getDataConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataConnector, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataConnector`. If the caller does not have permission to access the DataConnector, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataConnector does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Collections.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter returned collections by associated data connector data sources. For example: `filter = 'data_source:jira confluence'`. If the filter is empty, we return all collections under a project and location.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Collections to return. The service may return fewer than this value. If unspecified, at most 100 Collections will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous CollectionService.ListCollections call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to CollectionService.ListCollections must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/collections", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListCollectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Collection.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCollection" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateDataConnector": { +"description": "Updates a DataConnector.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.updateDataConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataConnector to update. Supported field paths include: - refresh_interval - params - auto_run_disabled - action_config - destination_configs - blocking_reasons Note: Support for these fields may vary depending on the connector type. For example, not all connectors support `destination_configs`. If an unsupported or unknown field path is provided, the request will return an INVALID_ARGUMENT error.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"dataConnector": { +"methods": { +"startConnectorRun": { +"description": "Starts an immediate synchronization process for a DataConnector. Third Party Connector Users must specify which entities should be synced. FHIR Connectors must provide a timestamp to indicate the point in time from which data should be synced.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector:startConnectorRun", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataConnector.startConnectorRun", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Connector name of the form projects/{project}/locations/{location}/collections/ {collection_id}/dataConnector", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}:startConnectorRun", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"connectorRuns": { +"methods": { +"list": { +"description": "Lists the ConnectorRuns of a DataConnector.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/connectorRuns", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.connectorRuns.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConnectorRuns` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectorRuns` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent DataConnector resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataConnector`. If the caller does not have permission to list ConnectorRuns under this DataConnector, regardless of whether or not this DataConnector exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/connectorRuns", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getDocumentProcessingConfig": { +"description": "Gets a DocumentProcessingConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/documentProcessingConfig", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.getDocumentProcessingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full DocumentProcessingConfig resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/documentProcessingConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/documentProcessingConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"trainCustomModel": { +"description": "Trains a custom model.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:trainCustomModel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.trainCustomModel", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to train the models.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+dataStore}:trainCustomModel", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateDocumentProcessingConfig": { +"description": "Updates the DocumentProcessingConfig. DocumentProcessingConfig is a singleon resource of DataStore. It's empty when DataStore is created. The first call to this method will set up DocumentProcessingConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/documentProcessingConfig", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.updateDocumentProcessingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/documentProcessingConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DocumentProcessingConfig to update. The following are the only supported fields: * DocumentProcessingConfig.ocr_config If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getProcessedDocument": { +"description": "Gets the parsed layout information for a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}:getProcessedDocument", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.getProcessedDocument", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"processedDocumentFormat": { +"description": "What format output should be. If unspecified, defaults to JSON.", +"enum": [ +"PROCESSED_DOCUMENT_FORMAT_UNSPECIFIED", +"JSON" +], +"enumDescriptions": [ +"Default value.", +"Output format is a JSON string representation of processed document." +], +"location": "query", +"type": "string" +}, +"processedDocumentType": { +"description": "Required. What type of processing to return.", +"enum": [ +"PROCESSED_DOCUMENT_TYPE_UNSPECIFIED", +"PARSED_DOCUMENT", +"CHUNKED_DOCUMENT", +"IMAGE_CONVERTED_DOCUMENT" +], +"enumDescriptions": [ +"Default value.", +"Available for all data store parsing configs.", +"Only available if ChunkingConfig is enabled on the data store.", +"Returns the converted Image bytes (as JPEG or PNG) if available." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}:getProcessedDocument", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProcessedDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"chunks": { +"methods": { +"get": { +"description": "Gets a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}/chunks/{chunksId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.chunks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Chunk, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}/chunks/{chunk}`. If the caller does not have permission to access the Chunk, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Chunk does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+/chunks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Chunks.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}/chunks", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.chunks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Chunks to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListChunksResponse.next_page_token, received from a previous ChunkService.ListChunks call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ChunkService.ListChunks must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent document resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to list Chunks under this document, regardless of whether or not this document exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/chunks", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListChunksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"customModels": { +"methods": { +"list": { +"description": "Gets a list of all the custom models.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/customModels", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.customModels.list", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the parent Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to fetch the models from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+dataStore}/customModels", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"batchVerifyTargetSites": { +"description": "Verify target sites' ownership and validity. This API sends all the target sites under site search engine for verification.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:batchVerifyTargetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.batchVerifyTargetSites", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being verified. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}:batchVerifyTargetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchDomainVerificationStatus": { +"description": "Returns list of target sites with its domain verification status. This method can only be called under data store with BASIC_SITE_SEARCH state at the moment.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:fetchDomainVerificationStatus", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.fetchDomainVerificationStatus", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `FetchDomainVerificationStatus` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDomainVerificationStatus` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"siteSearchEngine": { +"description": "Required. The site search engine resource under which we fetch all the domain verification status. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:fetchDomainVerificationStatus", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getUriPatternDocumentData": { +"description": "Gets the URI Pattern to Document data mapping for an Advanced Site Search DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:getUriPatternDocumentData", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.getUriPatternDocumentData", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:getUriPatternDocumentData", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setUriPatternDocumentData": { +"description": "Sets the URI Pattern to Document data mapping for an Advanced Site Search DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:setUriPatternDocumentData", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.setUriPatternDocumentData", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:setUriPatternDocumentData", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sitemaps": { +"methods": { +"create": { +"description": "Creates a Sitemap.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sitemaps", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSitemap" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Sitemap.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"engines": { +"methods": { +"create": { +"description": "Creates a Engine.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"engineId": { +"description": "Required. The ID to use for the Engine, which will become the final component of the Engine's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/engines", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Engine.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. If the caller does not have permission to delete the Engine, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Engine to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Engine.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the Engines associated with the project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Not supported.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Not supported.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/engines", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListEnginesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Engine", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Engine to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:pause", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the engine to pause. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:pause", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPauseEngineRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:resume", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the engine to resume. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:resume", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaResumeEngineRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tune": { +"description": "Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:tune", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.tune", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the engine to tune. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:tune", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTuneEngineRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getDocumentProcessingConfig": { +"description": "Gets a DocumentProcessingConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/documentProcessingConfig", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.getDocumentProcessingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full DocumentProcessingConfig resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/documentProcessingConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/documentProcessingConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateDocumentProcessingConfig": { +"description": "Updates the DocumentProcessingConfig. DocumentProcessingConfig is a singleon resource of DataStore. It's empty when DataStore is created. The first call to this method will set up DocumentProcessingConfig.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/documentProcessingConfig", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.updateDocumentProcessingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/documentProcessingConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DocumentProcessingConfig to update. The following are the only supported fields: * DocumentProcessingConfig.ocr_config If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getProcessedDocument": { +"description": "Gets the parsed layout information for a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}:getProcessedDocument", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.getProcessedDocument", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"processedDocumentFormat": { +"description": "What format output should be. If unspecified, defaults to JSON.", +"enum": [ +"PROCESSED_DOCUMENT_FORMAT_UNSPECIFIED", +"JSON" +], +"enumDescriptions": [ +"Default value.", +"Output format is a JSON string representation of processed document." +], +"location": "query", +"type": "string" +}, +"processedDocumentType": { +"description": "Required. What type of processing to return.", +"enum": [ +"PROCESSED_DOCUMENT_TYPE_UNSPECIFIED", +"PARSED_DOCUMENT", +"CHUNKED_DOCUMENT", +"IMAGE_CONVERTED_DOCUMENT" +], +"enumDescriptions": [ +"Default value.", +"Available for all data store parsing configs.", +"Only available if ChunkingConfig is enabled on the data store.", +"Returns the converted Image bytes (as JPEG or PNG) if available." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}:getProcessedDocument", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProcessedDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"chunks": { +"methods": { +"get": { +"description": "Gets a Document.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}/chunks/{chunksId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.chunks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Chunk, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}/chunks/{chunk}`. If the caller does not have permission to access the Chunk, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Chunk does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+/chunks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Chunks.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}/chunks", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.chunks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Chunks to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListChunksResponse.next_page_token, received from a previous ChunkService.ListChunks call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ChunkService.ListChunks must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent document resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to list Chunks under this document, regardless of whether or not this document exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/chunks", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListChunksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sitemaps": { +"methods": { +"create": { +"description": "Creates a Sitemap.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sitemaps", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSitemap" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Sitemap.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetch": { +"description": "Fetch Sitemaps in a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps:fetch", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.fetch", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.urisMatcher.uris": { +"description": "The Sitemap uris.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sitemaps:fetch", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"evaluations": { +"methods": { +"create": { +"description": "Creates a Evaluation. Upon creation, the evaluation will be automatically triggered and begin execution.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/evaluations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.evaluations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/evaluations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluation" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Evaluation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Evaluation, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to access the Evaluation, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Evaluation does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Evaluations.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/evaluations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list Evaluations under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/evaluations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListEvaluationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listResults": { +"description": "Gets a list of results for a given a Evaluation.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}:listResults", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.listResults", +"parameterOrder": [ +"evaluation" +], +"parameters": { +"evaluation": { +"description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+evaluation}:listResults", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"groundingConfigs": { +"methods": { +"check": { +"description": "Performs a grounding check.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/groundingConfigs/{groundingConfigsId}:check", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.groundingConfigs.check", +"parameterOrder": [ +"groundingConfig" +], +"parameters": { +"groundingConfig": { +"description": "Required. The resource name of the grounding config, such as `projects/*/locations/global/groundingConfigs/default_grounding_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groundingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+groundingConfig}:check", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"identityMappingStores": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rankingConfigs": { +"methods": { +"rank": { +"description": "Ranks a list of text records based on the given input query.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rankingConfigs/{rankingConfigsId}:rank", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.rankingConfigs.rank", +"parameterOrder": [ +"rankingConfig" +], +"parameters": { +"rankingConfig": { +"description": "Required. The resource name of the rank service config, such as `projects/{project_num}/locations/{location}/rankingConfigs/default_ranking_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rankingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+rankingConfig}:rank", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRankRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRankResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"requirements": { +"methods": { +"checkRequirement": { +"description": "Check a particular requirement.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/requirements:checkRequirement", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.requirements.checkRequirement", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Full resource name of the location. Format `projects/{project_number_or_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+location}/requirements:checkRequirement", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sampleQuerySets": { +"methods": { +"create": { +"description": "Creates a SampleQuerySet", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"sampleQuerySetId": { +"description": "Required. The ID to use for the SampleQuerySet, which will become the final component of the SampleQuerySet.name. If the caller does not have permission to create the SampleQuerySet, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all SampleQuerySets with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sampleQuerySets", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SampleQuerySet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.sampleQuerySets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuerySet, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. If the caller does not have permission to delete the SampleQuerySet, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the SampleQuerySet to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SampleQuerySet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuerySet, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. If the caller does not have permission to access the SampleQuerySet, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested SampleQuerySet does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of SampleQuerySets.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of SampleQuerySets to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListSampleQuerySetsResponse.next_page_token, received from a previous SampleQuerySetService.ListSampleQuerySets call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SampleQuerySetService.ListSampleQuerySets must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list SampleQuerySets under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sampleQuerySets", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSampleQuerySetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SampleQuerySet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.sampleQuerySets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The full resource name of the SampleQuerySet, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'sample query set' to update. If not set, will by default update all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sampleQueries": { +"methods": { +"create": { +"description": "Creates a SampleQuery", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +}, +"sampleQueryId": { +"description": "Required. The ID to use for the SampleQuery, which will become the final component of the SampleQuery.name. If the caller does not have permission to create the SampleQuery, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all SampleQuerys with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sampleQueries", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SampleQuery.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuery, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. If the caller does not have permission to delete the SampleQuery, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the SampleQuery to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SampleQuery.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuery, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. If the caller does not have permission to access the SampleQuery, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested SampleQuery does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple SampleQuerys. Sample queries that already exist may be deleted. Note: It is possible for a subset of the SampleQuerys to be successfully imported.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent sample query set resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`. If the caller does not have permission to list SampleQuerys under this sample query set, regardless of whether or not this sample query set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sampleQueries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of SampleQuerys.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of SampleQuerys to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListSampleQueriesResponse.next_page_token, received from a previous SampleQueryService.ListSampleQueries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SampleQueryService.ListSampleQueries must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent sample query set resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`. If the caller does not have permission to list SampleQuerys under this sample query set, regardless of whether or not this sample query set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sampleQueries", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SampleQuery.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The full resource name of the sample query, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'simple query' to update. If not set, will by default update all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userStores": { +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userStores/{userStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/userStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userStores/{userStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/userStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1alpha/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20250107", +"rootUrl": "https://discoveryengine.googleapis.com/", +"schemas": { +"GoogleApiDistribution": { +"description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", +"id": "GoogleApiDistribution", +"properties": { +"bucketCounts": { +"description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"bucketOptions": { +"$ref": "GoogleApiDistributionBucketOptions", +"description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." +}, +"count": { +"description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", +"format": "int64", +"type": "string" +}, +"exemplars": { +"description": "Must be in increasing order of `value` field.", +"items": { +"$ref": "GoogleApiDistributionExemplar" +}, +"type": "array" +}, +"mean": { +"description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +}, +"range": { +"$ref": "GoogleApiDistributionRange", +"description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." +}, +"sumOfSquaredDeviation": { +"description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptions": { +"description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", +"id": "GoogleApiDistributionBucketOptions", +"properties": { +"explicitBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExplicit", +"description": "The explicit buckets." +}, +"exponentialBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExponential", +"description": "The exponential buckets." +}, +"linearBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsLinear", +"description": "The linear bucket." +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExplicit": { +"description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", +"id": "GoogleApiDistributionBucketOptionsExplicit", +"properties": { +"bounds": { +"description": "The values must be monotonically increasing.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExponential": { +"description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsExponential", +"properties": { +"growthFactor": { +"description": "Must be greater than 1.", +"format": "double", +"type": "number" +}, +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"scale": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsLinear": { +"description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsLinear", +"properties": { +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "Lower bound of the first bucket.", +"format": "double", +"type": "number" +}, +"width": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionExemplar": { +"description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", +"id": "GoogleApiDistributionExemplar", +"properties": { +"attachments": { +"description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"timestamp": { +"description": "The observation (sampling) time of the above value.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionRange": { +"description": "The range of the population values.", +"id": "GoogleApiDistributionRange", +"properties": { +"max": { +"description": "The maximum of the population values.", +"format": "double", +"type": "number" +}, +"min": { +"description": "The minimum of the population values.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleApiHttpBody", +"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.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiMetric": { +"description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", +"id": "GoogleApiMetric", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", +"type": "object" +}, +"type": { +"description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResource": { +"description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", +"id": "GoogleApiMonitoredResource", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", +"type": "object" +}, +"type": { +"description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResourceMetadata": { +"description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", +"id": "GoogleApiMonitoredResourceMetadata", +"properties": { +"systemLabels": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", +"type": "object" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. A map of user-defined metadata labels.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorContext": { +"description": "A description of the context in which an error occurred.", +"id": "GoogleCloudDiscoveryengineLoggingErrorContext", +"properties": { +"httpRequest": { +"$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"description": "The HTTP request which was processed when the error was triggered." +}, +"reportLocation": { +"$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorLog": { +"description": "An error log which is reported to the Error Reporting system.", +"id": "GoogleCloudDiscoveryengineLoggingErrorLog", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", +"description": "A description of the context in which the error occurred." +}, +"importPayload": { +"$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"description": "The error payload that is populated on LRO import APIs." +}, +"message": { +"description": "A message describing the error.", +"type": "string" +}, +"requestPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API request payload, represented as a protocol buffer. Most API request types are supported\u2014for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", +"type": "object" +}, +"responsePayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", +"type": "object" +}, +"serviceContext": { +"$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", +"description": "The service context in which this error has occurred." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The RPC status associated with the error log." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingHttpRequestContext": { +"description": "HTTP request data that is related to a reported error.", +"id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"properties": { +"responseStatusCode": { +"description": "The HTTP response status code for the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingImportErrorContext": { +"description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", +"id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"properties": { +"document": { +"description": "The detailed content which caused the error on importing a document.", +"type": "string" +}, +"gcsPath": { +"description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", +"type": "string" +}, +"lineNumber": { +"description": "Line number of the content in file. Should be empty for permission or batch operation error.", +"type": "string" +}, +"operation": { +"description": "The operation resource name of the LRO.", +"type": "string" +}, +"userEvent": { +"description": "The detailed content which caused the error on importing a user event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingServiceContext": { +"description": "Describes a running service that sends errors.", +"id": "GoogleCloudDiscoveryengineLoggingServiceContext", +"properties": { +"service": { +"description": "An identifier of the service\u2014for example, `discoveryengine.googleapis.com`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingSourceLocation": { +"description": "Indicates a location in the source code of the service for which errors are reported.", +"id": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"properties": { +"functionName": { +"description": "Human-readable name of a function or method\u2014for example, `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1CmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Condition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1Condition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1ConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1ConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Control": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1Control", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Condition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1CreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1CmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1Schema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Engine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1Engine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Project": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1Project", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1ProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1ProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Schema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1Schema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", +"id": "GoogleCloudDiscoveryengineV1ServingConfig", +"properties": { +"boostControlIds": { +"description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. ServingConfig created timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dissociateControlIds": { +"description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"diversityLevel": { +"description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"filterControlIds": { +"description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"genericConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"description": "The GenericConfig of the serving configuration." +}, +"ignoreControlIds": { +"description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mediaConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"description": "The MediaConfig of the serving configuration." +}, +"modelId": { +"description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"promoteControlIds": { +"description": "Condition promote specifications. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"redirectControlIds": { +"description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementControlIds": { +"description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionType": { +"description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsControlIds": { +"description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. ServingConfig updated timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { +"description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"properties": { +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { +"description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"properties": { +"contentFreshnessCutoffDays": { +"description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", +"format": "int32", +"type": "integer" +}, +"contentWatchedPercentageThreshold": { +"description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", +"format": "float", +"type": "number" +}, +"contentWatchedSecondsThreshold": { +"description": "Specifies the content watched minutes threshold for demotion.", +"format": "float", +"type": "number" +}, +"demoteContentWatchedPastDays": { +"description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", +"format": "int32", +"type": "integer" +}, +"demotionEventType": { +"description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1SingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1TargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1WorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAclConfig": { +"description": "Access Control Configuration.", +"id": "GoogleCloudDiscoveryengineV1alphaAclConfig", +"properties": { +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Identity provider config." +}, +"name": { +"description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaActionConfig": { +"description": "Informations to support actions on the connector.", +"id": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"properties": { +"actionParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", +"type": "object" +}, +"isActionConfigured": { +"description": "Output only. The connector contains the necessary parameters and is configured to support actions.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest": { +"description": "Request message for CompletionService.AdvancedCompleteQuery method. .", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec", +"description": "Optional. Specification to boost suggestions matching the condition." +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called \"zero prefix\" feature, which returns user's recently searched queries given the empty query.", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"type": "string" +}, +"suggestionTypes": { +"description": "Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment.", +"items": { +"enum": [ +"SUGGESTION_TYPE_UNSPECIFIED", +"QUERY", +"PEOPLE", +"CONTENT", +"RECENT_SEARCH", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Returns query suggestions.", +"Returns people suggestions.", +"Returns content suggestions.", +"Returns recent search suggestions.", +"Returns Google Workspace suggestions." +], +"type": "string" +}, +"type": "array" +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"description": "Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info." +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec": { +"description": "Specification to boost suggestions based on the condtion of the suggestion.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to suggestions which match a condition.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", +"format": "float", +"type": "number" +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY(\"en\", \"fr\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse": { +"description": "Response message for CompletionService.AdvancedCompleteQuery method.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse", +"properties": { +"contentSuggestions": { +"description": "Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion" +}, +"type": "array" +}, +"peopleSuggestions": { +"description": "Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion" +}, +"type": "array" +}, +"querySuggestions": { +"description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion" +}, +"type": "array" +}, +"recentSearchSuggestions": { +"description": "Results of the matched \"recent search\" suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion" +}, +"type": "array" +}, +"tailMatchTriggered": { +"description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion": { +"description": "Suggestions as content.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion", +"properties": { +"contentType": { +"description": "The type of the content suggestion.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"GOOGLE_WORKSPACE", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Default value.", +"The suggestion is from a Google Workspace source.", +"The suggestion is from a third party source." +], +"type": "string" +}, +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"type": "string" +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument", +"description": "The document data snippet in the suggestion. Only a subset of fields will be populated." +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion": { +"description": "Suggestions as people.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion", +"properties": { +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"type": "string" +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument", +"description": "The document data snippet in the suggestion. Only a subset of fields is populated." +}, +"personType": { +"description": "The type of the person.", +"enum": [ +"PERSON_TYPE_UNSPECIFIED", +"CLOUD_IDENTITY", +"THIRD_PARTY_IDENTITY" +], +"enumDescriptions": [ +"Default value.", +"The suggestion is from a GOOGLE_IDENTITY source.", +"The suggestion is from a THIRD_PARTY_IDENTITY source." +], +"type": "string" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion": { +"description": "Suggestions as search queries.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion", +"properties": { +"completableFieldPaths": { +"description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion": { +"description": "Suggestions from recent search history.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion", +"properties": { +"recentSearchTime": { +"description": "The time when this recent rearch happened.", +"format": "google-datetime", +"type": "string" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAlloyDbSource": { +"description": "AlloyDB source import data from.", +"id": "GoogleCloudDiscoveryengineV1alphaAlloyDbSource", +"properties": { +"clusterId": { +"description": "Required. The AlloyDB cluster to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The AlloyDB database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the AlloyDB export to a specific Cloud Storage directory. Ensure that the AlloyDB service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"locationId": { +"description": "Required. The AlloyDB location to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the AlloyDB source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The AlloyDB table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswer": { +"description": "Defines an answer.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswer", +"properties": { +"answerSkippedReasons": { +"description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"ANSWER_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_ANSWER_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_ANSWER_SEEKING_QUERY_IGNORED_V2", +"LOW_GROUNDED_ANSWER" +], +"enumDescriptions": [ +"Default value. The answer skipped reason is not specified.", +"The adversarial query ignored case.", +"The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", +"The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", +"The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", +"The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." +], +"type": "string" +}, +"type": "array" +}, +"answerText": { +"description": "The textual answer.", +"type": "string" +}, +"citations": { +"description": "Citations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitation" +}, +"type": "array" +}, +"completeTime": { +"description": "Output only. Answer completed timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Answer creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", +"format": "double", +"type": "number" +}, +"groundingSupports": { +"description": "Optional. Grounding supports.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", +"type": "string" +}, +"queryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"description": "Query understanding information." +}, +"references": { +"description": "References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReference" +}, +"type": "array" +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"safetyRatings": { +"description": "Optional. Safety ratings.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" +}, +"type": "array" +}, +"state": { +"description": "The state of the answer generation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED", +"STREAMING" +], +"enumDescriptions": [ +"Unknown.", +"Answer generation is currently in progress.", +"Answer generation currently failed.", +"Answer generation has succeeded.", +"Answer generation is currently in progress." +], +"type": "string" +}, +"steps": { +"description": "Answer generation steps.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource", +"properties": { +"referenceId": { +"description": "ID of the citation source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { +"description": "Grounding support for a claim in `answer_text`.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", +"properties": { +"endIndex": { +"description": "Required. End of the claim, exclusive.", +"format": "int64", +"type": "string" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", +"type": "boolean" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", +"format": "double", +"type": "number" +}, +"sources": { +"description": "Optional. Citation sources for the claim.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest": { +"description": "Request message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest", +"properties": { +"answerGenerationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", +"description": "Answer generation specification." +}, +"asynchronousMode": { +"deprecated": true, +"description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", +"type": "boolean" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec", +"description": "Optional. Grounding specification." +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQuery", +"description": "Required. Current user query." +}, +"queryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", +"description": "Query understanding specification." +}, +"relatedQuestionsSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", +"description": "Related questions specification." +}, +"safetySpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", +"description": "Model specification." +}, +"searchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", +"description": "Search specification." +}, +"session": { +"description": "The session resource name. Not required. When session field is not set, the API is in sessionless mode. We support auto session mode: users can use the wildcard symbol `-` as session ID. A new ID will be automatically generated and assigned.", +"type": "string" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec": { +"description": "Answer generation specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", +"properties": { +"answerLanguageCode": { +"description": "Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No answer is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating answers for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true` or unset, the behavior will be determined automatically by the service.", +"type": "boolean" +}, +"ignoreNonAnswerSeekingQuery": { +"description": "Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. Google employs search-query classification to detect answer-seeking queries. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citation metadata in the answer. The default value is `false`.", +"type": "boolean" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", +"description": "Answer generation model specification." +}, +"promptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", +"description": "Answer generation prompt specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec": { +"description": "Answer Generation Model specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", +"properties": { +"modelVersion": { +"description": "Model version. If not set, it will use the default stable model. Allowed values are: stable, preview.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec": { +"description": "Answer generation prompt specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", +"properties": { +"preamble": { +"description": "Customized preamble.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec", +"properties": { +"filteringLevel": { +"description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", +"enum": [ +"FILTERING_LEVEL_UNSPECIFIED", +"FILTERING_LEVEL_LOW", +"FILTERING_LEVEL_HIGH" +], +"enumDescriptions": [ +"Default is no filter", +"Filter answers based on a low threshold.", +"Filter answers based on a high threshold." +], +"type": "string" +}, +"includeGroundingSupports": { +"description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec": { +"description": "Query understanding specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", +"properties": { +"queryClassificationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"description": "Query classification specification." +}, +"queryRephraserSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"description": "Query rephraser specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec": { +"description": "Query classification specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"properties": { +"types": { +"description": "Enabled query classification types.", +"items": { +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec": { +"description": "Query rephraser specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"properties": { +"disable": { +"description": "Disable query rephraser.", +"type": "boolean" +}, +"maxRephraseSteps": { +"description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", +"format": "int32", +"type": "integer" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"description": "Optional. Query Rephraser Model specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { +"description": "Query Rephraser Model specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"properties": { +"modelType": { +"description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"SMALL", +"LARGE" +], +"enumDescriptions": [ +"Unspecified model type.", +"Small query rephraser model. Gemini 1.0 XS model.", +"Large query rephraser model. Gemini 1.0 Pro model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec": { +"description": "Related questions specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", +"properties": { +"enable": { +"description": "Enable related questions feature if true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec": { +"description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", +"properties": { +"enable": { +"description": "Enable the safety filtering on the answer response. It is false by default.", +"type": "boolean" +}, +"safetySettings": { +"description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting": { +"description": "Safety settings.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting", +"properties": { +"category": { +"description": "Required. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"type": "string" +}, +"threshold": { +"description": "Required. The harm block threshold.", +"enum": [ +"HARM_BLOCK_THRESHOLD_UNSPECIFIED", +"BLOCK_LOW_AND_ABOVE", +"BLOCK_MEDIUM_AND_ABOVE", +"BLOCK_ONLY_HIGH", +"BLOCK_NONE", +"OFF" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec": { +"description": "Search specification.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", +"properties": { +"searchParams": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", +"description": "Search parameters." +}, +"searchResultList": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", +"description": "Search result list." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams": { +"description": "Search parameters.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"customFineTuningSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"description": "Custom fine tuning configs." +}, +"dataStoreSpecs": { +"description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"maxReturnResults": { +"description": "Number of search results to return. The default value is 10.", +"format": "int32", +"type": "integer" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "Optional. Specification to enable natural language understanding capabilities for search requests." +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList": { +"description": "Search result list.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", +"properties": { +"searchResults": { +"description": "Search results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult": { +"description": "Search result.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"description": "Chunk information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"description": "Metadata of the document from the current chunk." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"properties": { +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"documentContexts": { +"description": "List of document contexts. The content will be used for Answer Generation. This is supposed to be the main content of the document that can be long and comprehensive.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext" +}, +"type": "array" +}, +"extractiveAnswers": { +"deprecated": true, +"description": "Deprecated: This field is deprecated and will have no effect on the Answer generation. Please use document_contexts and extractive_segments fields. List of extractive answers.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer" +}, +"type": "array" +}, +"extractiveSegments": { +"description": "List of extractive segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment" +}, +"type": "array" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext": { +"description": "Document context.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext", +"properties": { +"content": { +"description": "Document content to be used for answer generation.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer": { +"description": "Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer", +"properties": { +"content": { +"description": "Extractive answer content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment": { +"description": "Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) Answer generation will only use it if document_contexts is empty. This is supposed to be shorter snippets.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment", +"properties": { +"content": { +"description": "Extractive segment content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse": { +"description": "Response message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse", +"properties": { +"answer": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", +"description": "Answer resource object. If AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec.max_rephrase_steps is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." +}, +"answerQueryToken": { +"description": "A global unique ID used for logging.", +"type": "string" +}, +"session": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession", +"description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { +"description": "Query understanding information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"properties": { +"queryClassificationInfo": { +"description": "Query classification information.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { +"description": "Query classification information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo", +"properties": { +"positive": { +"description": "Classification output.", +"type": "boolean" +}, +"type": { +"description": "Query classification type.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReference": { +"description": "Reference.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReference", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"description": "Chunk information." +}, +"structuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"description": "Structured document information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"description": "Document metadata." +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata": { +"description": "Document metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo": { +"description": "Structured search information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured search data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStep": { +"description": "Step information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStep", +"properties": { +"actions": { +"description": "Actions.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction" +}, +"type": "array" +}, +"description": { +"description": "The description of the step.", +"type": "string" +}, +"state": { +"description": "The state of the step.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Unknown.", +"Step is currently in progress.", +"Step currently failed.", +"Step has succeeded." +], +"type": "string" +}, +"thought": { +"description": "The thought of the step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepAction": { +"description": "Action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction", +"properties": { +"observation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"description": "Observation." +}, +"searchAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"description": "Search action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation": { +"description": "Observation.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"properties": { +"searchResults": { +"description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult": { +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult", +"properties": { +"chunkInfo": { +"description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"snippetInfo": { +"description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo" +}, +"type": "array" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo": { +"description": "Snippet information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo", +"properties": { +"snippet": { +"description": "Snippet content.", +"type": "string" +}, +"snippetStatus": { +"description": "Status of the snippet defined by the search team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction": { +"description": "Search action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"properties": { +"query": { +"description": "The query to search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to create. A maximum of 20 TargetSites can be created in a batch.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse": { +"description": "Response message for DocumentService.BatchGetDocumentsMetadata method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse", +"properties": { +"documentsMetadata": { +"description": "The metadata of the Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata": { +"description": "The metadata of a Document.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata", +"properties": { +"dataIngestionSource": { +"description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", +"type": "string" +}, +"lastRefreshedTime": { +"description": "The timestamp of the last time the Document was last indexed.", +"format": "google-datetime", +"type": "string" +}, +"matcherValue": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"description": "The value of the matcher that was used to match the Document." +}, +"state": { +"description": "The state of the document.", +"enum": [ +"STATE_UNSPECIFIED", +"INDEXED", +"NOT_IN_TARGET_SITE", +"NOT_IN_INDEX" +], +"enumDescriptions": [ +"Should never be set.", +"The Document is indexed.", +"The Document is not indexed because its URI is not in the TargetSite.", +"The Document is not indexed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue": { +"description": "The value of the matcher that was used to match the Document.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"properties": { +"fhirResource": { +"description": "Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"type": "string" +}, +"uri": { +"description": "If match by URI, the URI of the Document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchVerifyTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBigQuerySource": { +"description": "BigQuery source import data from.", +"id": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for user event imports: * `user_event` (default): One UserEvent per row. Supported values for document imports: * `document` (default): One Document format per row. Each document must have a valid Document.id and one of Document.json_data or Document.struct_data. * `custom`: One custom data per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical.", +"type": "string" +}, +"datasetId": { +"description": "Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.", +"type": "string" +}, +"partitionDate": { +"$ref": "GoogleTypeDate", +"description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." +}, +"projectId": { +"description": "The project ID or the project number that contains the BigQuery source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBigtableOptions": { +"description": "The Bigtable Options object that contains information to support the import.", +"id": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", +"properties": { +"families": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily" +}, +"description": "The mapping from family names to an object that contains column families level information for the given column family. If a family is not present in this map it will be ignored.", +"type": "object" +}, +"keyFieldName": { +"description": "The field name used for saving row key value in the document. The name has to match the pattern `a-zA-Z0-9*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn": { +"description": "The column of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn", +"properties": { +"encoding": { +"description": "The encoding mode of the values when the type is not `STRING`. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the qualifier bytes with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"qualifier": { +"description": "Required. Qualifier of the column. If it cannot be decoded with utf-8, use a base-64 encoded string instead.", +"format": "byte", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily": { +"description": "The column family of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily", +"properties": { +"columns": { +"description": "The list of objects that contains column level information for each column. If a column is not present in this list it will be ignored.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn" +}, +"type": "array" +}, +"encoding": { +"description": "The encoding mode of the values when the type is not STRING. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column family in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the family name with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBigtableSource": { +"description": "The Cloud Bigtable source for importing data.", +"id": "GoogleCloudDiscoveryengineV1alphaBigtableSource", +"properties": { +"bigtableOptions": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", +"description": "Required. Bigtable options that contains information needed when parsing data into typed structures. For example, column type annotations." +}, +"instanceId": { +"description": "Required. The instance ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Bigtable source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest": { +"description": "Request message for GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest", +"properties": { +"answerCandidate": { +"description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", +"type": "string" +}, +"facts": { +"description": "List of facts for the grounding check. We support up to 200 facts.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundingFact" +}, +"type": "array" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", +"description": "Configuration of the grounding check." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse": { +"description": "Response message for the GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse", +"properties": { +"citedChunks": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFactChunk" +}, +"type": "array" +}, +"citedFacts": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk" +}, +"type": "array" +}, +"claims": { +"description": "Claim texts and citation info across all claims in the answer candidate.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim" +}, +"type": "array" +}, +"supportScore": { +"description": "The support score for the input answer candidate. Higher the score, higher is the fraction of claims that are supported by the provided facts. This is always set when a response is returned.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk": { +"description": "Fact chunk for grounding check.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim": { +"description": "Text and citation info for a claim in the answer candidate.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim", +"properties": { +"citationIndices": { +"description": "A list of indices (into 'cited_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that cited_chunks[1], cited_chunks[3], cited_chunks[4] are the facts cited supporting for the claim. A citation to a fact indicates that the claim is supported by the fact.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"claimText": { +"description": "Text for the claim in the answer candidate. Always provided regardless of whether citations or anti-citations are found.", +"type": "string" +}, +"endPos": { +"description": "Position indicating the end of the claim in the answer candidate, exclusive.", +"format": "int32", +"type": "integer" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", +"type": "boolean" +}, +"startPos": { +"description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec": { +"description": "Specification for the grounding check.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", +"properties": { +"citationThreshold": { +"description": "The threshold (in [0,1]) used for determining whether a fact must be cited for a claim in the answer candidate. Choosing a higher threshold will lead to fewer but very strong citations, while choosing a lower threshold may lead to more but somewhat weaker citations. If unset, the threshold will default to 0.6.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest": { +"description": "Request for CheckRequirement method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest", +"properties": { +"requirementType": { +"description": "The type specifying the requirement to check. The supported types are: * `discoveryengine.googleapis.com/media_recs/general/all/warning` * `discoveryengine.googleapis.com/media_recs/oyml/cvr/warning` * `discoveryengine.googleapis.com/media_recs/rfy/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mlt/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mp/cvr/warning` * `discoveryengine.googleapis.com/media_recs/oyml/wdps/warning` * `discoveryengine.googleapis.com/media_recs/rfy/wdps/warning` * `discoveryengine.googleapis.com/media_recs/mlt/wdps/warning`", +"type": "string" +}, +"resources": { +"description": "The resources to be checked for this requirement. The type needed for the monitored resources: * `discoveryengine.googleapis.com/Branch`. * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id` * `branch_id` * `discoveryengine.googleapis.com/DataStore` * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id`", +"items": { +"$ref": "GoogleApiMonitoredResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse": { +"description": "Response for the CheckRequirement method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse", +"properties": { +"metricResults": { +"description": "Metric results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult" +}, +"type": "array" +}, +"oldestMetricTimestamp": { +"description": "Timestamp of the oldest calculated metric (i.e. the most stale metric). Indicates that the `result` may not accurately reflect any Event and Product Catalog updates performed after this time.", +"format": "google-datetime", +"type": "string" +}, +"requirement": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRequirement", +"description": "Requirement definition." +}, +"requirementCondition": { +"$ref": "GoogleTypeExpr", +"description": "The condition for evaluating the requirement result." +}, +"result": { +"description": "The result of the requirement. It should be one of the `severity` fields in the requirement definition. If any error happens during the evaluation, it will be `UNKNOWN`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult": { +"description": "Metric result. The metric are in the requirement_condition.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult", +"properties": { +"metricType": { +"description": "Type identifier of the metric corresponding to this query result.", +"type": "string" +}, +"name": { +"description": "This metric query name is mapping to variables in the requirement_condition.", +"type": "string" +}, +"timestamp": { +"description": "Time corresponding to when this metric value was calculated.", +"format": "google-datetime", +"type": "string" +}, +"unit": { +"description": "The unit in which this metric is reported. Follows [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard.", +"type": "string" +}, +"value": { +"$ref": "GoogleMonitoringV3TypedValue", +"description": "Value of the metric query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaChunk": { +"description": "Chunk captures all raw metadata information of items to be recommended or searched in the chunk mode.", +"id": "GoogleCloudDiscoveryengineV1alphaChunk", +"properties": { +"chunkMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", +"description": "Output only. Metadata of the current chunk.", +"readOnly": true +}, +"content": { +"description": "Content is a string from a document (parsed content).", +"type": "string" +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", +"description": "Metadata of the document from the current chunk." +}, +"id": { +"description": "Unique chunk ID of the current chunk.", +"type": "string" +}, +"name": { +"description": "The full resource name of the chunk. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"pageSpan": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", +"description": "Page span of the chunk." +}, +"relevanceScore": { +"description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata": { +"description": "Metadata of the current chunk. This field is only populated on SearchService.Search API.", +"id": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", +"properties": { +"nextChunks": { +"description": "The next chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk" +}, +"type": "array" +}, +"previousChunks": { +"description": "The previous chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", +"properties": { +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaChunkPageSpan": { +"description": "Page span of the chunk.", +"id": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", +"properties": { +"pageEnd": { +"description": "The end page of the chunk.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "The start page of the chunk.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCloudSqlSource": { +"description": "Cloud SQL source import data from.", +"id": "GoogleCloudDiscoveryengineV1alphaCloudSqlSource", +"properties": { +"databaseId": { +"description": "Required. The Cloud SQL database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"instanceId": { +"description": "Required. The Cloud SQL instance to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"offload": { +"description": "Option for serverless export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/sql/pricing#serverless).", +"type": "boolean" +}, +"projectId": { +"description": "The project ID that contains the Cloud SQL source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The Cloud SQL table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCollection": { +"description": "Collection is a container for configuring resources and access to a set of DataStores.", +"id": "GoogleCloudDiscoveryengineV1alphaCollection", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Collection was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataConnector": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", +"readOnly": true +}, +"displayName": { +"description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse": { +"description": "Response message for CompletionService.CompleteQuery method.", +"id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse", +"properties": { +"querySuggestions": { +"description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion" +}, +"type": "array" +}, +"tailMatchTriggered": { +"description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion": { +"description": "Suggestions as search queries.", +"id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion", +"properties": { +"completableFieldPaths": { +"description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCompletionInfo": { +"description": "Detailed completion information including completion attribution token and clicked completion info.", +"id": "GoogleCloudDiscoveryengineV1alphaCompletionInfo", +"properties": { +"selectedPosition": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion position, starting from 0.", +"format": "int32", +"type": "integer" +}, +"selectedSuggestion": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCompletionSuggestion": { +"description": "Autocomplete suggestions that are imported from Customer.", +"id": "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion", +"properties": { +"alternativePhrases": { +"description": "Alternative matching phrases for this suggestion.", +"items": { +"type": "string" +}, +"type": "array" +}, +"frequency": { +"description": "Frequency of this suggestion. Will be used to rank suggestions when score is not available.", +"format": "int64", +"type": "string" +}, +"globalScore": { +"description": "Global score of this suggestion. Control how this suggestion would be scored / ranked.", +"format": "double", +"type": "number" +}, +"groupId": { +"description": "If two suggestions have the same groupId, they will not be returned together. Instead the one ranked higher will be returned. This can be used to deduplicate semantically identical suggestions.", +"type": "string" +}, +"groupScore": { +"description": "The score of this suggestion within its group.", +"format": "double", +"type": "number" +}, +"languageCode": { +"description": "BCP-47 language code of this suggestion.", +"type": "string" +}, +"suggestion": { +"description": "Required. The suggestion text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1alphaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRun": { +"description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", +"properties": { +"endTime": { +"description": "Output only. The time when the connector run ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"entityRuns": { +"description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" +}, +"readOnly": true, +"type": "array" +}, +"errors": { +"description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"latestPauseTime": { +"description": "Output only. The time when the connector run was most recently paused.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the connector run started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the connector run sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"trigger": { +"description": "Output only. The trigger for this ConnectorRun.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"SCHEDULER", +"INITIALIZATION", +"RESUME", +"MANUAL" +], +"enumDescriptions": [ +"Default value.", +"ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", +"ConnectorRun auto triggered by connector initialization.", +"ConnectorRun auto triggered by resuming connector.", +"ConnectorRun triggered by user manually." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { +"description": "Represents an entity that was synced in this ConnectorRun.", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", +"properties": { +"entityName": { +"description": "The name of the source entity.", +"type": "string" +}, +"errorRecordCount": { +"description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", +"format": "int64", +"type": "string" +}, +"errors": { +"description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"extractedRecordCount": { +"description": "The number of documents extracted from connector source, ready to be ingested to UCS.", +"format": "int64", +"type": "string" +}, +"indexedRecordCount": { +"description": "The number of documents indexed.", +"format": "int64", +"type": "string" +}, +"sourceApiRequestCount": { +"description": "The number of requests sent to 3p API.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "The state of the entity's sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the entity sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"statsUpdateTime": { +"description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", +"format": "google-datetime", +"type": "string" +}, +"syncType": { +"description": "Sync type of this run.", +"enum": [ +"SYNC_TYPE_UNSPECIFIED", +"FULL", +"INCREMENTAL" +], +"enumDescriptions": [ +"Sync type unspecified.", +"Sync triggers full sync of all documents.", +"Incremental sync of updated documents." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1alphaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConversation": { +"description": "External conversation proto definition.", +"id": "GoogleCloudDiscoveryengineV1alphaConversation", +"properties": { +"endTime": { +"description": "Output only. The time the conversation finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"messages": { +"description": "Conversation messages.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversationMessage" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the conversation started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the Conversation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"COMPLETED" +], +"enumDescriptions": [ +"Unknown.", +"Conversation is currently open.", +"Conversation has been completed." +], +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConversationContext": { +"description": "Defines context of the conversation", +"id": "GoogleCloudDiscoveryengineV1alphaConversationContext", +"properties": { +"activeDocument": { +"description": "The current active document the user opened. It contains the document resource reference.", +"type": "string" +}, +"contextDocuments": { +"description": "The current list of documents the user is seeing. It contains the document resource references.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConversationMessage": { +"description": "Defines a conversation message.", +"id": "GoogleCloudDiscoveryengineV1alphaConversationMessage", +"properties": { +"createTime": { +"description": "Output only. Message creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1alphaReply", +"description": "Search reply." +}, +"userInput": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", +"description": "User text input." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConverseConversationRequest": { +"description": "Request message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the converse response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation", +"description": "The conversation to be used by auto session only. The name field will be ignored as we automatically assign new name for the conversation in auto session." +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the summary response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", +"description": "Required. Current user input." +}, +"safeSearch": { +"description": "Whether to turn on safe search.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Serving Config to use. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` If this is not set, the default serving config will be used.", +"type": "string" +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"description": "A specification for configuring the summary returned in the response." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConverseConversationResponse": { +"description": "Response message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse", +"properties": { +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation", +"description": "Updated conversation including the answer." +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1alphaReply", +"description": "Answer to the current query." +}, +"searchResults": { +"description": "Search Results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { +"description": "The historical crawl rate timeseries data, used for monitoring.", +"id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"properties": { +"qpsTimeSeries": { +"$ref": "GoogleMonitoringV3TimeSeries", +"description": "The QPS of the crawl rate." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest": { +"description": "Request message for SiteSearchEngineService.CreateTargetSite method.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest", +"properties": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"type": "string" +}, +"targetSite": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite", +"description": "Required. The TargetSite to create." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCustomAttribute": { +"description": "A custom attribute that is not explicitly modeled in a resource, e.g. UserEvent.", +"id": "GoogleCloudDiscoveryengineV1alphaCustomAttribute", +"properties": { +"numbers": { +"description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"text": { +"description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec": { +"description": "Defines custom fine tuning spec.", +"id": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"properties": { +"enableSearchAdaptor": { +"description": "Whether or not to enable and include custom fine tuned search adaptor model.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCustomTuningModel": { +"description": "Metadata that describes a custom tuned model.", +"id": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel", +"properties": { +"createTime": { +"deprecated": true, +"description": "Deprecated: Timestamp the Model was created at.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The display name of the model.", +"type": "string" +}, +"errorMessage": { +"description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", +"type": "string" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelState": { +"description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", +"enum": [ +"MODEL_STATE_UNSPECIFIED", +"TRAINING_PAUSED", +"TRAINING", +"TRAINING_COMPLETE", +"READY_FOR_SERVING", +"TRAINING_FAILED", +"NO_IMPROVEMENT", +"INPUT_VALIDATION_FAILED" +], +"enumDescriptions": [ +"Default value.", +"The model is in a paused training state.", +"The model is currently training.", +"The model has successfully completed training.", +"The model is ready for serving.", +"The model training failed.", +"The model training finished successfully but metrics did not improve.", +"Input data validation failed. Model training didn't start." +], +"type": "string" +}, +"modelVersion": { +"description": "The version of the model.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", +"type": "string" +}, +"trainingStartTime": { +"description": "Timestamp the model training was initiated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnector": { +"description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"properties": { +"actionConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"description": "Optional. Action configurations to make the connector support actions." +}, +"autoRunDisabled": { +"description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", +"type": "boolean" +}, +"blockingReasons": { +"description": "Output only. User actions that must be completed before the connector can start syncing data.", +"items": { +"enum": [ +"BLOCKING_REASON_UNSPECIFIED", +"ALLOWLIST_STATIC_IP", +"ALLOWLIST_IN_SERVICE_ATTACHMENT" +], +"enumDescriptions": [ +"Default value.", +"Connector requires customer to allowlist static IPs.", +"Connector requires customer to allowlist our project in their service attachment." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp the DataConnector was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", +"type": "string" +}, +"destinationConfigs": { +"description": "Optional. Any target destinations used to connect to third-party services.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" +}, +"type": "array" +}, +"entities": { +"description": "List of entities from the connected data source to ingest.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" +}, +"type": "array" +}, +"errors": { +"description": "Output only. The errors from initialization or from the latest connector run.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"identityRefreshInterval": { +"deprecated": true, +"description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +}, +"identityScheduleConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", +"type": "string" +}, +"lastSyncTime": { +"description": "Output only. For periodic connectors only, the last time a data sync was completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"latestPauseTime": { +"description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", +"readOnly": true, +"type": "string" +}, +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", +"type": "object" +}, +"privateConnectivityProjectId": { +"description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", +"readOnly": true, +"type": "string" +}, +"refreshInterval": { +"description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "Output only. State of the connector.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"RUNNING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The connector is being set up.", +"The connector is successfully set up and awaiting next sync run.", +"The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", +"The connector is actively syncing records from the data source.", +"The connector has completed a sync run, but encountered non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"staticIpAddresses": { +"description": "Output only. The static IP addresses used by this connector.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"staticIpEnabled": { +"description": "Optional. Whether customer has enabled static IP addresses for this connector.", +"type": "boolean" +}, +"syncMode": { +"description": "The data synchronization mode supported by the data connector.", +"enum": [ +"PERIODIC" +], +"enumDescriptions": [ +"The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the DataConnector was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { +"description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", +"properties": { +"dataStore": { +"description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", +"readOnly": true, +"type": "string" +}, +"entityName": { +"description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", +"type": "string" +}, +"keyPropertyMappings": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", +"type": "object" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStore", +"properties": { +"aclEnabled": { +"description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", +"type": "boolean" +}, +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Output only. Data store level identity provider config.", +"readOnly": true +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { +"description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", +"id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"properties": { +"autoRefreshCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." +}, +"userTriggeredCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { +"description": "Request for DeleteSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", +"properties": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfig": { +"description": "Defines target endpoints used to connect to third-party sources.", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", +"properties": { +"destinations": { +"description": "Optional. The destinations for the corresponding key.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" +}, +"type": "array" +}, +"key": { +"description": "Optional. Unique destination identifier that is supported by the connector.", +"type": "string" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Additional parameters for this destination config.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { +"description": "Defines a target endpoint", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", +"properties": { +"host": { +"description": "Publicly routable host.", +"type": "string" +}, +"port": { +"description": "Optional. Target port number accepted by the destination.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocument": { +"description": "Document captures all raw metadata information of items to be recommended or searched.", +"id": "GoogleCloudDiscoveryengineV1alphaDocument", +"properties": { +"aclInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", +"description": "Access control information for the document." +}, +"content": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentContent", +"description": "The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store." +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"id": { +"description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", +"type": "string" +}, +"indexStatus": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", +"description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", +"readOnly": true +}, +"indexTime": { +"description": "Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"jsonData": { +"description": "The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"parentDocumentId": { +"description": "The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"type": "string" +}, +"schemaId": { +"description": "The identifier of the schema located in the same data store.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentAclInfo": { +"description": "ACL Information of the Document.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", +"properties": { +"readers": { +"description": "Readers of the document.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction": { +"description": "AclRestriction to model complex inheritance restrictions. Example: Modeling a \"Both Permit\" inheritance, where to access a child document, user needs to have access to parent document. Document Hierarchy - Space_S --> Page_P. Readers: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2 Space_S ACL Restriction - { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ] } ] } } Page_P ACL Restriction. { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_2\" }, { \"group_id\": \"group_3\" }, { \"user_id\": \"user_2\" } ], }, { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ], } ] } }", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction", +"properties": { +"idpWide": { +"description": "All users within the Identity Provider.", +"type": "boolean" +}, +"principals": { +"description": "List of principals.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPrincipal" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentContent": { +"description": "Unstructured data linked to this document.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentContent", +"properties": { +"mimeType": { +"description": "The MIME type of the content. Supported types: * `application/pdf` (PDF, only native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.xhtml.", +"type": "string" +}, +"rawBytes": { +"description": "The content represented as a stream of bytes. The maximum length is 1,000,000 bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is represented as pure binary in Protocol Buffers and base64-encoded string in JSON. For example, `abc123!?$*&()'-=@~` should be represented as `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-buffers/docs/proto3#json.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/to/file`) are supported. The maximum file size is 2.5 MB for text-based formats, 200 MB for other formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus": { +"description": "Index status of the document.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while indexing the document. If this field is populated, the document is not indexed due to errors.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"indexTime": { +"description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", +"format": "google-datetime", +"type": "string" +}, +"pendingMessage": { +"description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentInfo": { +"description": "Detailed document information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentInfo", +"properties": { +"conversionValue": { +"description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", +"format": "float", +"type": "number" +}, +"id": { +"description": "The Document resource ID.", +"type": "string" +}, +"joined": { +"description": "Output only. Whether the referenced Document can be found in the data store.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "The Document resource full name, of the form: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}`", +"type": "string" +}, +"promotionIds": { +"description": "The promotion IDs associated with this Document. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"quantity": { +"description": "Quantity of the Document associated with the user event. Defaults to 1. For example, this field is 2 if two quantities of the same Document are involved in a `add-to-cart` event. Required for events of the following event types: * `add-to-cart` * `purchase`", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "The Document URI - only allowed for website data stores.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDoubleList": { +"description": "Double list.", +"id": "GoogleCloudDiscoveryengineV1alphaDoubleList", +"properties": { +"values": { +"description": "Double values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEmbeddingConfig": { +"description": "Defines embedding config, used for bring your own embeddings feature.", +"id": "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig", +"properties": { +"fieldPath": { +"description": "Full field path in the schema mapped as embedding field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"mediaRecommendationEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"description": "Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical." +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"recommendationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"description": "Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.", +"readOnly": true +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"similarDocumentsConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"description": "Additional config specs for a `similar-items` engine." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig": { +"description": "Additional config specs for a Media Recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"properties": { +"optimizationObjective": { +"description": "The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`", +"type": "string" +}, +"optimizationObjectiveConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"description": "Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5)." +}, +"trainingState": { +"description": "The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The engine training is paused.", +"The engine is training." +], +"type": "string" +}, +"type": { +"description": "Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig": { +"description": "Custom threshold for `cvr` optimization_objective.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"properties": { +"targetField": { +"description": "Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.", +"type": "string" +}, +"targetFieldValueFloat": { +"description": "Required. The threshold to be applied to the target (e.g., 0.5).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata": { +"description": "Additional information of a recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"properties": { +"dataState": { +"description": "Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.", +"enum": [ +"DATA_STATE_UNSPECIFIED", +"DATA_OK", +"DATA_ERROR" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The engine has sufficient training data.", +"The engine does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"servingState": { +"description": "Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The engine is not serving.", +"The engine is serving and can be queried.", +"The engine is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig": { +"description": "Additional config specs for a `similar-items` engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata": { +"description": "Metadata related to the progress of the EstimateDataSize operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest": { +"description": "Request message for EstimateBillingService.EstimateDataSize method", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest", +"properties": { +"fileDataSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", +"description": "Structured or unstructured data." +}, +"websiteDataSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", +"description": "Website data." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource": { +"description": "Data source contains files either in Cloud Storage or BigQuery.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"description": "BigQuery input source." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource": { +"description": "Data source is a set of website patterns that we crawl to get the total number of websites.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", +"properties": { +"estimatorUriPatterns": { +"description": "Required. The URI patterns to estimate the data sizes. At most 10 patterns are allowed, otherwise an INVALID_ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern": { +"description": "URI patterns that we use to crawl.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern", +"properties": { +"exactMatch": { +"description": "Whether we infer the generated URI or use the exact provided one.", +"type": "boolean" +}, +"exclusive": { +"description": "Whether the pattern is exclusive or not. If set to true, the pattern is considered exclusive. If unset or set to false, the pattern is considered inclusive by default.", +"type": "boolean" +}, +"providedUriPattern": { +"description": "User provided URI pattern. For example, `foo.com/bar/*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse": { +"description": "Response of the EstimateDataSize request. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse", +"properties": { +"dataSizeBytes": { +"description": "Data size in terms of bytes.", +"format": "int64", +"type": "string" +}, +"documentCount": { +"description": "Total number of documents.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFactChunk": { +"description": "Fact Chunk.", +"id": "GoogleCloudDiscoveryengineV1alphaFactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +}, +"index": { +"description": "The index of this chunk. Currently, only used for the streaming mode.", +"format": "int32", +"type": "integer" +}, +"source": { +"description": "Source from which this fact chunk was retrieved. If it was retrieved from the GroundingFacts provided in the request then this field will contain the index of the specific fact from which this chunk was retrieved.", +"type": "string" +}, +"sourceMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "More fine-grained information for the source reference.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse": { +"description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites containing the site verification status.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFhirStoreSource": { +"description": "Cloud FhirStore source import data from.", +"id": "GoogleCloudDiscoveryengineV1alphaFhirStoreSource", +"properties": { +"fhirStore": { +"description": "Required. The full resource name of the FHIR store to import data from, in the format of `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the FhirStore export to a specific Cloud Storage directory.", +"type": "string" +}, +"resourceTypes": { +"description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateFromLatestPredefinedSchema": { +"description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFieldConfig": { +"description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", +"id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", +"properties": { +"advancedSiteSearchDataSources": { +"description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", +"items": { +"enum": [ +"ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", +"METATAGS", +"PAGEMAP", +"URI_PATTERN_MAPPING", +"SCHEMA_ORG" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrieve value from meta tag.", +"Retrieve value from page map.", +"Retrieve value from the attributes set by SiteSearchEngineService.SetUriPatternDocumentData API.", +"Retrieve value from schema.org data." +], +"type": "string" +}, +"type": "array" +}, +"completableOption": { +"description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"COMPLETABLE_OPTION_UNSPECIFIED", +"COMPLETABLE_ENABLED", +"COMPLETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Completable option enabled for a schema field.", +"Completable option disabled for a schema field." +], +"type": "string" +}, +"dynamicFacetableOption": { +"description": "If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset, the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that support setting dynamic facetable options. For those fields that do not support setting dynamic facetable options, such as `object` and `boolean`, the server will skip dynamic facetable option setting, and setting dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", +"DYNAMIC_FACETABLE_ENABLED", +"DYNAMIC_FACETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Dynamic facetable option enabled for a schema field.", +"Dynamic facetable option disabled for a schema field." +], +"type": "string" +}, +"fieldPath": { +"description": "Required. Field path of the schema field. For example: `title`, `description`, `release_info.release_year`.", +"type": "string" +}, +"fieldType": { +"description": "Output only. Raw type of the field.", +"enum": [ +"FIELD_TYPE_UNSPECIFIED", +"OBJECT", +"STRING", +"NUMBER", +"INTEGER", +"BOOLEAN", +"GEOLOCATION", +"DATETIME" +], +"enumDescriptions": [ +"Field type is unspecified.", +"Field value type is Object.", +"Field value type is String.", +"Field value type is Number.", +"Field value type is Integer.", +"Field value type is Boolean.", +"Field value type is Geolocation. Geolocation is expressed as an object with the following keys: * `id`: a string representing the location id * `longitude`: a number representing the longitude coordinate of the location * `latitude`: a number repesenting the latitude coordinate of the location * `address`: a string representing the full address of the location `latitude` and `longitude` must always be provided together. At least one of a) `address` or b) `latitude`-`longitude` pair must be provided.", +"Field value type is Datetime. Datetime can be expressed as either: * a number representing milliseconds-since-the-epoch * a string representing milliseconds-since-the-epoch. e.g. `\"1420070400001\"` * a string representing the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date or date and time. e.g. `\"2015-01-01\"` or `\"2015-01-01T12:10:30Z\"`" +], +"readOnly": true, +"type": "string" +}, +"indexableOption": { +"description": "If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it can be filtered or faceted in SearchService.Search. If indexable_option is unset, the server behavior defaults to INDEXABLE_DISABLED for fields that support setting indexable options. For those fields that do not support setting indexable options, such as `object` and `boolean` and key properties, the server will skip indexable_option setting, and setting indexable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"INDEXABLE_OPTION_UNSPECIFIED", +"INDEXABLE_ENABLED", +"INDEXABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Indexable option enabled for a schema field.", +"Indexable option disabled for a schema field." +], +"type": "string" +}, +"keyPropertyType": { +"description": "Output only. Type of the key property that this field is mapped to. Empty string if this is not annotated as mapped to a key property. Example types are `title`, `description`. Full list is defined by `keyPropertyMapping` in the schema field annotation. If the schema field has a `KeyPropertyMapping` annotation, `indexable_option` and `searchable_option` of this field cannot be modified.", +"readOnly": true, +"type": "string" +}, +"metatagName": { +"description": "Optional. The metatag name found in the HTML page. If user defines this field, the value of this metatag name will be used to extract metatag. If the user does not define this field, the FieldConfig.field_path will be used to extract metatag.", +"type": "string" +}, +"recsFilterableOption": { +"description": "If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED but the field type is numerical, field values are not filterable by text queries in RecommendationService.Recommend. Only textual fields are supported. If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED for fields that support setting filterable options. When a field set to [FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result is returned.", +"enum": [ +"FILTERABLE_OPTION_UNSPECIFIED", +"FILTERABLE_ENABLED", +"FILTERABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Filterable option enabled for a schema field.", +"Filterable option disabled for a schema field." +], +"type": "string" +}, +"retrievableOption": { +"description": "If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the search results. If retrievable_option is unset, the server behavior defaults to RETRIEVABLE_DISABLED for fields that support setting retrievable options. For those fields that do not support setting retrievable options, such as `object` and `boolean`, the server will skip retrievable option setting, and setting retrievable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"RETRIEVABLE_OPTION_UNSPECIFIED", +"RETRIEVABLE_ENABLED", +"RETRIEVABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrievable option enabled for a schema field.", +"Retrievable option disabled for a schema field." +], +"type": "string" +}, +"schemaOrgPaths": { +"description": "Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchableOption": { +"description": "If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"SEARCHABLE_OPTION_UNSPECIFIED", +"SEARCHABLE_ENABLED", +"SEARCHABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Searchable option enabled for a schema field.", +"Searchable option disabled for a schema field." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFirestoreSource": { +"description": "Firestore source import data from.", +"id": "GoogleCloudDiscoveryengineV1alphaFirestoreSource", +"properties": { +"collectionId": { +"description": "Required. The Firestore collection (or entity) to copy the data from with a length limit of 1,500 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The Firestore database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"projectId": { +"description": "The project ID that the Cloud SQL source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGcsSource": { +"description": "Cloud Storage location for input content.", +"id": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", +"type": "string" +}, +"inputUris": { +"description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest": { +"description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest", +"properties": { +"contents": { +"description": "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.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent" +}, +"type": "array" +}, +"generationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec", +"description": "Content generation specification." +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec", +"description": "Grounding specification." +}, +"systemInstruction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", +"description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration": { +"description": "Describes the options to customize dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration", +"properties": { +"predictor": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"description": "Specification for the predictor for dynamic retrieval." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { +"description": "Describes the predictor settings for dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"properties": { +"threshold": { +"description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor to be used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Automatically choose the best version of the retrieval predictor.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec": { +"description": "Content generation specification.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec", +"properties": { +"frequencyPenalty": { +"description": "If specified, custom value for frequency penalty will be used.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", +"type": "string" +}, +"maxOutputTokens": { +"description": "If specified, custom value for max output tokens will be used.", +"format": "int32", +"type": "integer" +}, +"modelId": { +"description": "Specifies which Vertex model id to use for generation.", +"type": "string" +}, +"presencePenalty": { +"description": "If specified, custom value for presence penalty will be used.", +"format": "float", +"type": "number" +}, +"seed": { +"description": "If specified, custom value for the seed will be used.", +"format": "int32", +"type": "integer" +}, +"temperature": { +"description": "If specified, custom value for the temperature will be used.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "If specified, custom value for top-k sampling will be used.", +"format": "int32", +"type": "integer" +}, +"topP": { +"description": "If specified, custom value for nucleus sampling will be used.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource": { +"description": "Grounding source.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource", +"properties": { +"googleSearchSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"description": "If set, grounding is performed with Google Search." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource", +"description": "If set, grounding is performed with inline content." +}, +"searchSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource", +"description": "If set, grounding is performed with Vertex AI Search." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { +"description": "Google Search config parameters.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"properties": { +"dynamicRetrievalConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration", +"description": "Optional. Specifies the dynamic retrieval configuration for the given source." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource": { +"description": "Message to be used for grounding based on inline content.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", +"type": "object" +}, +"groundingFacts": { +"description": "List of facts to be used for grounding.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundingFact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource": { +"description": "Message to be used for grounding with Vertex AI Search.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource", +"properties": { +"filter": { +"description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", +"type": "string" +}, +"maxResultCount": { +"description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", +"format": "int32", +"type": "integer" +}, +"safeSearch": { +"description": "If set, safe search is enabled in Vertex AI Search requests.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec", +"properties": { +"groundingSources": { +"description": "Grounding sources.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse": { +"description": "Response for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse", +"properties": { +"candidates": { +"description": "Generated candidates.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate": { +"description": "A response candidate generated from the model.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate", +"properties": { +"content": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", +"description": "Content of the candidate." +}, +"groundingMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata", +"description": "Grounding metadata for the generated content." +}, +"groundingScore": { +"description": "The overall grounding score for the candidate, in the range of [0, 1].", +"format": "float", +"type": "number" +}, +"index": { +"description": "Index of the candidate.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata": { +"description": "Citation for the generated content.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata", +"properties": { +"groundingSupport": { +"description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" +}, +"type": "array" +}, +"retrievalMetadata": { +"description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" +}, +"type": "array" +}, +"searchEntryPoint": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"description": "Google search entry for the following-up web searches." +}, +"supportChunks": { +"description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFactChunk" +}, +"type": "array" +}, +"webSearchQueries": { +"description": "Web search queries for the following-up web search.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { +"description": "Describes the metadata about dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"properties": { +"predictorMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"description": "Metadata for the dynamic retrieval predictor." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { +"description": "Describes the metadata about the dynamic retrieval predictor.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"properties": { +"prediction": { +"description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor which was used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Unspecified version, should never be used.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { +"description": "Grounding info for a claim in the candidate and its support.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", +"properties": { +"claimText": { +"description": "Text for the claim in the candidate. Always provided when a support is found.", +"type": "string" +}, +"supportChunkIndices": { +"description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"supportScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { +"description": "Describes the metadata associated with a retrieval step.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", +"properties": { +"dynamicRetrievalMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"description": "Metadata for dynamic retrieval." +}, +"source": { +"description": "Describes the source to which the metadata is referring to.", +"enum": [ +"SOURCE_UNSPECIFIED", +"VERTEX_AI_SEARCH", +"GOOGLE_SEARCH", +"INLINE_CONTENT", +"GOOGLE_MAPS" +], +"enumDescriptions": [ +"Unspecified source.", +"Vertex AI search.", +"Google Search.", +"User inline provided content.", +"Google Maps." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { +"description": "Google search entry point.", +"id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"properties": { +"renderedContent": { +"description": "Web content snippet that can be embedded in a web page or an app webview.", +"type": "string" +}, +"sdkBlob": { +"description": "Base64 encoded JSON representing array of tuple.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { +"description": "Request for GetSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", +"properties": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.GetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse", +"properties": { +"documentDataMap": { +"additionalProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"description": "Document data keyed by URI pattern. For example: document_data_map = { \"www.url1.com/*\": { \"Categories\": [\"category1\", \"category2\"] }, \"www.url2.com/*\": { \"Categories\": [\"category3\"] } }", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent": { +"description": "Base structured datatype containing multi-part content of a message.", +"id": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", +"properties": { +"parts": { +"description": "Ordered `Parts` that constitute a single message.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart" +}, +"type": "array" +}, +"role": { +"description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart": { +"description": "Single part of content.", +"id": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart", +"properties": { +"text": { +"description": "Inline text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGroundingFact": { +"description": "Grounding Fact.", +"id": "GoogleCloudDiscoveryengineV1alphaGroundingFact", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on.", +"type": "object" +}, +"factText": { +"description": "Text content of the fact. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGuidedSearchSpec": { +"description": "Defines guided search spec.", +"id": "GoogleCloudDiscoveryengineV1alphaGuidedSearchSpec", +"properties": { +"enableRefinementAttributes": { +"description": "Whether or not to enable and include refinement attributes in gudied search result.", +"type": "boolean" +}, +"enableRelatedQuestions": { +"description": "Whether or not to enable and include related questions in search response.", +"type": "boolean" +}, +"maxRelatedQuestions": { +"description": "Max number of related questions to be returned. The valid range is [1, 5]. If enable_related_questions is true, the default value is 3.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { +"description": "The configuration for the identity data synchronization runs.", +"id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"properties": { +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"refreshInterval": { +"description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfig": { +"description": "Identity Provider Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"properties": { +"externalIdpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"description": "External Identity provider config." +}, +"idpType": { +"description": "Identity provider type configured.", +"enum": [ +"IDP_TYPE_UNSPECIFIED", +"GSUITE", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Default value. ACL search not enabled.", +"Google 1P provider.", +"Third party provider." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig": { +"description": "Third party IDP Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"properties": { +"workforcePoolName": { +"description": "Workforce pool name. Example: \"locations/global/workforcePools/pool_id\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.ImportCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequestInlineSource", +"description": "The Inline source for suggestion entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequestInlineSource": { +"description": "The inline source for CompletionSuggestions.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsRequestInlineSource", +"properties": { +"suggestions": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest": { +"description": "Request message for Import methods.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest", +"properties": { +"alloyDbSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAlloyDbSource", +"description": "AlloyDB input source." +}, +"autoGenerateIds": { +"description": "Whether to automatically generate IDs for the documents if absent. If set to `true`, Document.ids are automatically generated based on the hash of the payload, where IDs may not be consistent during multiple imports. In which case ReconciliationMode.FULL is highly recommended to avoid duplicate contents. If unset or set to `false`, Document.ids have to be specified using id_field, otherwise, documents without IDs fail to be imported. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "boolean" +}, +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"description": "BigQuery input source." +}, +"bigtableSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigtableSource", +"description": "Cloud Bigtable input source." +}, +"cloudSqlSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCloudSqlSource", +"description": "Cloud SQL input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"fhirStoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFhirStoreSource", +"description": "FhirStore input source." +}, +"firestoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFirestoreSource", +"description": "Firestore input source." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"idField": { +"description": "The field indicates the ID field or column to be used as unique IDs of the documents. For GcsSource it is the key of the JSON field. For instance, `my_id` for JSON `{\"my_id\": \"some_uuid\"}`. For others, it may be the column name of the table where the unique ids are stored. The values of the JSON field or the table column are used as the Document.ids. The JSON field or the table column must be of string type, and the values must be set as valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) with 1-63 characters. Otherwise, documents without valid IDs fail to be imported. Only set this field when auto_generate_ids is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown. If it is unset, a default value `_id` is used when importing from the allowed data sources. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "string" +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource", +"description": "The Inline source for the input content for documents." +}, +"reconciliationMode": { +"description": "The mode of reconciliation between existing documents and the documents to be imported. Defaults to ReconciliationMode.INCREMENTAL.", +"enum": [ +"RECONCILIATION_MODE_UNSPECIFIED", +"INCREMENTAL", +"FULL" +], +"enumDescriptions": [ +"Defaults to `INCREMENTAL`.", +"Inserts new documents or updates existing documents.", +"Calculates diff and replaces the entire document dataset. Existing documents may be deleted if they are not present in the source location." +], +"type": "string" +}, +"spannerSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSpannerSource", +"description": "Spanner input source." +}, +"updateMask": { +"description": "Indicates which fields in the provided imported documents to update. If not set, the default is to update all fields.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource": { +"description": "The inline source for the input config for ImportDocuments method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of documents to update/create. Each document must have a valid Document.id. Recommended max of 100 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequest": { +"description": "Request message for SampleQueryService.ImportSampleQueries method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequestInlineSource", +"description": "The Inline source for sample query entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequestInlineSource": { +"description": "The inline source for SampleQuerys.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequestInlineSource", +"properties": { +"sampleQueries": { +"description": "Required. A list of SampleQuerys to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content. Only 1 file can be specified that contains all entries to import. Supported values `gcs_source.schema` for autocomplete suggestion deny list entry imports: * `suggestion_deny_list` (default): One JSON [SuggestionDenyListEntry] per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource", +"description": "The Inline source for the input content for suggestion deny list entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource": { +"description": "The inline source for SuggestionDenyListEntry.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource", +"properties": { +"entries": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest": { +"description": "Request message for the ImportUserEvents request.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import. Cannot be set for inline user event imports." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequestInlineSource", +"description": "The Inline source for the input content for UserEvents." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsRequestInlineSource": { +"description": "The inline source for the input config for ImportUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequestInlineSource", +"properties": { +"userEvents": { +"description": "Required. A list of user events to import. Recommended max of 10k items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1alphaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListChunksResponse": { +"description": "Response message for ChunkService.ListChunks method.", +"id": "GoogleCloudDiscoveryengineV1alphaListChunksResponse", +"properties": { +"chunks": { +"description": "The Chunks.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListChunksRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse": { +"description": "Response message for CmekConfigService.ListCmekConfigs method.", +"id": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse", +"properties": { +"cmekConfigs": { +"description": "All the customer's CmekConfigs.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListCollectionsResponse": { +"description": "Response message for CollectionService.ListCollections method.", +"id": "GoogleCloudDiscoveryengineV1alphaListCollectionsResponse", +"properties": { +"collections": { +"description": "The Collections.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCollection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListCollectionsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse": { +"description": "Response for DataConnectorService.ListConnectorRuns method.", +"id": "GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse", +"properties": { +"connectorRuns": { +"description": "List of ConnectorRuns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRun" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListControlsResponse": { +"description": "Response for ListControls method.", +"id": "GoogleCloudDiscoveryengineV1alphaListControlsResponse", +"properties": { +"controls": { +"description": "All the Controls for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControl" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListConversationsResponse": { +"description": "Response for ListConversations method.", +"id": "GoogleCloudDiscoveryengineV1alphaListConversationsResponse", +"properties": { +"conversations": { +"description": "All the Conversations for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse": { +"description": "Response message for SearchTuningService.ListCustomModels method.", +"id": "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse", +"properties": { +"models": { +"description": "List of custom tuning models.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListDataStoresResponse": { +"description": "Response message for DataStoreService.ListDataStores method.", +"id": "GoogleCloudDiscoveryengineV1alphaListDataStoresResponse", +"properties": { +"dataStores": { +"description": "All the customer's DataStores.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDataStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListDocumentsResponse": { +"description": "Response message for DocumentService.ListDocuments method.", +"id": "GoogleCloudDiscoveryengineV1alphaListDocumentsResponse", +"properties": { +"documents": { +"description": "The Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDocumentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListEnginesResponse": { +"description": "Response message for EngineService.ListEngines method.", +"id": "GoogleCloudDiscoveryengineV1alphaListEnginesResponse", +"properties": { +"engines": { +"description": "All the customer's Engines.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngine" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse": { +"description": "Response message for EvaluationService.ListEvaluationResults method.", +"id": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse", +"properties": { +"evaluationResults": { +"description": "The evaluation results for the SampleQuerys.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult": { +"description": "Represents the results of an evaluation for a single SampleQuery.", +"id": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult", +"properties": { +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, for a given SampleQuery.", +"readOnly": true +}, +"sampleQuery": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery", +"description": "Output only. The SampleQuery that was evaluated.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListEvaluationsResponse": { +"description": "Response message for EvaluationService.ListEvaluations method.", +"id": "GoogleCloudDiscoveryengineV1alphaListEvaluationsResponse", +"properties": { +"evaluations": { +"description": "The Evaluations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse": { +"description": "Response message for SampleQueryService.ListSampleQueries method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSampleQueriesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sampleQueries": { +"description": "The SampleQuerys.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSampleQuerySetsResponse": { +"description": "Response message for SampleQuerySetService.ListSampleQuerySets method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSampleQuerySetsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSampleQuerySetsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sampleQuerySets": { +"description": "The SampleQuerySets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSchemasResponse": { +"description": "Response message for SchemaService.ListSchemas method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSchemasResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSchemasRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"schemas": { +"description": "The Schemas.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListServingConfigsResponse": { +"description": "Response for ListServingConfigs method.", +"id": "GoogleCloudDiscoveryengineV1alphaListServingConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"servingConfigs": { +"description": "All the ServingConfigs for a given dataStore.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { +"description": "Request for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", +"properties": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"type": "string" +}, +"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: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { +"description": "Response for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"sessions": { +"description": "All the Sessions for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.ListTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaListTargetSitesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaMediaInfo": { +"description": "Media-specific user event information.", +"id": "GoogleCloudDiscoveryengineV1alphaMediaInfo", +"properties": { +"mediaProgressDuration": { +"description": "The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90.", +"format": "google-duration", +"type": "string" +}, +"mediaProgressPercentage": { +"description": "Media progress should be computed using only the media_progress_duration relative to the media total length. This value must be between `[0, 1.0]` inclusive. If this is not a playback or the progress cannot be computed (e.g. ongoing livestream), this field should be unset.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest": { +"description": "Request message for CrawlRateManagementService.ObtainCrawlRate method.", +"id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest", +"properties": { +"crawlRateScope": { +"description": "Required. The scope of the crawl rate that the user wants to monitor. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", +"id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", +"properties": { +"dedicatedCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"description": "The historical dedicated crawl rate timeseries data, used for monitoring." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"organicCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"description": "The historical organic crawl rate timeseries data, used for monitoring." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { +"description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", +"id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"properties": { +"googleOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." +}, +"vertexAiOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPageInfo": { +"description": "Detailed page information.", +"id": "GoogleCloudDiscoveryengineV1alphaPageInfo", +"properties": { +"pageCategory": { +"description": "The most specific category associated with a category page. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales > 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"pageviewId": { +"description": "A unique ID of a web page view. This should be kept the same for all user events triggered from the same pageview. For example, an item detail page view could trigger multiple events as the user is browsing the page. The `pageview_id` property should be kept the same for all these events so that they can be grouped together properly. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.", +"type": "string" +}, +"referrerUri": { +"description": "The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. However, some browser privacy restrictions may cause this field to be empty.", +"type": "string" +}, +"uri": { +"description": "Complete URL (window.location.href) of the user's current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPanelInfo": { +"description": "Detailed panel information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1alphaPanelInfo", +"properties": { +"displayName": { +"description": "The display name of the panel.", +"type": "string" +}, +"documents": { +"description": "Optional. The document IDs associated with this panel.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentInfo" +}, +"type": "array" +}, +"panelId": { +"description": "Required. The panel ID.", +"type": "string" +}, +"panelPosition": { +"description": "The ordered position of the panel, if shown to the user with other panels. If set, then total_panels must also be set.", +"format": "int32", +"type": "integer" +}, +"totalPanels": { +"description": "The total number of panels, including this one, shown to the user. Must be set if panel_position is set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPauseEngineRequest": { +"description": "Request for pausing training of an engine.", +"id": "GoogleCloudDiscoveryengineV1alphaPauseEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPrincipal": { +"description": "Principal identifier of a user or a group.", +"id": "GoogleCloudDiscoveryengineV1alphaPrincipal", +"properties": { +"groupId": { +"description": "Group identifier. For Google Workspace user account, group_id should be the google workspace group email. For non-google identity provider user account, group_id is the mapped group identifier configured during the workforcepool config.", +"type": "string" +}, +"userId": { +"description": "User identifier. For Google Workspace user account, user_id should be the google workspace user email. For non-google identity provider user account, user_id is the mapped user identifier configured during the workforcepool config.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProcessedDocument": { +"description": "Document captures all raw metadata information of items to be recommended or searched.", +"id": "GoogleCloudDiscoveryengineV1alphaProcessedDocument", +"properties": { +"document": { +"description": "Required. Full resource name of the referenced document, in the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", +"type": "string" +}, +"jsonData": { +"description": "The JSON string representation of the processed document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1alphaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest": { +"description": "Request for ProjectService.ProvisionProject method.", +"id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest", +"properties": { +"acceptDataUseTerms": { +"description": "Required. Set to `true` to specify that caller has read and would like to give consent to the [Terms for data use](https://cloud.google.com/retail/data-use-terms).", +"type": "boolean" +}, +"dataUseTermsVersion": { +"description": "Required. The version of the [Terms for data use](https://cloud.google.com/retail/data-use-terms) that caller has read and would like to give consent to. Acceptable version is `2022-11-23`, and this may change over time.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequest": { +"description": "Request message for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeErrorConfig", +"description": "The desired location of errors incurred during the purge." +}, +"filter": { +"description": "Required. Filter matching documents to purge. Only currently supported value is `*` (all items).", +"type": "string" +}, +"force": { +"description": "Actually performs the purge. If `force` is set to false, return the expected purge count without deleting any documents.", +"type": "boolean" +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", +"description": "Cloud Storage location for the input content. Supported `data_schema`: * `document_id`: One valid Document.id per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequestInlineSource", +"description": "Inline source for the input content for purge." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequestInlineSource": { +"description": "The inline source for the input config for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of full resource name of documents to purge. In the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. Recommended max of 100 items.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeErrorConfig": { +"description": "Configuration of destination for Purge related errors.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for purge errors. This must be an empty, existing Cloud Storage directory. Purge errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata": { +"description": "Metadata related to the progress of the PurgeUserEvents operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest": { +"description": "Request message for PurgeUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest", +"properties": { +"filter": { +"description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", +"type": "string" +}, +"force": { +"description": "The `force` field is currently not supported. Purge user event requests will permanently delete all purgeable events. Once the development is complete: If `force` is set to false, the method will return the expected purge count without deleting any user events. This field will default to false if not included in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse": { +"description": "Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse", +"properties": { +"purgeCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQuery": { +"description": "Defines a user inputed query.", +"id": "GoogleCloudDiscoveryengineV1alphaQuery", +"properties": { +"queryId": { +"description": "Unique Id for the query.", +"type": "string" +}, +"text": { +"description": "Plain text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRankRequest": { +"description": "Request message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1alphaRankRequest", +"properties": { +"ignoreRecordDetailsInResponse": { +"description": "If true, the response will contain only record ID and score. By default, it is false, the response will contain record details.", +"type": "boolean" +}, +"model": { +"description": "The identifier of the model to use. It is one of: * `semantic-ranker-512@latest`: Semantic ranking model with maxiumn input token size 512. It is set to `semantic-ranker-512@latest` by default if unspecified.", +"type": "string" +}, +"query": { +"description": "The query to use.", +"type": "string" +}, +"records": { +"description": "Required. A list of records to rank. At most 200 records to rank.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRankingRecord" +}, +"type": "array" +}, +"topN": { +"description": "The number of results to return. If this is unset or no bigger than zero, returns all results.", +"format": "int32", +"type": "integer" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRankResponse": { +"description": "Response message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1alphaRankResponse", +"properties": { +"records": { +"description": "A list of records sorted by descending score.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRankingRecord" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRankingRecord": { +"description": "Record message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1alphaRankingRecord", +"properties": { +"content": { +"description": "The content of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +}, +"id": { +"description": "The unique ID to represent the record.", +"type": "string" +}, +"score": { +"description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", +"format": "float", +"type": "number" +}, +"title": { +"description": "The title of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecommendRequest": { +"description": "Request message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecommendRequest", +"properties": { +"filter": { +"description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Set this property to the number of recommendation results needed. If zero, the service chooses a reasonable default. The maximum allowed value is 100. Values above 100 are set to 100.", +"format": "int32", +"type": "integer" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional domain specific parameters for the recommendations. Allowed values: * `returnDocument`: Boolean. If set to `true`, the associated Document object is returned in RecommendResponse.RecommendationResult.document. * `returnScore`: Boolean. If set to true, the recommendation score corresponding to each returned Document is set in RecommendResponse.RecommendationResult.metadata. The given score indicates the probability of a Document conversion given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to `false`, the service returns generic (unfiltered) popular Documents instead of empty if your filter blocks all recommendation results. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be one of: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` This gives request-level control and adjusts recommendation results based on Document category. * `attributeFilteringSyntax`: Boolean. False by default. If set to true, the `filter` field is interpreted according to the new, attribute-based syntax.", +"type": "object" +}, +"userEvent": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent", +"description": "Required. Context about the user, what they are looking at and what action they took to trigger the Recommend request. Note that this user event detail won't be ingested to userEvent logs. Thus, a separate userEvent write request is required for event logging. Don't set UserEvent.user_pseudo_id or UserEvent.user_info.user_id to the same fixed ID for different users. If you are trying to receive non-personalized recommendations (not recommended; this can negatively impact model performance), instead set UserEvent.user_pseudo_id to a random unique ID and leave UserEvent.user_info.user_id unset." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"validateOnly": { +"description": "Use validate only mode for this recommendation query. If set to `true`, a fake model is used that returns arbitrary Document IDs. Note that the validate only mode should only be used for testing the API, or if the model is not ready.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecommendResponse": { +"description": "Response message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecommendResponse", +"properties": { +"attributionToken": { +"description": "A unique attribution token. This should be included in the UserEvent logs resulting from this recommendation, which enables accurate attribution of recommendation model performance.", +"type": "string" +}, +"missingIds": { +"description": "IDs of documents in the request that were missing from the default Branch associated with the requested ServingConfig.", +"items": { +"type": "string" +}, +"type": "array" +}, +"results": { +"description": "A list of recommended Documents. The order represents the ranking (from the most relevant Document to the least).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecommendResponseRecommendationResult" +}, +"type": "array" +}, +"validateOnly": { +"description": "True if RecommendRequest.validate_only was set.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecommendResponseRecommendationResult": { +"description": "RecommendationResult represents a generic recommendation result with associated metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaRecommendResponseRecommendationResult", +"properties": { +"document": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument", +"description": "Set if `returnDocument` is set to true in RecommendRequest.params." +}, +"id": { +"description": "Resource ID of the recommended Document.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional Document metadata or annotations. Possible values: * `score`: Recommendation score in double value. Is set if `returnScore` is set to true in RecommendRequest.params.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"invalidUris": { +"description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"invalidUrisCount": { +"description": "Total number of unique URIs in the request that have invalid format.", +"format": "int32", +"type": "integer" +}, +"pendingCount": { +"description": "Total number of URIs that have yet to be crawled.", +"format": "int32", +"type": "integer" +}, +"quotaExceededCount": { +"description": "Total number of URIs that were rejected due to insufficient indexing resources.", +"format": "int32", +"type": "integer" +}, +"successCount": { +"description": "Total number of URIs that have been crawled so far.", +"format": "int32", +"type": "integer" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +}, +"urisNotMatchingTargetSites": { +"description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"urisNotMatchingTargetSitesCount": { +"description": "Total number of URIs that don't match any TargetSites.", +"format": "int32", +"type": "integer" +}, +"validUrisCount": { +"description": "Total number of unique URIs in the request that are not in invalid_uris.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest": { +"description": "Request message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest", +"properties": { +"siteCredential": { +"description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", +"type": "string" +}, +"uris": { +"description": "Required. List of URIs to crawl. At most 10K URIs are supported, otherwise an INVALID_ARGUMENT error is thrown. Each URI should match at least one TargetSite in `site_search_engine`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse": { +"description": "Response message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse", +"properties": { +"failedUris": { +"description": "URIs that were not crawled before the LRO terminated.", +"items": { +"type": "string" +}, +"type": "array" +}, +"failureSamples": { +"description": "Details for a sample of up to 10 `failed_uris`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo": { +"description": "Details about why a particular URI failed to be crawled. Each FailureInfo contains one FailureReason per CorpusType.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo", +"properties": { +"failureReasons": { +"description": "List of failure reasons by corpus type (e.g. desktop, mobile).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason" +}, +"type": "array" +}, +"uri": { +"description": "URI that failed to be crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason": { +"description": "Details about why crawling failed for a particular CorpusType, e.g., DESKTOP and MOBILE crawling may fail for different reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason", +"properties": { +"corpusType": { +"description": "DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.", +"enum": [ +"CORPUS_TYPE_UNSPECIFIED", +"DESKTOP", +"MOBILE" +], +"enumDescriptions": [ +"Default value.", +"Denotes a crawling attempt for the desktop version of a page.", +"Denotes a crawling attempt for the mobile version of a page." +], +"type": "string" +}, +"errorMessage": { +"description": "Reason why the URI was not crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest": { +"description": "Request message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. The user can remove the dedicated crawl rate for a crawl_rate_scope they own, and Google will fall back to organic crawl, and the crawl rate will be determined by Google.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest", +"properties": { +"crawlRateScope": { +"description": "Required. The scope of the crawl rate change. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaReply": { +"description": "Defines a reply message to user.", +"id": "GoogleCloudDiscoveryengineV1alphaReply", +"properties": { +"references": { +"deprecated": true, +"description": "References in the reply.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaReplyReference" +}, +"type": "array" +}, +"reply": { +"deprecated": true, +"description": "DEPRECATED: use `summary` instead. Text reply.", +"type": "string" +}, +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummary", +"description": "Summary based on search results." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaReplyReference": { +"deprecated": true, +"description": "Defines reference in reply.", +"id": "GoogleCloudDiscoveryengineV1alphaReplyReference", +"properties": { +"anchorText": { +"description": "Anchor text.", +"type": "string" +}, +"end": { +"description": "Anchor text end index.", +"format": "int32", +"type": "integer" +}, +"start": { +"description": "Anchor text start index.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "URI link reference.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest": { +"description": "Request for ReportConsentChange method.", +"id": "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest", +"properties": { +"consentChangeAction": { +"description": "Required. Whether customer decides to accept or decline service term. At this moment, only accept action is supported.", +"enum": [ +"CONSENT_CHANGE_ACTION_UNSPECIFIED", +"ACCEPT" +], +"enumDescriptions": [ +"Invalid action, user must specify accept/decline", +"User accepts service terms." +], +"type": "string" +}, +"serviceTermId": { +"description": "Required. The unique identifier of the terms of service to update. Available term ids: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this service term id, the acceptable service_term_version to provide is `2022-11-23`.", +"type": "string" +}, +"serviceTermVersion": { +"description": "Required. The version string of the terms of service to update.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRequirement": { +"description": "A data requirement.", +"id": "GoogleCloudDiscoveryengineV1alphaRequirement", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"description": "The condition for evaluating the requirement result. Variables in the expression should be provided by `metrics_bindings` or `threshold_bindings`. Where `metrics_bindings` are used for computed metrics and `threshold_bindings` are used to define thresholds for corresponding `metric_bindings`." +}, +"description": { +"description": "The description of the requirement.", +"type": "string" +}, +"displayName": { +"description": "The name of the requirement.", +"type": "string" +}, +"metricBindings": { +"description": "A list of the metric bindings to be used in `condition`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRequirementMetricBinding" +}, +"type": "array" +}, +"severity": { +"description": "The severity of errors if the requirement is not met. It must be ordered from the most strict to the least strict. Examples: * `BLOCKING` * `CRITICAL` * `WARNING` All thresholds in the requirement must have all the severity here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"thresholdBindings": { +"description": "A list of threshold bindings to be used in `condition`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBinding" +}, +"type": "array" +}, +"type": { +"description": "The requirement type, used as an identifier. Must be unique. The type should prefix with service name to avoid possible collision. It's encouraged to use natural hierarchical grouping for similar requirements. Examples: * `library.googleapis.com/books/min_available_books` * `discoveryengine.googleapis.com/media_rec/recommended_for_you/conversion_rate`", +"type": "string" +}, +"violationSamplesBindings": { +"description": "A list of the metric bindings to be used in `condition`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRequirementViolationSamplesBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRequirementMetricBinding": { +"description": "Specifies a metrics query and bind its result to a variable which will be used in the `condition`.", +"id": "GoogleCloudDiscoveryengineV1alphaRequirementMetricBinding", +"properties": { +"category": { +"description": "The category of the metric's target resource. Example: \"Events\"", +"type": "string" +}, +"description": { +"description": "Human readable description of the corresponding metric filter.", +"type": "string" +}, +"metricFilter": { +"description": "The filter string used for metrics query. Example: \"metric.type = \\\"discoveryengine.googleapis.com/events/day_count\\\" AND \" \"metric.conditions.time_range = \\\"NINETY_DAYS\\\"\"", +"type": "string" +}, +"resourceType": { +"description": "The resource being monitored for the metric.", +"type": "string" +}, +"variableId": { +"description": "The variable id to be referenced in `condition`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRequirementThresholdBinding": { +"description": "Specifies a multi-level threshold to apply to apply to a `metric_bindings` in the `condition` CEL expression.", +"id": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBinding", +"properties": { +"description": { +"description": "Human readable description of the corresponding threshold and sub-requirement.", +"type": "string" +}, +"thresholdValues": { +"description": "The values of the threshold. The values should be ordered from the most strict to the least strict.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue" +}, +"type": "array" +}, +"variableId": { +"description": "The variable id to be referenced in `condition`. Must be unique across all `metric_bindings` and `threshold_bindings`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue": { +"description": "Specifies a threshold value for a given severity.", +"id": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue", +"properties": { +"severity": { +"description": "The severity of errors if the threshold is not met. It should be one of the `severity` fields in the requirement.", +"type": "string" +}, +"value": { +"description": "The value of the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRequirementViolationSamplesBinding": { +"description": "Specifies a samples query and bind its result to a variable which will be used in the `condition`.", +"id": "GoogleCloudDiscoveryengineV1alphaRequirementViolationSamplesBinding", +"properties": { +"description": { +"description": "Description of this sample binding. Used by the UI to render user friendly descriptions for each requirement condition. Should be less than 128 characters long.", +"type": "string" +}, +"sampleFilter": { +"description": "The filter string used for samples query. Example: \"sample.type = \\\"retail.googleapis.com/user_event\\\" AND \" \"sample.labels.event_type = \\\"PURCHASE\\\" \"", +"type": "string" +}, +"variableId": { +"description": "The variable id to be referenced in `condition`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaResumeEngineRequest": { +"description": "Request for resuming training of an engine.", +"id": "GoogleCloudDiscoveryengineV1alphaResumeEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"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.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSampleQuery": { +"description": "Sample Query captures metadata to be used for evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaSampleQuery", +"properties": { +"createTime": { +"description": "Output only. Timestamp the SampleQuery was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The full resource name of the sample query, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"queryEntry": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntry", +"description": "The query entry." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntry": { +"description": "Query Entry captures metadata to be used for search evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntry", +"properties": { +"query": { +"description": "Required. The query.", +"type": "string" +}, +"targets": { +"description": "List of targets for the query.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntryTarget" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntryTarget": { +"description": "Defines the parameters of the query's expected outcome.", +"id": "GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntryTarget", +"properties": { +"pageNumbers": { +"description": "Expected page numbers of the target. Each page number must be non negative.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"score": { +"description": "Relevance score of the target.", +"format": "double", +"type": "number" +}, +"uri": { +"description": "Expected uri of the target. This field must be a UTF-8 encoded string with a length limit of 2048 characters. Example of valid uris: `https://example.com/abc`, `gcs://example/example.pdf`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSampleQuerySet": { +"description": "A SampleQuerySet is the parent resource of SampleQuery, and contains the configurations shared by all SampleQuery under it.", +"id": "GoogleCloudDiscoveryengineV1alphaSampleQuerySet", +"properties": { +"createTime": { +"description": "Output only. Timestamp the SampleQuerySet was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the SampleQuerySet.", +"type": "string" +}, +"displayName": { +"description": "Required. The sample query set display name. This field must be a UTF-8 encoded string with a length limit of 128 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The full resource name of the SampleQuerySet, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1alphaSchema", +"properties": { +"fieldConfigs": { +"description": "Output only. Configurations for fields of the schema.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFieldConfig" +}, +"readOnly": true, +"type": "array" +}, +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchInfo": { +"description": "Detailed search information.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchInfo", +"properties": { +"offset": { +"description": "An integer that specifies the current offset for pagination (the 0-indexed starting location, amongst the products deemed by the API as relevant). See SearchRequest.offset for definition. If this field is negative, an `INVALID_ARGUMENT` is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which products are returned, if applicable. See SearchRequest.order_by for definition and syntax. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"searchQuery": { +"description": "The user's search query. See SearchRequest.query for definition. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. At least one of search_query or PageInfo.page_category is required for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"customFineTuningSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponse": { +"description": "Response message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponse", +"properties": { +"appliedControls": { +"description": "Controls applied as part of the Control service.", +"items": { +"type": "string" +}, +"type": "array" +}, +"attributionToken": { +"description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", +"type": "string" +}, +"correctedQuery": { +"description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", +"type": "string" +}, +"facets": { +"description": "Results of facets requested by user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseFacet" +}, +"type": "array" +}, +"geoSearchDebugInfo": { +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseGeoSearchDebugInfo" +}, +"type": "array" +}, +"guidedSearchResult": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResult", +"description": "Guided search result." +}, +"naturalLanguageQueryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfo", +"description": "Natural language query understanding information for the returned results." +}, +"nextPageToken": { +"description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"oneBoxResults": { +"description": "A list of One Box results. There can be multiple One Box results of different types.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseOneBoxResult" +}, +"type": "array" +}, +"queryExpansionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseQueryExpansionInfo", +"description": "Query expansion information for the returned results." +}, +"redirectUri": { +"description": "The URI of a customer-defined redirect page. If redirect action is triggered, no search is performed, and only redirect_uri and attribution_token are set in the response.", +"type": "string" +}, +"results": { +"description": "A list of matched documents. The order represents the ranking.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult" +}, +"type": "array" +}, +"searchLinkPromotions": { +"description": "Promotions for site search.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion" +}, +"type": "array" +}, +"sessionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo", +"description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." +}, +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummary", +"description": "A summary as part of the search results. This field is only returned if SearchRequest.ContentSearchSpec.summary_spec is set." +}, +"totalSize": { +"description": "The estimated total count of matched items irrespective of pagination. The count of results returned by pagination may be less than the total_size that matches.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseFacet": { +"description": "A facet result.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseFacet", +"properties": { +"dynamicFacet": { +"description": "Whether the facet is dynamically generated.", +"type": "boolean" +}, +"key": { +"description": "The key for this facet. For example, `\"colors\"` or `\"price\"`. It matches SearchRequest.FacetSpec.FacetKey.key.", +"type": "string" +}, +"values": { +"description": "The facet values for this field.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseFacetFacetValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseFacetFacetValue": { +"description": "A facet value which contains value names and their count.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseFacetFacetValue", +"properties": { +"count": { +"description": "Number of items that have this facet value.", +"format": "int64", +"type": "string" +}, +"interval": { +"$ref": "GoogleCloudDiscoveryengineV1alphaInterval", +"description": "Interval value for a facet, such as 10, 20) for facet \"price\". It matches [SearchRequest.FacetSpec.FacetKey.intervals." +}, +"value": { +"description": "Text value of a facet, such as \"Black\" for facet \"colors\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseGeoSearchDebugInfo": { +"description": "Debug information specifically related to forward geocoding issues arising from Geolocation Search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseGeoSearchDebugInfo", +"properties": { +"errorMessage": { +"description": "The error produced.", +"type": "string" +}, +"originalAddressQuery": { +"description": "The address from which forward geocoding ingestion produced issues.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResult": { +"description": "Guided search result. The guided search helps user to refine the search results and narrow down to the real needs from a broaded search results.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResult", +"properties": { +"followUpQuestions": { +"description": "Suggested follow-up questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"refinementAttributes": { +"description": "A list of ranked refinement attributes.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResultRefinementAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResultRefinementAttribute": { +"description": "Useful attribute for search result refinements.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResultRefinementAttribute", +"properties": { +"attributeKey": { +"description": "Attribute key used to refine the results. For example, `\"movie_type\"`.", +"type": "string" +}, +"attributeValue": { +"description": "Attribute value used to refine the results. For example, `\"drama\"`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfo": { +"description": "Information describing what natural language understanding was done on the input query.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfo", +"properties": { +"extractedFilters": { +"description": "The filters that were extracted from the input query.", +"type": "string" +}, +"rewrittenQuery": { +"description": "Rewritten input query minus the extracted filters.", +"type": "string" +}, +"structuredExtractedFilter": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter", +"description": "The filters that were extracted from the input query represented in a structured form." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter": { +"description": "The filters that were extracted from the input query represented in a structured form.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter", +"properties": { +"expression": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression", +"description": "The expression denoting the filter that was extracted from the input query in a structured form. It can be a simple expression denoting a single string, numerical or geolocation constraint or a compound expression which is a combination of multiple expressions connected using logical (OR and AND) operators." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression": { +"description": "Logical `And` operator.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression", +"properties": { +"expressions": { +"description": "The expressions that were ANDed together.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression": { +"description": "The expression denoting the filter that was extracted from the input query.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression", +"properties": { +"andExpr": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression", +"description": "Logical \"And\" compound operator connecting multiple expressions." +}, +"geolocationConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint", +"description": "Geolocation constraint expression." +}, +"numberConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint", +"description": "Numerical constraint expression." +}, +"orExpr": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression", +"description": "Logical \"Or\" compound operator connecting multiple expressions." +}, +"stringConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint", +"description": "String constraint expression." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint": { +"description": "Constraint of a geolocation field. Name of the geolocation field as defined in the schema.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint", +"properties": { +"address": { +"description": "The reference address that was inferred from the input query. The proximity of the reference address to the geolocation field will be used to filter the results.", +"type": "string" +}, +"fieldName": { +"description": "The name of the geolocation field as defined in the schema.", +"type": "string" +}, +"latitude": { +"description": "The latitude of the geolocation inferred from the input query.", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude of the geolocation inferred from the input query.", +"format": "double", +"type": "number" +}, +"radiusInMeters": { +"description": "The radius in meters around the address. The record is returned if the location of the geolocation field is within the radius.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint": { +"description": "Constraint expression of a number field. Example: price < 100.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint", +"properties": { +"comparison": { +"description": "The comparison operation performed between the field value and the value specified in the constraint.", +"enum": [ +"COMPARISON_UNSPECIFIED", +"EQUALS", +"LESS_THAN_EQUALS", +"LESS_THAN", +"GREATER_THAN_EQUALS", +"GREATER_THAN" +], +"enumDescriptions": [ +"Undefined comparison operator.", +"Denotes equality `=` operator.", +"Denotes less than or equal to `<=` operator.", +"Denotes less than `<` operator.", +"Denotes greater than or equal to `>=` operator.", +"Denotes greater than `>` operator." +], +"type": "string" +}, +"fieldName": { +"description": "Name of the numerical field as defined in the schema.", +"type": "string" +}, +"querySegment": { +"description": "Identifies the keywords within the search query that match a filter.", +"type": "string" +}, +"value": { +"description": "The value specified in the numerical constraint.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression": { +"description": "Logical `Or` operator.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression", +"properties": { +"expressions": { +"description": "The expressions that were ORed together.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint": { +"description": "Constraint expression of a string field.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint", +"properties": { +"fieldName": { +"description": "Name of the string field as defined in the schema.", +"type": "string" +}, +"querySegment": { +"description": "Identifies the keywords within the search query that match a filter.", +"type": "string" +}, +"values": { +"description": "Values of the string field. The record will only be returned if the field value matches one of the values specified here.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseOneBoxResult": { +"description": "OneBoxResult is a holder for all results of specific type that we want to display in UI differently.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseOneBoxResult", +"properties": { +"oneBoxType": { +"description": "The type of One Box result.", +"enum": [ +"ONE_BOX_TYPE_UNSPECIFIED", +"PEOPLE", +"ORGANIZATION", +"SLACK", +"KNOWLEDGE_GRAPH" +], +"enumDescriptions": [ +"Default value. Should not be used.", +"One Box result contains people results.", +"One Box result contains organization results.", +"One Box result contains slack results.", +"One Box result contains Knowledge Graph search responses." +], +"type": "string" +}, +"searchResults": { +"description": "The search results for this One Box.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseQueryExpansionInfo": { +"description": "Information describing query expansion including whether expansion has occurred.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseQueryExpansionInfo", +"properties": { +"expandedQuery": { +"description": "Bool describing whether query expansion has occurred.", +"type": "boolean" +}, +"pinnedResultCount": { +"description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult": { +"description": "Represents the search results.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult", +"properties": { +"chunk": { +"$ref": "GoogleCloudDiscoveryengineV1alphaChunk", +"description": "The chunk data in the search response if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS." +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocument", +"description": "The document data snippet in the search response. Only fields that are marked as `retrievable` are populated." +}, +"id": { +"description": "Document.id of the searched Document.", +"type": "string" +}, +"modelScores": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDoubleList" +}, +"description": "Google provided available scores.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo": { +"description": "Information about the session.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo", +"properties": { +"name": { +"description": "Name of the session. If the auto-session mode is used (when SearchRequest.session ends with \"-\"), this field holds the newly generated session name.", +"type": "string" +}, +"queryId": { +"description": "Query ID that corresponds to this search API call. One session can have multiple turns, each with a unique query ID. By specifying the session name and this query ID in the Answer API call, the answer generation happens in the context of the search results from this search call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummary": { +"description": "Summary of the top N search results specified by the summary spec.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummary", +"properties": { +"safetyAttributes": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySafetyAttributes", +"description": "A collection of Safety Attribute categories and their associated confidence scores." +}, +"summarySkippedReasons": { +"description": "Additional summary-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"SUMMARY_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_SUMMARY_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"LLM_ADDON_NOT_ENABLED", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_SUMMARY_SEEKING_QUERY_IGNORED_V2" +], +"enumDescriptions": [ +"Default value. The summary skipped reason is not specified.", +"The adversarial query ignored case. Only used when SummarySpec.ignore_adversarial_query is set to `true`.", +"The non-summary seeking query ignored case. Google skips the summary if the query is chit chat. Only used when SummarySpec.ignore_non_summary_seeking_query is set to `true`.", +"The out-of-domain query ignored case. Google skips the summary if there are no high-relevance search results. For example, the data store contains facts about company A but the user query is asking questions about company B.", +"The potential policy violation case. Google skips the summary if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The LLM addon not enabled case. Google skips the summary if the LLM addon is not enabled.", +"The no relevant content case. Google skips the summary if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_jail_breaking_query] is set to `true`.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the summary if the query doesn't have clear intent. Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_answer_seeking_query] is set to `true`." +], +"type": "string" +}, +"type": "array" +}, +"summaryText": { +"description": "The summary content.", +"type": "string" +}, +"summaryWithMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySummaryWithMetadata", +"description": "Summary with metadata information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes/unicode.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationMetadata": { +"description": "Citation metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationMetadata", +"properties": { +"citations": { +"description": "Citations for segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationSource", +"properties": { +"referenceIndex": { +"description": "Document reference index from SummaryWithMetadata.references. It is 0-indexed and the value will be zero if the reference_index is not set explicitly.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReference": { +"description": "Document reference.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReference", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReferenceChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Required. Document.name of the document. Full resource name of the referenced document, in the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", +"type": "string" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Cloud Storage or HTTP uri for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReferenceChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReferenceChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySafetyAttributes": { +"description": "Safety Attribute categories and their associated confidence scores.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySafetyAttributes", +"properties": { +"categories": { +"description": "The display names of Safety Attribute categories associated with the generated content. Order matches the Scores.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "The confidence scores of the each category, higher value means higher confidence. Order matches the Categories.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySummaryWithMetadata": { +"description": "Summary with metadata information.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySummaryWithMetadata", +"properties": { +"citationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryCitationMetadata", +"description": "Citation metadata for given summary." +}, +"references": { +"description": "Document References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSummaryReference" +}, +"type": "array" +}, +"summary": { +"description": "Summary text with no citation information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", +"id": "GoogleCloudDiscoveryengineV1alphaServingConfig", +"properties": { +"boostControlIds": { +"description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. ServingConfig created timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customFineTuningSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"description": "Custom fine tuning configs. If SearchRequest.custom_fine_tuning_spec is set, it has higher priority than the configs set here." +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dissociateControlIds": { +"description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"diversityLevel": { +"description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"embeddingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig", +"description": "Bring your own embedding config. The config is used for search semantic retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embeddings that are provided by this EmbeddingConfig. If SearchRequest.EmbeddingSpec.EmbeddingVector.vector is provided, it overrides this ServingConfig.embedding_config." +}, +"filterControlIds": { +"description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"genericConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfigGenericConfig", +"description": "The GenericConfig of the serving configuration." +}, +"guidedSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaGuidedSearchSpec", +"description": "Guided search configs." +}, +"ignoreControlIds": { +"description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mediaConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaServingConfigMediaConfig", +"description": "The MediaConfig of the serving configuration." +}, +"modelId": { +"description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization spec. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"promoteControlIds": { +"description": "Condition promote specifications. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"redirectControlIds": { +"description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementControlIds": { +"description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionType": { +"description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsControlIds": { +"description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. ServingConfig updated timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaServingConfigGenericConfig": { +"description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", +"id": "GoogleCloudDiscoveryengineV1alphaServingConfigGenericConfig", +"properties": { +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaServingConfigMediaConfig": { +"description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"id": "GoogleCloudDiscoveryengineV1alphaServingConfigMediaConfig", +"properties": { +"contentFreshnessCutoffDays": { +"description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", +"format": "int32", +"type": "integer" +}, +"contentWatchedPercentageThreshold": { +"description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", +"format": "float", +"type": "number" +}, +"contentWatchedSecondsThreshold": { +"description": "Specifies the content watched minutes threshold for demotion.", +"format": "float", +"type": "number" +}, +"demoteContentWatchedPastDays": { +"description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", +"format": "int32", +"type": "integer" +}, +"demotionEventType": { +"description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSession": { +"description": "External session proto definition.", +"id": "GoogleCloudDiscoveryengineV1alphaSession", +"properties": { +"displayName": { +"description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time the session finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"isPinned": { +"description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", +"type": "boolean" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the session started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"State is unspecified.", +"The session is currently open." +], +"type": "string" +}, +"turns": { +"description": "Turns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSessionTurn" +}, +"type": "array" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSessionTurn": { +"description": "Represents a turn, including a query from the user and a answer from service.", +"id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", +"properties": { +"answer": { +"description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", +"type": "string" +}, +"detailedAnswer": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", +"description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", +"readOnly": true +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQuery", +"description": "The user query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest": { +"description": "Request message for CrawlRateManagementService.SetDedicatedCrawlRate method. The user can set the crawl rate for a crawl_rate_scope they own. They can set up an overall crawl rate, or set up a user-triggered crawl rate and a auto-refresh crawl rate separately. If an overall crawl rate is set, Vertex AI will automatically splits crawl_rate into user-triggered and auto-refresh.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest", +"properties": { +"crawlRate": { +"description": "Optional. The crawl QPS set by the user. It is not guaranteed that Vertex crawl bot will crawl at this QPS. If the crawl rate is too high, the real QPS may be lower than the value set by the user to avoid overloading the user's website.", +"format": "int32", +"type": "integer" +}, +"crawlRateScope": { +"description": "Required. The scope of the crawl rate that the user wants to config. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", +"type": "string" +}, +"crawlType": { +"description": "Optional. Whether it\u2019s the crawl rate of user-triggered or auto-refresh.", +"enum": [ +"CRAWL_TYPE_UNSPECIFIED", +"USER_TRIGGERED", +"AUTO_REFRESH" +], +"enumDescriptions": [ +"The crawl type is unspecified.", +"The crawl type is user-triggered.", +"The crawl type is auto-refresh." +], +"type": "string" +}, +"mode": { +"description": "Optional. Whether the rate is explicitly set by users, or set by vertex AI.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTOMATIC", +"EXPLICIT" +], +"enumDescriptions": [ +"The mode is unspecified. If the user does not specify the mode, default to AUTOMATIC.", +"Vertex AI automatically splits crawl_rate into user-triggered and auto-refresh. Users don't need to specify SetDedicatedCrawlRateRequest.CrawlType if the mode is AUTOMATIC.", +"Users explicitly set user-triggered or auto-refresh crawl rate." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { +"description": "Metadata for DataConnectorService.SetUpDataConnector method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest": { +"description": "Request for DataConnectorService.SetUpDataConnector method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest", +"properties": { +"collectionDisplayName": { +"description": "Required. The display name of the Collection. Should be human readable, used to display collections in the Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"collectionId": { +"description": "Required. The ID to use for the Collection, which will become the final component of the Collection's resource name. A new Collection is created as part of the DataConnector setup. DataConnector is a singleton resource under Collection, managing all DataStores of the Collection. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dataConnector": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"description": "Required. The DataConnector to initialize in the newly created Collection." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataRequest": { +"description": "Request message for SiteSearchEngineService.SetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataRequest", +"properties": { +"documentDataMap": { +"additionalProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"description": "Document data keyed by URI pattern. Each entry must be consistent with the Schema. For example: Schema = { \"type\": \"object\", \"properties\": { \"Categories\": { \"type\": \"array\", \"items\": { \"retrievable\": true, \"type\": \"string\" } } } document_data_map = { \"www.url1.com/*\": { \"Categories\": [\"category1\", \"category2\"] }, \"www.url2.com/*\": { \"Categories\": [\"category3\"] } }", +"type": "object" +}, +"emptyDocumentDataMap": { +"description": "If true, clears the document data map. If true, SetUriPatternDocumentDataRequest.document_data_map must be empty.", +"type": "boolean" +}, +"schema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. If not provided, the current Schema is used. If provided, validates and updates the Schema. If validation fails, an error is returned.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.SetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSiteSearchEngine": { +"description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", +"id": "GoogleCloudDiscoveryengineV1alphaSiteSearchEngine", +"properties": { +"name": { +"description": "The fully qualified resource name of the site search engine. Format: `projects/*/locations/*/dataStores/*/siteSearchEngine`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSpannerSource": { +"description": "The Spanner source for importing data", +"id": "GoogleCloudDiscoveryengineV1alphaSpannerSource", +"properties": { +"databaseId": { +"description": "Required. The database ID of the source Spanner table.", +"type": "string" +}, +"enableDataBoost": { +"description": "Whether to apply data boost on Spanner export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/spanner/docs/databoost/databoost-overview#billing_and_quotas).", +"type": "boolean" +}, +"instanceId": { +"description": "Required. The instance ID of the source Spanner table.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Spanner source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table name of the Spanner database that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest": { +"description": "Request message for DataConnectorService.StartConnectorRun method.", +"id": "GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest", +"properties": { +"entities": { +"description": "Specifies which Third Party Connector entities should be synced. If not specified, all entities will be synced.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthcareFhirResourceTypes": { +"description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"syncIdentity": { +"description": "If true, trigger Identity sync.", +"type": "boolean" +}, +"syncSinceTimestamp": { +"description": "Timestamp to indicate the point in time from which data should be synced for Streaming/Batch Data Connectors. This field is only utilized for Healthcare Connectors.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry": { +"description": "Suggestion deny list entry identifying the phrase to block from suggestions and the applied operation for the phrase.", +"id": "GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry", +"properties": { +"blockPhrase": { +"description": "Required. Phrase to block from suggestions served. Can be maximum 125 characters.", +"type": "string" +}, +"matchOperator": { +"description": "Required. The match operator to apply for this phrase. Whether to block the exact phrase, or block any suggestions containing this phrase.", +"enum": [ +"MATCH_OPERATOR_UNSPECIFIED", +"EXACT_MATCH", +"CONTAINS" +], +"enumDescriptions": [ +"Default value. Should not be used", +"If the suggestion is an exact match to the block_phrase, then block it.", +"If the suggestion contains the block_phrase, then block it." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTextInput": { +"description": "Defines text input.", +"id": "GoogleCloudDiscoveryengineV1alphaTextInput", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConversationContext", +"description": "Conversation context of the input." +}, +"input": { +"description": "Text input.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequest": { +"description": "Request message for SearchTuningService.TrainCustomModel method.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the data ingestion and training." +}, +"gcsTrainingInput": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequestGcsTrainingInput", +"description": "Cloud Storage training input." +}, +"modelId": { +"description": "If not provided, a UUID will be generated.", +"type": "string" +}, +"modelType": { +"description": "Model to be trained. Supported values are: * **search-tuning**: Fine tuning the search system based on data provided.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequestGcsTrainingInput": { +"description": "Cloud Storage training data input.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelRequestGcsTrainingInput", +"properties": { +"corpusDataPath": { +"description": "The Cloud Storage corpus data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id, title and text. Example: `{\"_id\": \"doc1\", title: \"relevant doc\", \"text\": \"relevant text\"}`", +"type": "string" +}, +"queryDataPath": { +"description": "The gcs query data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id and text. Example: {\"_id\": \"query1\", \"text\": \"example query\"}", +"type": "string" +}, +"testDataPath": { +"description": "Cloud Storage test data. Same format as train_data_path. If not provided, a random 80/20 train/test split will be performed on train_data_path.", +"type": "string" +}, +"trainDataPath": { +"description": "Cloud Storage training data path whose format should be `gs:///`. The file should be in tsv format. Each line should have the doc_id and query_id and score (number). For search-tuning model, it should have the query-id corpus-id score as tsv file header. The score should be a number in `[0, inf+)`. The larger the number is, the more relevant the pair is. Example: * `query-id\\tcorpus-id\\tscore` * `query1\\tdoc1\\t1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTransactionInfo": { +"description": "A transaction represents the entire purchase transaction.", +"id": "GoogleCloudDiscoveryengineV1alphaTransactionInfo", +"properties": { +"cost": { +"description": "All the costs associated with the products. These can be manufacturing costs, shipping expenses not borne by the end user, or any other costs, such that: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"currency": { +"description": "Required. Currency code. Use three-character ISO-4217 code.", +"type": "string" +}, +"discountValue": { +"description": "The total discount(s) value applied to this transaction. This figure should be excluded from TransactionInfo.value For example, if a user paid TransactionInfo.value amount, then nominal (pre-discount) value of the transaction is the sum of TransactionInfo.value and TransactionInfo.discount_value This means that profit is calculated the same way, regardless of the discount value, and that TransactionInfo.discount_value can be larger than TransactionInfo.value: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"tax": { +"description": "All the taxes associated with the transaction.", +"format": "float", +"type": "number" +}, +"transactionId": { +"description": "The transaction ID with a length limit of 128 characters.", +"type": "string" +}, +"value": { +"description": "Required. Total non-zero value associated with the transaction. This value may include shipping, tax, or other adjustments to the total value that you want to include.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineRequest": { +"description": "Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { +"description": "Request for UpdateSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", +"properties": { +"session": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession", +"description": "Required. The Session to update." +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUserEvent": { +"description": "UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website.", +"id": "GoogleCloudDiscoveryengineV1alphaUserEvent", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomAttribute" +}, +"description": "Extra user event features to include in the recommendation model. These attributes must NOT contain data that needs to be parsed or processed further, e.g. JSON or other encodings. If you provide custom attributes for ingested user events, also include them in the user events that you associate with prediction requests. Custom attribute formatting must be consistent between imported events and events provided with prediction requests. This lets the Discovery Engine API use those custom attributes when training models and serving predictions, which helps improve recommendation quality. This field needs to pass all below criteria, otherwise an `INVALID_ARGUMENT` error is returned: * The key must be a UTF-8 encoded string with a length limit of 5,000 characters. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. For product recommendations, an example of extra user information is `traffic_channel`, which is how a user arrives at the site. Users can arrive at the site by coming to the site directly, coming through Google search, or in other ways.", +"type": "object" +}, +"attributionToken": { +"description": "Token to attribute an API response to user action(s) to trigger the event. Highly recommended for user events that are the result of RecommendationService.Recommend. This field enables accurate attribution of recommendation model performance. The value must be one of: * RecommendResponse.attribution_token for events that are the result of RecommendationService.Recommend. * SearchResponse.attribution_token for events that are the result of SearchService.Search. This token enables us to accurately attribute page view or conversion completion back to the event and the particular predict response containing this clicked/purchased product. If user clicks on product K in the recommendation results, pass RecommendResponse.attribution_token as a URL parameter to product K's page. When recording events on product K's page, log the RecommendResponse.attribution_token to this field.", +"type": "string" +}, +"completionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCompletionInfo", +"description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." +}, +"conversionType": { +"description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", +"type": "string" +}, +"dataStore": { +"description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", +"type": "string" +}, +"directUserRequest": { +"description": "Should set to true if the request is made directly from the end user, in which case the UserEvent.user_info.user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.", +"type": "boolean" +}, +"documents": { +"description": "List of Documents associated with this user event. This field is optional except for the following event types: * `view-item` * `add-to-cart` * `purchase` * `media-play` * `media-complete` In a `search` event, this field represents the documents returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different UserEvent.documents is desired.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentInfo" +}, +"type": "array" +}, +"engine": { +"description": "The Engine resource name, in the form of `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. Optional. Only required for Engine produced user events. For example, user events from blended search.", +"type": "string" +}, +"eventTime": { +"description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", +"type": "string" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"mediaInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaMediaInfo", +"description": "Media-specific info." +}, +"pageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPageInfo", +"description": "Page metadata such as categories and other critical information for certain event types such as `view-category-page`." +}, +"panel": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPanelInfo", +"description": "Panel metadata associated with this user event." +}, +"panels": { +"description": "Optional. List of panels associated with this event. Used for page-level impression data.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaPanelInfo" +}, +"type": "array" +}, +"promotionIds": { +"description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchInfo", +"description": "SearchService.Search details related to the event. This field should be set for `search` event." +}, +"sessionId": { +"description": "A unique identifier for tracking a visitor session with a length limit of 128 bytes. A session is an aggregation of an end user behavior in a time span. A general guideline to populate the session_id: 1. If user has no activity for 30 min, a new session_id should be assigned. 2. The session_id should be unique across users, suggest use uuid or add UserEvent.user_pseudo_id as prefix.", +"type": "string" +}, +"tagIds": { +"description": "A list of identifiers for the independent experiment groups this user event belongs to. This is used to distinguish between user events associated with different experiment setups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transactionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTransactionInfo", +"description": "The transaction metadata (if any) associated with this user event." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"description": "Information about the end user." +}, +"userPseudoId": { +"description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor log in/out of the website. Do not set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. The field should not contain PII or user-data. We recommend to use Google Analytics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1betaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1betaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1betaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1betaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1betaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1betaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1betaSchema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1betaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"GoogleMonitoringV3Point": { +"description": "A single data point in a time series.", +"id": "GoogleMonitoringV3Point", +"properties": { +"interval": { +"$ref": "GoogleMonitoringV3TimeInterval", +"description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +}, +"value": { +"$ref": "GoogleMonitoringV3TypedValue", +"description": "The value of the data point." +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeInterval": { +"description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", +"id": "GoogleMonitoringV3TimeInterval", +"properties": { +"endTime": { +"description": "Required. The end of the time interval.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeSeries": { +"description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", +"id": "GoogleMonitoringV3TimeSeries", +"properties": { +"description": { +"description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", +"type": "string" +}, +"metadata": { +"$ref": "GoogleApiMonitoredResourceMetadata", +"description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." +}, +"metric": { +"$ref": "GoogleApiMetric", +"description": "The associated metric. A fully-specified metric used to identify the time series." +}, +"metricKind": { +"description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"points": { +"description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", +"items": { +"$ref": "GoogleMonitoringV3Point" +}, +"type": "array" +}, +"resource": { +"$ref": "GoogleApiMonitoredResource", +"description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", +"type": "string" +}, +"valueType": { +"description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a `Distribution`.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TypedValue": { +"description": "A single strongly-typed value.", +"id": "GoogleMonitoringV3TypedValue", +"properties": { +"boolValue": { +"description": "A Boolean value: `true` or `false`.", +"type": "boolean" +}, +"distributionValue": { +"$ref": "GoogleApiDistribution", +"description": "A distribution value." +}, +"doubleValue": { +"description": "A 64-bit double-precision floating-point number. Its magnitude is approximately \u00b110\u00b1300 and it has 16 significant digits of precision.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "A 64-bit integer. Its range is approximately \u00b19.2x1018.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A variable-length string value.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeDateTime": { +"description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", +"id": "GoogleTypeDateTime", +"properties": { +"day": { +"description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", +"format": "int32", +"type": "integer" +}, +"hours": { +"description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"$ref": "GoogleTypeTimeZone", +"description": "Time zone." +}, +"utcOffset": { +"description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", +"format": "google-duration", +"type": "string" +}, +"year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "GoogleTypeExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GoogleTypeTimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "GoogleTypeTimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Discovery Engine API", +"version": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..dad44054be9c78f978b862797adaebe5c4b08e98 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json @@ -0,0 +1,105 @@ +{ + "basePath": "/doubleclickbidmanager/v1/", + "baseUrl": "https://doubleclickbidmanager.googleapis.com/doubleclickbidmanager/v1/", + "batchPath": "batch", + "canonicalName": "DoubleClick Bid Manager", + "description": "DoubleClick Bid Manager API allows users to manage and create campaigns and reports.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/bid-manager/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "doubleclickbidmanager:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://doubleclickbidmanager.mtls.googleapis.com/", + "name": "doubleclickbidmanager", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": {}, + "revision": "20210921", + "rootUrl": "https://doubleclickbidmanager.googleapis.com/", + "schemas": {}, + "servicePath": "doubleclickbidmanager/v1/", + "title": "DoubleClick Bid Manager API", + "version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json new file mode 100644 index 0000000000000000000000000000000000000000..1667b785b18f1c5f179b0708c7faa76da7038070 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json @@ -0,0 +1,3025 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive.admin.labels": { +"description": "See, edit, create, and delete all Google Drive labels in your organization, and see your organization's label-related admin policies" +}, +"https://www.googleapis.com/auth/drive.admin.labels.readonly": { +"description": "See all Google Drive labels and label-related admin policies in your organization" +}, +"https://www.googleapis.com/auth/drive.labels": { +"description": "See, edit, create, and delete your Google Drive labels" +}, +"https://www.googleapis.com/auth/drive.labels.readonly": { +"description": "See your Google Drive labels" +} +} +} +}, +"basePath": "", +"baseUrl": "https://drivelabels.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Drive Labels", +"description": "An API for managing Drive Labels", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/drive/labels", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "drivelabels:v2beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://drivelabels.mtls.googleapis.com/", +"name": "drivelabels", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"labels": { +"methods": { +"create": { +"description": "Creates a new Label.", +"flatPath": "v2beta/labels", +"httpMethod": "POST", +"id": "drivelabels.labels.create", +"parameterOrder": [], +"parameters": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.", +"location": "query", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/labels", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.", +"flatPath": "v2beta/labels/{labelsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +}, +"writeControl.requiredRevisionId": { +"description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delta": { +"description": "Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.", +"flatPath": "v2beta/labels/{labelsId}:delta", +"httpMethod": "POST", +"id": "drivelabels.labels.delta", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Label to update.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:delta", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"disable": { +"description": "Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", +"flatPath": "v2beta/labels/{labelsId}:disable", +"httpMethod": "POST", +"id": "drivelabels.labels.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:disable", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaDisableLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"enable": { +"description": "Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", +"flatPath": "v2beta/labels/{labelsId}:enable", +"httpMethod": "POST", +"id": "drivelabels.labels.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:enable", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaEnableLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"get": { +"description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", +"flatPath": "v2beta/labels/{labelsId}", +"httpMethod": "GET", +"id": "drivelabels.labels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Label resource name. May be any of: * `labels/{id}` (equivalent to labels/{id}@latest) * `labels/{id}@latest` * `labels/{id}@published` * `labels/{id}@{revision_id}`", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view are returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +}, +"list": { +"description": "List labels.", +"flatPath": "v2beta/labels", +"httpMethod": "GET", +"id": "drivelabels.labels.list", +"parameterOrder": [], +"parameters": { +"customer": { +"description": "The customer to scope this list request to. For example: \"customers/abcd1234\". If unset, will return all labels within the current customer.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", +"location": "query", +"type": "string" +}, +"minimumRole": { +"description": "Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.", +"enum": [ +"LABEL_ROLE_UNSPECIFIED", +"READER", +"APPLIER", +"ORGANIZER", +"EDITOR" +], +"enumDescriptions": [ +"Unknown role.", +"A reader can read the label and associated metadata applied to Drive items.", +"An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", +"An organizer can pin this label in shared drives they manage and add new appliers to the label.", +"Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of labels to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"publishedOnly": { +"description": "Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).", +"location": "query", +"type": "boolean" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view are returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2beta/labels", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaListLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +}, +"publish": { +"description": "Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.", +"flatPath": "v2beta/labels/{labelsId}:publish", +"httpMethod": "POST", +"id": "drivelabels.labels.publish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:publish", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaPublishLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"updateLabelCopyMode": { +"description": "Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.", +"flatPath": "v2beta/labels/{labelsId}:updateLabelCopyMode", +"httpMethod": "POST", +"id": "drivelabels.labels.updateLabelCopyMode", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Label to update.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:updateLabelCopyMode", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"updatePermissions": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/permissions", +"httpMethod": "PATCH", +"id": "drivelabels.labels.updatePermissions", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +} +}, +"resources": { +"locks": { +"methods": { +"list": { +"description": "Lists the LabelLocks on a Label.", +"flatPath": "v2beta/labels/{labelsId}/locks", +"httpMethod": "GET", +"id": "drivelabels.labels.locks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Label on which Locks are applied. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/locks", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"permissions": { +"methods": { +"batchDelete": { +"description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/permissions:batchDelete", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/permissions:batchDelete", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"batchUpdate": { +"description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/permissions:batchUpdate", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/permissions:batchUpdate", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"create": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/permissions", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/permissions/{permissionsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.permissions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label Permission resource name.", +"location": "path", +"pattern": "^labels/[^/]+/permissions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"list": { +"description": "Lists a Label's permissions.", +"flatPath": "v2beta/labels/{labelsId}/permissions", +"httpMethod": "GET", +"id": "drivelabels.labels.permissions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"revisions": { +"methods": { +"updatePermissions": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "PATCH", +"id": "drivelabels.labels.revisions.updatePermissions", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +} +}, +"resources": { +"locks": { +"methods": { +"list": { +"description": "Lists the LabelLocks on a Label.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/locks", +"httpMethod": "GET", +"id": "drivelabels.labels.revisions.locks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Label on which Locks are applied. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/locks", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"permissions": { +"methods": { +"batchDelete": { +"description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/permissions:batchDelete", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"batchUpdate": { +"description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchUpdate", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/permissions:batchUpdate", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"create": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.revisions.permissions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label Permission resource name.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"list": { +"description": "Lists a Label's permissions.", +"flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "GET", +"id": "drivelabels.labels.revisions.permissions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2beta/{+parent}/permissions", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +} +} +} +} +}, +"limits": { +"methods": { +"getLabel": { +"description": "Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", +"flatPath": "v2beta/limits/label", +"httpMethod": "GET", +"id": "drivelabels.limits.getLabel", +"parameterOrder": [], +"parameters": { +"name": { +"description": "Required. Label revision resource name Must be: \"limits/label\"", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/limits/label", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelLimits" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"users": { +"methods": { +"getCapabilities": { +"description": "Gets the user capabilities.", +"flatPath": "v2beta/users/{usersId}/capabilities", +"httpMethod": "GET", +"id": "drivelabels.users.getCapabilities", +"parameterOrder": [ +"name" +], +"parameters": { +"customer": { +"description": "The customer to scope this request to. For example: \"customers/abcd1234\". If unset, will return settings within the current customer.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the user. Only \"users/me/capabilities\" is supported.", +"location": "path", +"pattern": "^users/[^/]+/capabilities$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleAppsDriveLabelsV2betaUserCapabilities" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +} +}, +"revision": "20240701", +"rootUrl": "https://drivelabels.googleapis.com/", +"schemas": { +"GoogleAppsDriveLabelsV2betaBadgeColors": { +"description": "The color derived from BadgeConfig and changed to the closest recommended supported color.", +"id": "GoogleAppsDriveLabelsV2betaBadgeColors", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Badge background that pairs with the foreground.", +"readOnly": true +}, +"foregroundColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Badge foreground that pairs with the background.", +"readOnly": true +}, +"soloColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Color that can be used for text without a background.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaBadgeConfig": { +"description": "Badge status of the label.", +"id": "GoogleAppsDriveLabelsV2betaBadgeConfig", +"properties": { +"color": { +"$ref": "GoogleTypeColor", +"description": "The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color." +}, +"priorityOverride": { +"description": "Override the default global priority of this badge. When set to 0, the default priority heuristic is used.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest": { +"description": "Deletes one of more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to update.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest": { +"description": "Updates one or more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to update.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse": { +"description": "Response for updating one or more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse", +"properties": { +"permissions": { +"description": "Required. Permissions updated.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDateLimits": { +"description": "Limits for date Field type.", +"id": "GoogleAppsDriveLabelsV2betaDateLimits", +"properties": { +"maxValue": { +"$ref": "GoogleTypeDate", +"description": "Maximum value for the date Field type." +}, +"minValue": { +"$ref": "GoogleTypeDate", +"description": "Minimum value for the date Field type." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest": { +"description": "Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"id": "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest", +"properties": { +"name": { +"description": "Required. Label Permission resource name.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest": { +"description": "The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.", +"type": "string" +}, +"requests": { +"description": "A list of updates to apply to the Label. Requests will be applied in the order they are specified.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view will be returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"type": "string" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2betaWriteControl", +"description": "Provides control over how write requests are executed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest": { +"description": "Request to create a Field within a Label.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", +"properties": { +"field": { +"$ref": "GoogleAppsDriveLabelsV2betaField", +"description": "Required. Field to create." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest": { +"description": "Request to create a Selection Choice.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", +"properties": { +"choice": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice", +"description": "Required. The Choice to create." +}, +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest": { +"description": "Request to delete the Field.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", +"properties": { +"id": { +"description": "Required. ID of the Field to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest": { +"description": "Request to delete a Choice.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field from which a Choice will be deleted.", +"type": "string" +}, +"id": { +"description": "Required. Choice to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest": { +"description": "Request to disable the Field.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", +"description": "Required. Field Disabled Policy." +}, +"id": { +"description": "Required. Key of the Field to disable.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest": { +"description": "Request to disable a Choice.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", +"description": "Required. The disabled policy to update." +}, +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be disabled.", +"type": "string" +}, +"id": { +"description": "Required. Choice to disable.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest": { +"description": "Request to enable the Field.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", +"properties": { +"id": { +"description": "Required. ID of the Field to enable.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest": { +"description": "Request to enable a Choice.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be enabled.", +"type": "string" +}, +"id": { +"description": "Required. Choice to enable.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest": { +"description": "A single kind of update to apply to a Label.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest", +"properties": { +"createField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", +"description": "Creates a new Field." +}, +"createSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", +"description": "Creates Choice within a Selection field." +}, +"deleteField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", +"description": "Deletes a Field from the label." +}, +"deleteSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", +"description": "Delete a Choice within a Selection Field." +}, +"disableField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", +"description": "Disables the Field." +}, +"disableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", +"description": "Disable a Choice within a Selection Field." +}, +"enableField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", +"description": "Enables the Field." +}, +"enableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", +"description": "Enable a Choice within a Selection Field." +}, +"updateField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", +"description": "Updates basic properties of a Field." +}, +"updateFieldType": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", +"description": "Update Field type and/or type options." +}, +"updateLabel": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", +"description": "Updates the Label properties." +}, +"updateSelectionChoiceProperties": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", +"description": "Update a Choice properties within a Selection Field." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest": { +"description": "Request to update Field properties.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", +"properties": { +"id": { +"description": "Required. The Field to update.", +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldProperties", +"description": "Required. Basic Field properties." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest": { +"description": "Request to change the type of a Field.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", +"properties": { +"dateOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldDateOptions", +"description": "Update field to Date." +}, +"id": { +"description": "Required. The Field to update.", +"type": "string" +}, +"integerOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", +"description": "Update field to Integer." +}, +"selectionOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", +"description": "Update field to Selection." +}, +"textOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldTextOptions", +"description": "Update field to Text." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +}, +"userOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldUserOptions", +"description": "Update field to User." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest": { +"description": "Updates basic properties of a Label.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", +"properties": { +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelProperties", +"description": "Required. Label properties to update." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest": { +"description": "Request to update a Choice properties.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field to update.", +"type": "string" +}, +"id": { +"description": "Required. The Choice to update.", +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", +"description": "Required. The Choice properties to update." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse": { +"description": "Response for Label update.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse", +"properties": { +"responses": { +"description": "The reply of the updates. This maps 1:1 with the updates, although responses to some requests may be empty.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse" +}, +"type": "array" +}, +"updatedLabel": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel", +"description": "The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse": { +"description": "Response following Field create.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", +"properties": { +"id": { +"description": "The field of the created field. When left blank in a create request, a key will be autogenerated and can be identified here.", +"type": "string" +}, +"priority": { +"description": "The priority of the created field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse": { +"description": "Response following Selection Choice create.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", +"properties": { +"fieldId": { +"description": "The server-generated id of the field.", +"type": "string" +}, +"id": { +"description": "The server-generated ID of the created choice within the Field", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse": { +"description": "Response following Field delete.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse": { +"description": "Response following Choice delete.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse": { +"description": "Response following Field disable.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse": { +"description": "Response following Choice disable.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse": { +"description": "Response following Field enable.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse": { +"description": "Response following Choice enable.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse": { +"description": "A single response from an update.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse", +"properties": { +"createField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", +"description": "Creates a new Field." +}, +"createSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", +"description": "Creates a new selection list option to add to a Selection Field." +}, +"deleteField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", +"description": "Deletes a Field from the label." +}, +"deleteSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", +"description": "Deletes a Choice from a Selection Field." +}, +"disableField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", +"description": "Disables Field." +}, +"disableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", +"description": "Disables a Choice within a Selection Field." +}, +"enableField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", +"description": "Enables Field." +}, +"enableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", +"description": "Enables a Choice within a Selection Field." +}, +"updateField": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", +"description": "Updates basic properties of a Field." +}, +"updateFieldType": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", +"description": "Update Field type and/or type options." +}, +"updateLabel": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", +"description": "Updated basic properties of a Label." +}, +"updateSelectionChoiceProperties": { +"$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", +"description": "Updates a Choice within a Selection Field." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse": { +"description": "Response following update to Field properties.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", +"properties": { +"priority": { +"description": "The priority of the updated field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse": { +"description": "Response following update to Field type.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse": { +"description": "Response following update to Label properties.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse": { +"description": "Response following update to Selection Choice properties.", +"id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", +"properties": { +"priority": { +"description": "The priority of the updated choice. The priority may change from what was specified to assure contiguous priorities between choices (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaDisableLabelRequest": { +"description": "Request to deprecate a published Label.", +"id": "GoogleAppsDriveLabelsV2betaDisableLabelRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", +"description": "Disabled policy to use." +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2betaWriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaEnableLabelRequest": { +"description": "Request to enable a label.", +"id": "GoogleAppsDriveLabelsV2betaEnableLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2betaWriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaField": { +"description": "Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.", +"id": "GoogleAppsDriveLabelsV2betaField", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities", +"description": "Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this field was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who created this field.", +"readOnly": true +}, +"dateOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldDateOptions", +"description": "Date field options." +}, +"disableTime": { +"description": "Output only. The time this field was disabled. This value has no meaning when the field is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who disabled this field. This value has no meaning when the field is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldDisplayHints", +"description": "Output only. UI display hints for rendering a field.", +"readOnly": true +}, +"id": { +"description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"integerOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", +"description": "Integer field options." +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycle", +"description": "Output only. The lifecycle of this field.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2betaLockStatus", +"description": "Output only. The LockStatus of this field.", +"readOnly": true +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldProperties", +"description": "The basic properties of the field." +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who published this field. This value has no meaning when the field is not published.", +"readOnly": true +}, +"queryKey": { +"description": "Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, \"`{query_key}` > 2001-01-01\".", +"readOnly": true, +"type": "string" +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities", +"description": "Output only. The capabilities this user has when editing this field.", +"readOnly": true +}, +"selectionOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", +"description": "Selection field options." +}, +"textOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldTextOptions", +"description": "Text field options." +}, +"updateTime": { +"description": "Output only. The time this field was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updater": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who modified this field.", +"readOnly": true +}, +"userOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldUserOptions", +"description": "User field options." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities": { +"description": "The capabilities related to this field on applied metadata.", +"id": "GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities", +"properties": { +"canRead": { +"description": "Whether the user can read related applied metadata on items.", +"type": "boolean" +}, +"canSearch": { +"description": "Whether the user can search for Drive items referencing this field.", +"type": "boolean" +}, +"canWrite": { +"description": "Whether the user can set this field on Drive items.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldDateOptions": { +"description": "Options for the date field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldDateOptions", +"properties": { +"dateFormat": { +"description": "Output only. ICU date format.", +"readOnly": true, +"type": "string" +}, +"dateFormatType": { +"description": "Localized date formatting option. Field values are rendered in this format according to their locale.", +"enum": [ +"DATE_FORMAT_UNSPECIFIED", +"LONG_DATE", +"SHORT_DATE" +], +"enumDescriptions": [ +"Date format unspecified.", +"Includes full month name. For example, January 12, 1999 (MMMM d, y)", +"Short, numeric, representation. For example, 12/13/99 (M/d/yy)" +], +"type": "string" +}, +"maxValue": { +"$ref": "GoogleTypeDate", +"description": "Output only. Maximum valid value (year, month, day).", +"readOnly": true +}, +"minValue": { +"$ref": "GoogleTypeDate", +"description": "Output only. Minimum valid value (year, month, day).", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldDisplayHints": { +"description": "UI display hints for rendering a field.", +"id": "GoogleAppsDriveLabelsV2betaFieldDisplayHints", +"properties": { +"disabled": { +"description": "Whether the field should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This field should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"required": { +"description": "Whether the field should be shown as required in the UI.", +"type": "boolean" +}, +"shownInApply": { +"description": "This field should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldIntegerOptions": { +"description": "Options for the Integer field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", +"properties": { +"maxValue": { +"description": "Output only. The maximum valid value for the integer field.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"minValue": { +"description": "Output only. The minimum valid value for the integer field.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldLimits": { +"description": "Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc.", +"id": "GoogleAppsDriveLabelsV2betaFieldLimits", +"properties": { +"dateLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaDateLimits", +"description": "Date Field limits." +}, +"integerLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaIntegerLimits", +"description": "Integer Field limits." +}, +"longTextLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaLongTextLimits", +"description": "Long text Field limits." +}, +"maxDescriptionLength": { +"description": "Limits for Field description, also called help text.", +"format": "int32", +"type": "integer" +}, +"maxDisplayNameLength": { +"description": "Limits for Field title.", +"format": "int32", +"type": "integer" +}, +"maxIdLength": { +"description": "Max length for the id.", +"format": "int32", +"type": "integer" +}, +"selectionLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaSelectionLimits", +"description": "Selection Field limits." +}, +"textLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaTextLimits", +"description": "The relevant limits for the specified Field.Type. Text Field limits." +}, +"userLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaUserLimits", +"description": "User Field limits." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldListOptions": { +"description": "Options for a multi-valued variant of an associated field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldListOptions", +"properties": { +"maxEntries": { +"description": "Maximum number of entries permitted.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldProperties": { +"description": "The basic properties of the field.", +"id": "GoogleAppsDriveLabelsV2betaFieldProperties", +"properties": { +"displayName": { +"description": "Required. The display text to show in the UI identifying this field.", +"type": "string" +}, +"insertBeforeField": { +"description": "Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.", +"type": "string" +}, +"required": { +"description": "Whether the field should be marked as required.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities": { +"description": "The capabilities related to this field when editing the field.", +"id": "GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this field. The user must have permission and the field must be deprecated.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this field. The user must have permission and this field must not already be disabled.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this field. The user must have permission and this field must be disabled.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can change this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptions": { +"description": "Options for the selection field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", +"properties": { +"choices": { +"description": "The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice" +}, +"type": "array" +}, +"listOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldListOptions", +"description": "When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice": { +"description": "Selection field choice.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities", +"description": "Output only. The capabilities related to this choice on applied metadata.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this choice was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who created this choice.", +"readOnly": true +}, +"disableTime": { +"description": "Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints", +"description": "Output only. UI display hints for rendering a choice.", +"readOnly": true +}, +"id": { +"description": "The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.", +"type": "string" +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycle", +"description": "Output only. Lifecycle of the choice.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2betaLockStatus", +"description": "Output only. The LockStatus of this choice.", +"readOnly": true +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", +"description": "Basic properties of the choice." +}, +"publishTime": { +"description": "Output only. The time this choice was published. This value has no meaning when the choice is not published.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who published this choice. This value has no meaning when the choice is not published.", +"readOnly": true +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities", +"description": "Output only. The capabilities related to this option when editing the option.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The time this choice was updated last.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updater": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who updated this choice last.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities": { +"description": "The capabilities related to this choice on applied metadata.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities", +"properties": { +"canRead": { +"description": "Whether the user can read related applied metadata on items.", +"type": "boolean" +}, +"canSearch": { +"description": "Whether the user can use this choice in search queries.", +"type": "boolean" +}, +"canSelect": { +"description": "Whether the user can select this choice on an item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints": { +"description": "UI display hints for rendering an option.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints", +"properties": { +"badgeColors": { +"$ref": "GoogleAppsDriveLabelsV2betaBadgeColors", +"description": "The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." +}, +"badgePriority": { +"description": "The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.", +"format": "int64", +"type": "string" +}, +"darkBadgeColors": { +"$ref": "GoogleAppsDriveLabelsV2betaBadgeColors", +"description": "The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." +}, +"disabled": { +"description": "Whether the option should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This option should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"shownInApply": { +"description": "This option should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties": { +"description": "Basic properties of the choice.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", +"properties": { +"badgeConfig": { +"$ref": "GoogleAppsDriveLabelsV2betaBadgeConfig", +"description": "The badge configuration for this choice. When set, the label that owns this choice is considered a \"badged label\"." +}, +"description": { +"description": "The description of this label.", +"type": "string" +}, +"displayName": { +"description": "Required. The display text to show in the UI identifying this field.", +"type": "string" +}, +"insertBeforeChoice": { +"description": "Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities": { +"description": "The capabilities related to this choice when editing the choice.", +"id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this choice.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this choice.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this choice.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can update this choice.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldTextOptions": { +"description": "Options for the Text field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldTextOptions", +"properties": { +"maxLength": { +"description": "Output only. The maximum valid length of values for the text field.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"minLength": { +"description": "Output only. The minimum valid length of values for the text field.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaFieldUserOptions": { +"description": "Options for the user field type.", +"id": "GoogleAppsDriveLabelsV2betaFieldUserOptions", +"properties": { +"listOptions": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldListOptions", +"description": "When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaIntegerLimits": { +"description": "Limits for integer Field type.", +"id": "GoogleAppsDriveLabelsV2betaIntegerLimits", +"properties": { +"maxValue": { +"description": "Maximum value for an integer Field type.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "Minimum value for an integer Field type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabel": { +"description": "A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.", +"id": "GoogleAppsDriveLabelsV2betaLabel", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities", +"description": "Output only. The capabilities related to this label on applied metadata.", +"readOnly": true +}, +"appliedLabelPolicy": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy", +"description": "Output only. Behavior of this label when it's applied to Drive items.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this label was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who created this label.", +"readOnly": true +}, +"customer": { +"description": "Output only. The customer this label belongs to. For example: \"customers/123abc789.\"", +"readOnly": true, +"type": "string" +}, +"disableTime": { +"description": "Output only. The time this label was disabled. This value has no meaning when the label is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who disabled this label. This value has no meaning when the label is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelDisplayHints", +"description": "Output only. UI display hints for rendering the label.", +"readOnly": true +}, +"fields": { +"description": "List of fields in descending priority order.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaField" +}, +"type": "array" +}, +"id": { +"description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"labelType": { +"description": "Required. The type of label.", +"enum": [ +"LABEL_TYPE_UNSPECIFIED", +"SHARED", +"ADMIN", +"GOOGLE_APP" +], +"enumDescriptions": [ +"Unknown label type.", +"Shared labels may be shared with users to apply to Drive items.", +"Admin-owned label. Only creatable and editable by admins. Supports some additional admin-only features.", +"A label owned by an internal Google application rather than a customer. These labels are read-only." +], +"type": "string" +}, +"learnMoreUri": { +"description": "Custom URL to present to users to allow them to learn more about this label and how it should be used.", +"type": "string" +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycle", +"description": "Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2betaLockStatus", +"description": "Output only. The LockStatus of this label.", +"readOnly": true +}, +"name": { +"description": "Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.", +"readOnly": true, +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelProperties", +"description": "Required. The basic properties of the label." +}, +"publishTime": { +"description": "Output only. The time this label was published. This value has no meaning when the label is not published.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who published this label. This value has no meaning when the label is not published.", +"readOnly": true +}, +"revisionCreateTime": { +"description": "Output only. The time this label revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionCreator": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user who created this label revision.", +"readOnly": true +}, +"revisionId": { +"description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities", +"description": "Output only. The capabilities the user has on this label.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities": { +"description": "The capabilities a user has on this label's applied metadata.", +"id": "GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities", +"properties": { +"canApply": { +"description": "Whether the user can apply this label to items.", +"type": "boolean" +}, +"canRead": { +"description": "Whether the user can read applied metadata related to this label.", +"type": "boolean" +}, +"canRemove": { +"description": "Whether the user can remove this label from items.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy": { +"description": "Behavior of this label when it's applied to Drive items.", +"id": "GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy", +"properties": { +"copyMode": { +"description": "Indicates how the applied label and field values should be copied when a Drive item is copied.", +"enum": [ +"COPY_MODE_UNSPECIFIED", +"DO_NOT_COPY", +"ALWAYS_COPY", +"COPY_APPLIABLE" +], +"enumDescriptions": [ +"Copy mode unspecified.", +"The applied label and field values are not copied by default when the Drive item it's applied to is copied.", +"The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", +"The applied label and field values are copied if the label is appliable by the user making the copy." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelDisplayHints": { +"description": "UI display hints for rendering the label.", +"id": "GoogleAppsDriveLabelsV2betaLabelDisplayHints", +"properties": { +"disabled": { +"description": "Whether the label should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This label should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"priority": { +"description": "Order to display label in a list.", +"format": "int64", +"type": "string" +}, +"shownInApply": { +"description": "This label should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelLimits": { +"description": "Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", +"id": "GoogleAppsDriveLabelsV2betaLabelLimits", +"properties": { +"fieldLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaFieldLimits", +"description": "The limits for Fields." +}, +"maxDeletedFields": { +"description": "The maximum number of published Fields that can be deleted.", +"format": "int32", +"type": "integer" +}, +"maxDescriptionLength": { +"description": "The maximum number of characters allowed for the description.", +"format": "int32", +"type": "integer" +}, +"maxDraftRevisions": { +"description": "The maximum number of draft revisions that will be kept before deleting old drafts.", +"format": "int32", +"type": "integer" +}, +"maxFields": { +"description": "The maximum number of Fields allowed within the label.", +"format": "int32", +"type": "integer" +}, +"maxTitleLength": { +"description": "The maximum number of characters allowed for the title.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelLock": { +"description": "A Lock that can be applied to a Label, Field, or Choice.", +"id": "GoogleAppsDriveLabelsV2betaLabelLock", +"properties": { +"capabilities": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", +"description": "Output only. The user's capabilities on this LabelLock.", +"readOnly": true +}, +"choiceId": { +"description": "The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time this LabelLock was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2betaUserInfo", +"description": "Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.", +"readOnly": true +}, +"deleteTime": { +"description": "Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fieldId": { +"description": "The ID of the Field that should be locked. Empty if the whole Label should be locked.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this LabelLock.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. This LabelLock's state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETING" +], +"enumDescriptions": [ +"Unknown state.", +"The LabelLock is active and is being enforced by the server.", +"The LabelLock is being deleted. The LabelLock will continue to be enforced by the server until it has been fully removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelLockCapabilities": { +"description": "A description of a user's capabilities on a LabelLock.", +"id": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", +"properties": { +"canViewPolicy": { +"description": "True if the user is authorized to view the policy.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelPermission": { +"description": "The permission that applies to a principal (user, group, audience) on a label.", +"id": "GoogleAppsDriveLabelsV2betaLabelPermission", +"properties": { +"audience": { +"description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.", +"type": "string" +}, +"email": { +"description": "Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.", +"type": "string" +}, +"group": { +"description": "Group resource name.", +"type": "string" +}, +"name": { +"description": "Resource name of this permission.", +"type": "string" +}, +"person": { +"description": "Person resource name.", +"type": "string" +}, +"role": { +"description": "The role the principal should have.", +"enum": [ +"LABEL_ROLE_UNSPECIFIED", +"READER", +"APPLIER", +"ORGANIZER", +"EDITOR" +], +"enumDescriptions": [ +"Unknown role.", +"A reader can read the label and associated metadata applied to Drive items.", +"An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", +"An organizer can pin this label in shared drives they manage and add new appliers to the label.", +"Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelProperties": { +"description": "Basic properties of the label.", +"id": "GoogleAppsDriveLabelsV2betaLabelProperties", +"properties": { +"description": { +"description": "The description of the label.", +"type": "string" +}, +"title": { +"description": "Required. Title of the label.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities": { +"description": "The capabilities related to this label when editing the label.", +"id": "GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this label. The user must have permission and the label must be disabled.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this label. The user must have permission and this label must not already be disabled.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this label. The user must have permission and this label must be disabled.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can change this label.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLifecycle": { +"description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published\u2014Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled\u2014When disabled, the configured `DisabledPolicy` takes effect.", +"id": "GoogleAppsDriveLabelsV2betaLifecycle", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", +"description": "The policy that governs how to show a disabled label, field, or selection choice." +}, +"hasUnpublishedChanges": { +"description": "Output only. Whether the object associated with this lifecycle has unpublished changes.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The state of the object associated with this lifecycle.", +"enum": [ +"STATE_UNSPECIFIED", +"UNPUBLISHED_DRAFT", +"PUBLISHED", +"DISABLED", +"DELETED" +], +"enumDescriptions": [ +"Unknown State.", +"The initial state of an object. Once published, the object can never return to this state. Once an object is published, certain kinds of changes are no longer permitted.", +"The object has been published. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", +"The object has been published and has since been disabled. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", +"The object has been deleted." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy": { +"description": "The policy that governs how to treat a disabled label, field, or selection choice in different contexts.", +"id": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", +"properties": { +"hideInSearch": { +"description": "Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.", +"type": "boolean" +}, +"showInApply": { +"description": "Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaListLabelLocksResponse": { +"description": "The response to a ListLabelLocksRequest.", +"id": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse", +"properties": { +"labelLocks": { +"description": "LabelLocks.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelLock" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse": { +"description": "Response for listing the permissions on a Label.", +"id": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse", +"properties": { +"labelPermissions": { +"description": "Label permissions.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaListLabelsResponse": { +"description": "Response for listing Labels.", +"id": "GoogleAppsDriveLabelsV2betaListLabelsResponse", +"properties": { +"labels": { +"description": "Labels.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2betaLabel" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaListLimits": { +"description": "Limits for list-variant of a Field type.", +"id": "GoogleAppsDriveLabelsV2betaListLimits", +"properties": { +"maxEntries": { +"description": "Maximum number of values allowed for the Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLockStatus": { +"description": "Contains information about whether a label component should be considered locked.", +"id": "GoogleAppsDriveLabelsV2betaLockStatus", +"properties": { +"locked": { +"description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaLongTextLimits": { +"description": "Limits for long text Field type.", +"id": "GoogleAppsDriveLabelsV2betaLongTextLimits", +"properties": { +"maxLength": { +"description": "Maximum length allowed for a long text Field type.", +"format": "int32", +"type": "integer" +}, +"minLength": { +"description": "Minimum length allowed for a long text Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaPublishLabelRequest": { +"description": "Request to publish a label.", +"id": "GoogleAppsDriveLabelsV2betaPublishLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2betaWriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaSelectionLimits": { +"description": "Limits for selection Field type.", +"id": "GoogleAppsDriveLabelsV2betaSelectionLimits", +"properties": { +"listLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaListLimits", +"description": "Limits for list-variant of a Field type." +}, +"maxChoices": { +"description": "The max number of choices.", +"format": "int32", +"type": "integer" +}, +"maxDeletedChoices": { +"description": "Maximum number of deleted choices.", +"format": "int32", +"type": "integer" +}, +"maxDisplayNameLength": { +"description": "Maximum length for display name.", +"format": "int32", +"type": "integer" +}, +"maxIdLength": { +"description": "Maximum ID length for a selection options.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaTextLimits": { +"description": "Limits for text Field type.", +"id": "GoogleAppsDriveLabelsV2betaTextLimits", +"properties": { +"maxLength": { +"description": "Maximum length allowed for a text Field type.", +"format": "int32", +"type": "integer" +}, +"minLength": { +"description": "Minimum length allowed for a text Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest": { +"description": "Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \\", +"id": "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest", +"properties": { +"copyMode": { +"description": "Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", +"enum": [ +"COPY_MODE_UNSPECIFIED", +"DO_NOT_COPY", +"ALWAYS_COPY", +"COPY_APPLIABLE" +], +"enumDescriptions": [ +"Copy mode unspecified.", +"The applied label and field values are not copied by default when the Drive item it's applied to is copied.", +"The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", +"The applied label and field values are copied if the label is appliable by the user making the copy." +], +"type": "string" +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view will be returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest": { +"description": "Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"id": "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest", +"properties": { +"labelPermission": { +"$ref": "GoogleAppsDriveLabelsV2betaLabelPermission", +"description": "Required. The permission to create or update on the Label." +}, +"parent": { +"description": "Required. The parent Label resource name.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaUserCapabilities": { +"description": "The capabilities of a user.", +"id": "GoogleAppsDriveLabelsV2betaUserCapabilities", +"properties": { +"canAccessLabelManager": { +"description": "Output only. Whether the user is allowed access to the label manager.", +"readOnly": true, +"type": "boolean" +}, +"canAdministrateLabels": { +"description": "Output only. Whether the user is an administrator for the shared labels feature.", +"readOnly": true, +"type": "boolean" +}, +"canCreateAdminLabels": { +"description": "Output only. Whether the user is allowed to create new admin labels.", +"readOnly": true, +"type": "boolean" +}, +"canCreateSharedLabels": { +"description": "Output only. Whether the user is allowed to create new shared labels.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. Resource name for the user capabilities.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaUserInfo": { +"description": "Information about a user.", +"id": "GoogleAppsDriveLabelsV2betaUserInfo", +"properties": { +"person": { +"description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaUserLimits": { +"description": "Limits for Field.Type.USER.", +"id": "GoogleAppsDriveLabelsV2betaUserLimits", +"properties": { +"listLimits": { +"$ref": "GoogleAppsDriveLabelsV2betaListLimits", +"description": "Limits for list-variant of a Field type." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2betaWriteControl": { +"description": "Provides control over how write requests are executed. When not specified, the last write wins.", +"id": "GoogleAppsDriveLabelsV2betaWriteControl", +"properties": { +"requiredRevisionId": { +"description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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\u2014for 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 <= 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 << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "GoogleTypeColor", +"properties": { +"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).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Drive Labels API", +"version": "v2beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..dac096ac374ce542f43cb415ce229735a42fb706 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json @@ -0,0 +1,384 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://fcmdata.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Fcmdata", +"description": "Provides additional information about Firebase Cloud Messaging (FCM) message sends and deliveries.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/cloud-messaging", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "fcmdata:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://fcmdata.mtls.googleapis.com/", +"name": "fcmdata", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"androidApps": { +"resources": { +"deliveryData": { +"methods": { +"list": { +"description": "List aggregate delivery data for the given Android application.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/deliveryData", +"httpMethod": "GET", +"id": "fcmdata.projects.androidApps.deliveryData.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of entries to return. The service may return fewer than this value. If unspecified, at most 1,000 entries will be returned. The maximum value is 10,000; values above 10,000 will be capped to 10,000. This default may change over time.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAndroidDeliveryDataRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAndroidDeliveryDataRequest` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The application for which to list delivery data. Format: `projects/{project_id}/androidApps/{app_id}`", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/deliveryData", +"response": { +"$ref": "GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://fcmdata.googleapis.com/", +"schemas": { +"GoogleFirebaseFcmDataV1beta1AndroidDeliveryData": { +"description": "Message delivery data for a given date, app, and analytics label combination.", +"id": "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData", +"properties": { +"analyticsLabel": { +"description": "The analytics label associated with the messages sent. All messages sent without an analytics label will be grouped together in a single entry.", +"type": "string" +}, +"appId": { +"description": "The app ID to which the messages were sent.", +"type": "string" +}, +"data": { +"$ref": "GoogleFirebaseFcmDataV1beta1Data", +"description": "The data for the specified appId, date, and analyticsLabel." +}, +"date": { +"$ref": "GoogleTypeDate", +"description": "The date represented by this entry." +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1Data": { +"description": "Data detailing messaging delivery", +"id": "GoogleFirebaseFcmDataV1beta1Data", +"properties": { +"countMessagesAccepted": { +"description": "Count of messages accepted by FCM intended for Android devices. The targeted device must have opted in to the collection of usage and diagnostic information.", +"format": "int64", +"type": "string" +}, +"countNotificationsAccepted": { +"description": "Count of notifications accepted by FCM intended for Android devices. The targeted device must have opted in to the collection of usage and diagnostic information.", +"format": "int64", +"type": "string" +}, +"deliveryPerformancePercents": { +"$ref": "GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents", +"description": "Additional information about delivery performance for messages that were successfully delivered." +}, +"messageInsightPercents": { +"$ref": "GoogleFirebaseFcmDataV1beta1MessageInsightPercents", +"description": "Additional general insights about message delivery." +}, +"messageOutcomePercents": { +"$ref": "GoogleFirebaseFcmDataV1beta1MessageOutcomePercents", +"description": "Mutually exclusive breakdown of message delivery outcomes." +}, +"proxyNotificationInsightPercents": { +"$ref": "GoogleFirebaseFcmDataV1beta1ProxyNotificationInsightPercents", +"description": "Additional insights about proxy notification delivery." +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents": { +"description": "Overview of delivery performance for messages that were successfully delivered. All percentages are calculated with countMessagesAccepted as the denominator. These categories are not mutually exclusive; a message can be delayed for multiple reasons.", +"id": "GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents", +"properties": { +"delayedDeviceDoze": { +"description": "The percentage of accepted messages that were delayed because the device was in doze mode. Only [normal priority messages](https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message) should be delayed due to doze mode.", +"format": "float", +"type": "number" +}, +"delayedDeviceOffline": { +"description": "The percentage of accepted messages that were delayed because the target device was not connected at the time of sending. These messages were eventually delivered when the device reconnected.", +"format": "float", +"type": "number" +}, +"delayedMessageThrottled": { +"description": "The percentage of accepted messages that were delayed due to message throttling, such as [collapsible message throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_throttling) or [maximum message rate throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#device_throttling).", +"format": "float", +"type": "number" +}, +"delayedUserStopped": { +"description": "The percentage of accepted messages that were delayed because the intended device user-profile was [stopped](https://firebase.google.com/docs/cloud-messaging/android/receive#handling_messages) on the target device at the time of the send. The messages were eventually delivered when the user-profile was started again.", +"format": "float", +"type": "number" +}, +"deliveredNoDelay": { +"description": "The percentage of accepted messages that were delivered to the device without delay from the FCM system.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse": { +"description": "Response message for ListAndroidDeliveryData.", +"id": "GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse", +"properties": { +"androidDeliveryData": { +"description": "The delivery data for the provided app. There will be one entry per combination of app, date, and analytics label.", +"items": { +"$ref": "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1MessageInsightPercents": { +"description": "Additional information about message delivery. All percentages are calculated with countMessagesAccepted as the denominator.", +"id": "GoogleFirebaseFcmDataV1beta1MessageInsightPercents", +"properties": { +"priorityLowered": { +"description": "The percentage of accepted messages that had their priority lowered from high to normal. See [documentation for setting message priority](https://firebase.google.com/docs/cloud-messaging/android/message-priority).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1MessageOutcomePercents": { +"description": "Percentage breakdown of message delivery outcomes. These categories are mutually exclusive. All percentages are calculated with countMessagesAccepted as the denominator. These categories may not account for all message outcomes.", +"id": "GoogleFirebaseFcmDataV1beta1MessageOutcomePercents", +"properties": { +"collapsed": { +"description": "The percentage of accepted messages that were [collapsed](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages) by another message.", +"format": "float", +"type": "number" +}, +"delivered": { +"description": "The percentage of all accepted messages that were successfully delivered to the device.", +"format": "float", +"type": "number" +}, +"droppedAppForceStopped": { +"description": "The percentage of accepted messages that were dropped because the application was force stopped on the device at the time of delivery and retries were unsuccessful.", +"format": "float", +"type": "number" +}, +"droppedDeviceInactive": { +"description": "The percentage of accepted messages that were dropped because the target device is inactive. FCM will drop messages if the target device is deemed inactive by our servers. If a device does reconnect, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.", +"format": "float", +"type": "number" +}, +"droppedTooManyPendingMessages": { +"description": "The percentage of accepted messages that were dropped due to [too many undelivered non-collapsible messages](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages). Specifically, each app instance can only have 100 pending messages stored on our servers for a device which is disconnected. When that device reconnects, those messages are delivered. When there are more than the maximum pending messages, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.", +"format": "float", +"type": "number" +}, +"droppedTtlExpired": { +"description": "The percentage of accepted messages that expired because [Time To Live (TTL)](https://firebase.google.com/docs/cloud-messaging/concept-options#ttl) elapsed before the target device reconnected.", +"format": "float", +"type": "number" +}, +"pending": { +"description": "The percentage of messages accepted on this day that were not dropped and not delivered, due to the device being disconnected (as of the end of the America/Los_Angeles day when the message was sent to FCM). A portion of these messages will be delivered the next day when the device connects but others may be destined to devices that ultimately never reconnect.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleFirebaseFcmDataV1beta1ProxyNotificationInsightPercents": { +"description": "Additional information about [proxy notification](https://firebase.google.com/docs/cloud-messaging/android/message-priority#proxy) delivery. All percentages are calculated with countNotificationsAccepted as the denominator.", +"id": "GoogleFirebaseFcmDataV1beta1ProxyNotificationInsightPercents", +"properties": { +"failed": { +"description": "The percentage of accepted notifications that failed to be proxied. This is usually caused by exceptions that occurred while calling [notifyAsPackage](https://developer.android.com/reference/android/app/NotificationManager#notifyAsPackage%28java.lang.String,%20java.lang.String,%20int,%20android.app.Notification%29).", +"format": "float", +"type": "number" +}, +"proxied": { +"description": "The percentage of accepted notifications that were successfully proxied by [Google Play services](https://developers.google.com/android/guides/overview).", +"format": "float", +"type": "number" +}, +"skippedNotThrottled": { +"description": "The percentage of accepted notifications that were skipped because the messages were not throttled.", +"format": "float", +"type": "number" +}, +"skippedOptedOut": { +"description": "The percentage of accepted notifications that were skipped because the app disallowed these messages to be proxied.", +"format": "float", +"type": "number" +}, +"skippedUnconfigured": { +"description": "The percentage of accepted notifications that were skipped because configurations required for notifications to be proxied were missing.", +"format": "float", +"type": "number" +}, +"skippedUnsupported": { +"description": "The percentage of accepted notifications that were skipped because proxy notification is unsupported for the recipient.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"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", +"id": "GoogleTypeDate", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase Cloud Messaging Data API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebase.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..d032333f4318438713ca57545ac0071694c2487e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebase.v1beta1.json @@ -0,0 +1,2372 @@ +{ +"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" +}, +"https://www.googleapis.com/auth/firebase": { +"description": "View and administer all your Firebase data and settings" +}, +"https://www.googleapis.com/auth/firebase.readonly": { +"description": "View all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebase.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase Management", +"description": "The Firebase Management API enables programmatic setup and management of Firebase projects, including a project's Firebase resources and Firebase apps.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebase:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebase.mtls.googleapis.com/", +"name": "firebase", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"availableProjects": { +"methods": { +"list": { +"description": "Lists each [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects) that can have Firebase resources added and Firebase services enabled. A Project will only be listed if: - The caller has sufficient [Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - The Project is not already a FirebaseProject. - The Project is not in an Organization which has policies that prevent Firebase resources from being added. ", +"flatPath": "v1beta1/availableProjects", +"httpMethod": "GET", +"id": "firebase.availableProjects.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of Projects to return in the response. The server may return fewer than this value at its discretion. If no value is specified (or too large a value is specified), the server will impose its own limit. This value cannot be negative.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListAvailableProjects` indicating where in the set of Projects to resume listing.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/availableProjects", +"response": { +"$ref": "ListAvailableProjectsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +} +} +}, +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1beta1/operations/{operationsId}", +"httpMethod": "GET", +"id": "firebase.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +} +} +}, +"projects": { +"methods": { +"addFirebase": { +"description": "Adds Firebase resources and enables Firebase services in the specified existing [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. This method does not modify any billing account information on the underlying Google Cloud `Project`. To call `AddFirebase`, a project member or service account must have the following permissions (the IAM roles of Editor and Owner contain these permissions): `firebase.projects.update`, `resourcemanager.projects.get`, `serviceusage.services.enable`, and `serviceusage.services.get`.", +"flatPath": "v1beta1/projects/{projectsId}:addFirebase", +"httpMethod": "POST", +"id": "firebase.projects.addFirebase", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "The resource name of the Google Cloud `Project` in which Firebase resources will be added and Firebase services enabled, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the unique Project identifiers ( [`projectNumber`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)) of the underlying Google Cloud `Project` are also the identifiers of the FirebaseProject.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+project}:addFirebase", +"request": { +"$ref": "AddFirebaseRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"addGoogleAnalytics": { +"description": "Links the specified FirebaseProject with an existing [Google Analytics account](http://www.google.com/analytics/). Using this call, you can either: - Specify an `analyticsAccountId` to provision a new Google Analytics property within the specified account and associate the new property with the `FirebaseProject`. - Specify an existing `analyticsPropertyId` to associate the property with the `FirebaseProject`. Note that when you call `AddGoogleAnalytics`: 1. The first check determines if any existing data streams in the Google Analytics property correspond to any existing Firebase Apps in the `FirebaseProject` (based on the `packageName` or `bundleId` associated with the data stream). Then, as applicable, the data streams and apps are linked. Note that this auto-linking only applies to `AndroidApps` and `IosApps`. 2. If no corresponding data streams are found for the Firebase Apps, new data streams are provisioned in the Google Analytics property for each of the Firebase Apps. Note that a new data stream is always provisioned for a Web App even if it was previously associated with a data stream in the Analytics property. Learn more about the hierarchy and structure of Google Analytics accounts in the [Analytics documentation](https://support.google.com/analytics/answer/9303323). The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to an AnalyticsDetails; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. To call `AddGoogleAnalytics`, a project member must be an Owner for the existing `FirebaseProject` and have the [`Edit` permission](https://support.google.com/analytics/answer/2884495) for the Google Analytics account. If the `FirebaseProject` already has Google Analytics enabled, and you call `AddGoogleAnalytics` using an `analyticsPropertyId` that's different from the currently associated property, then the call will fail. Analytics may have already been enabled in the Firebase console or by specifying `timeZone` and `regionCode` in the call to [`AddFirebase`](../../v1beta1/projects/addFirebase).", +"flatPath": "v1beta1/projects/{projectsId}:addGoogleAnalytics", +"httpMethod": "POST", +"id": "firebase.projects.addGoogleAnalytics", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the FirebaseProject to link to an existing Google Analytics account, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:addGoogleAnalytics", +"request": { +"$ref": "AddGoogleAnalyticsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}", +"httpMethod": "GET", +"id": "firebase.projects.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the FirebaseProject, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "FirebaseProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"getAdminSdkConfig": { +"description": "Gets the configuration artifact associated with the specified FirebaseProject, which can be used by servers to simplify initialization. Typically, this configuration is used with the Firebase Admin SDK [initializeApp](https://firebase.google.com/docs/admin/setup#initialize_the_sdk) command.", +"flatPath": "v1beta1/projects/{projectsId}/adminSdkConfig", +"httpMethod": "GET", +"id": "firebase.projects.getAdminSdkConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the FirebaseProject, in the format: projects/ PROJECT_IDENTIFIER/adminSdkConfig Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+/adminSdkConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AdminSdkConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"getAnalyticsDetails": { +"description": "Gets the Google Analytics details currently associated with the specified FirebaseProject. If the `FirebaseProject` is not yet linked to Google Analytics, then the response to `GetAnalyticsDetails` is `NOT_FOUND`.", +"flatPath": "v1beta1/projects/{projectsId}/analyticsDetails", +"httpMethod": "GET", +"id": "firebase.projects.getAnalyticsDetails", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the FirebaseProject, in the format: projects/ PROJECT_IDENTIFIER/analyticsDetails Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+/analyticsDetails$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AnalyticsDetails" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"list": { +"description": "Lists each FirebaseProject accessible to the caller. The elements are returned in no particular order, but they will be a consistent view of the Projects when additional requests are made with a `pageToken`. This method is eventually consistent with Project mutations, which means newly provisioned Projects and recent modifications to existing Projects might not be reflected in the set of Projects. The list will include only ACTIVE Projects. Use GetFirebaseProject for consistent reads as well as for additional Project details.", +"flatPath": "v1beta1/projects", +"httpMethod": "GET", +"id": "firebase.projects.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of Projects to return in the response. The server may return fewer than this at its discretion. If no value is specified (or too large a value is specified), the server will impose its own limit. This value cannot be negative.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListFirebaseProjects` indicating where in the set of Projects to resume listing.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Optional. Controls whether Projects in the DELETED state should be returned in the response. If not specified, only `ACTIVE` Projects will be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/projects", +"response": { +"$ref": "ListFirebaseProjectsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"patch": { +"description": "Updates the attributes of the specified FirebaseProject. All [query parameters](#query-parameters) are required.", +"flatPath": "v1beta1/projects/{projectsId}", +"httpMethod": "PATCH", +"id": "firebase.projects.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the Project, in the format: projects/PROJECT_IDENTIFIER PROJECT_IDENTIFIER: the Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Specifies which fields of the FirebaseProject to update. Note that the following fields are immutable: `name`, `project_id`, and `project_number`. To update `state`, use any of the following Google Cloud endpoints: [`projects.delete`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/delete) or [`projects.undelete`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/undelete)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "FirebaseProject" +}, +"response": { +"$ref": "FirebaseProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"removeAnalytics": { +"description": "Unlinks the specified FirebaseProject from its Google Analytics account. This call removes the association of the specified `FirebaseProject` with its current Google Analytics property. However, this call does not delete the Google Analytics resources, such as the Google Analytics property or any data streams. These resources may be re-associated later to the `FirebaseProject` by calling [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) and specifying the same `analyticsPropertyId`. For Android Apps and iOS Apps, this call re-links data streams with their corresponding apps. However, for Web Apps, this call provisions a *new* data stream for each Web App. To call `RemoveAnalytics`, a project member must be an Owner for the `FirebaseProject`.", +"flatPath": "v1beta1/projects/{projectsId}:removeAnalytics", +"httpMethod": "POST", +"id": "firebase.projects.removeAnalytics", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the FirebaseProject to unlink from its Google Analytics account, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:removeAnalytics", +"request": { +"$ref": "RemoveAnalyticsRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"searchApps": { +"description": "Lists all available Apps for the specified FirebaseProject. This is a convenience method. Typically, interaction with an App should be done using the platform-specific service, but some tool use-cases require a summary of all known Apps (such as for App selector interfaces).", +"flatPath": "v1beta1/projects/{projectsId}:searchApps", +"httpMethod": "GET", +"id": "firebase.projects.searchApps", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A query string compatible with Google's [AIP-160 standard](https://google.aip.dev/160). Use any of the following fields in a query: * [`app_id`](../projects/searchApps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects/searchApps#FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects/searchApps#FirebaseAppInfo.FIELDS.platform) This query also supports the following \"virtual\" fields. These are fields which are not actually part of the returned resource object, but they can be queried as if they are pre-populated with specific values. * `sha1_hash` or `sha1_hashes`: This field is considered to be a _repeated_ `string` field, populated with the list of all SHA-1 certificate fingerprints registered with the AndroidApp. This list is empty if the App is not an `AndroidApp`. * `sha256_hash` or `sha256_hashes`: This field is considered to be a _repeated_ `string` field, populated with the list of all SHA-256 certificate fingerprints registered with the AndroidApp. This list is empty if the App is not an `AndroidApp`. * `app_store_id`: This field is considered to be a _singular_ `string` field, populated with the Apple App Store ID registered with the IosApp. This field is empty if the App is not an `IosApp`. * `team_id`: This field is considered to be a _singular_ `string` field, populated with the Apple team ID registered with the IosApp. This field is empty if the App is not an `IosApp`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Apps to return in the response. The server may return fewer than this value at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit. This value cannot be negative.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `SearchFirebaseApps` indicating where in the set of Apps to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The parent FirebaseProject for which to list Apps, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Controls whether Apps in the DELETED state should be returned. If not specified, only `ACTIVE` Apps will be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}:searchApps", +"response": { +"$ref": "SearchFirebaseAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +} +}, +"resources": { +"androidApps": { +"methods": { +"create": { +"description": "Requests the creation of a new AndroidApp in the specified FirebaseProject. The result of this call is an `Operation` which can be used to track the provisioning process. The `Operation` is automatically deleted after completion, so there is no need to call `DeleteOperation`.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps", +"httpMethod": "POST", +"id": "firebase.projects.androidApps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the parent FirebaseProject in which to create an AndroidApp, in the format: projects/PROJECT_IDENTIFIER/androidApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/androidApps", +"request": { +"$ref": "AndroidApp" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}", +"httpMethod": "GET", +"id": "firebase.projects.androidApps.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the `AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AndroidApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"getConfig": { +"description": "Gets the configuration artifact associated with the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/config", +"httpMethod": "GET", +"id": "firebase.projects.androidApps.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the AndroidApp configuration to download, in the format: projects/PROJECT_IDENTIFIER/androidApps/APP_ID/config Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the `AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AndroidAppConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"list": { +"description": "Lists each AndroidApp associated with the specified FirebaseProject. The elements are returned in no particular order, but will be a consistent view of the Apps when additional requests are made with a `pageToken`.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps", +"httpMethod": "GET", +"id": "firebase.projects.androidApps.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Apps to return in the response. The server may return fewer than this at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListAndroidApps` indicating where in the set of Apps to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The resource name of the parent FirebaseProject for which to list each associated AndroidApp, in the format: projects/PROJECT_IDENTIFIER /androidApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Controls whether Apps in the DELETED state should be returned in the response. If not specified, only `ACTIVE` Apps will be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/androidApps", +"response": { +"$ref": "ListAndroidAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"patch": { +"description": "Updates the attributes of the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}", +"httpMethod": "PATCH", +"id": "firebase.projects.androidApps.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)).", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Specifies which fields of the AndroidApp to update. Note that the following fields are immutable: `name`, `app_id`, `project_id`, and `package_name`. To update `state`, use any of the following endpoints: RemoveAndroidApp or UndeleteAndroidApp.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "AndroidApp" +}, +"response": { +"$ref": "AndroidApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"remove": { +"description": "Removes the specified AndroidApp from the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}:remove", +"httpMethod": "POST", +"id": "firebase.projects.androidApps.remove", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the AndroidApp [name](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:remove", +"request": { +"$ref": "RemoveAndroidAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"undelete": { +"description": "Restores the specified AndroidApp to the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}:undelete", +"httpMethod": "POST", +"id": "firebase.projects.androidApps.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the AndroidApp [name](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:undelete", +"request": { +"$ref": "UndeleteAndroidAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"sha": { +"methods": { +"create": { +"description": "Adds a ShaCertificate to the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/sha", +"httpMethod": "POST", +"id": "firebase.projects.androidApps.sha.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the parent AndroidApp to which to add a ShaCertificate, in the format: projects/PROJECT_IDENTIFIER/androidApps/ APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the `AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sha", +"request": { +"$ref": "ShaCertificate" +}, +"response": { +"$ref": "ShaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Removes a ShaCertificate from the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/sha/{shaId}", +"httpMethod": "DELETE", +"id": "firebase.projects.androidApps.sha.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the ShaCertificate to remove from the parent AndroidApp, in the format: projects/PROJECT_IDENTIFIER/androidApps/APP_ID /sha/SHA_HASH Refer to the `ShaCertificate` [`name`](../projects.androidApps.sha#ShaCertificate.FIELDS.name) field for details about PROJECT_IDENTIFIER, APP_ID, and SHA_HASH values. You can obtain the full resource name of the `ShaCertificate` from the response of [`ListShaCertificates`](../projects.androidApps.sha/list) or the original [`CreateShaCertificate`](../projects.androidApps.sha/create).", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+/sha/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists the SHA-1 and SHA-256 certificates for the specified AndroidApp.", +"flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/sha", +"httpMethod": "GET", +"id": "firebase.projects.androidApps.sha.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the parent AndroidApp for which to list each associated ShaCertificate, in the format: projects/PROJECT_IDENTIFIER /androidApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/androidApps/APP_ID Refer to the `AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/androidApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sha", +"response": { +"$ref": "ListShaCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +} +} +} +} +}, +"availableLocations": { +"deprecated": true, +"methods": { +"list": { +"deprecated": true, +"description": "**DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid [\"locations for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's location for default Google Cloud resources, which is the geographical location where the Project's resources associated with Google App Engine (such as the default Cloud Firestore instance) will be provisioned by default. However, if the location for default Google Cloud resources has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible locations. To list all locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", +"flatPath": "v1beta1/projects/{projectsId}/availableLocations", +"httpMethod": "GET", +"id": "firebase.projects.availableLocations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of locations to return in the response. The server may return fewer than this value at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit. This value cannot be negative.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListAvailableLocations` indicating where in the list of locations to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The FirebaseProject for which to list [locations for default Google Cloud resources](https://firebase.google.com/docs/projects/locations#default-cloud-location), in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. If no unique project identifier is specified (that is, `projects/-`), the returned list does not take into account org-specific or project-specific location restrictions.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/availableLocations", +"response": { +"$ref": "ListAvailableLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +} +} +}, +"defaultLocation": { +"deprecated": true, +"methods": { +"finalize": { +"deprecated": true, +"description": "**DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified FirebaseProject. This method creates a Google App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [App Engine locations](https://cloud.google.com/about/locations#region). After the location for default Google Cloud resources is finalized, or if it was already set, it cannot be changed. The location for default Google Cloud resources for the specified `FirebaseProject` might already be set because either the underlying Google Cloud `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", +"flatPath": "v1beta1/projects/{projectsId}/defaultLocation:finalize", +"httpMethod": "POST", +"id": "firebase.projects.defaultLocation.finalize", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the FirebaseProject for which the [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/defaultLocation:finalize", +"request": { +"$ref": "FinalizeDefaultLocationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"iosApps": { +"methods": { +"create": { +"description": "Requests the creation of a new IosApp in the specified FirebaseProject. The result of this call is an `Operation` which can be used to track the provisioning process. The `Operation` is automatically deleted after completion, so there is no need to call `DeleteOperation`.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps", +"httpMethod": "POST", +"id": "firebase.projects.iosApps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the parent FirebaseProject in which to create an IosApp, in the format: projects/PROJECT_IDENTIFIER/iosApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/iosApps", +"request": { +"$ref": "IosApp" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified IosApp.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps/{iosAppsId}", +"httpMethod": "GET", +"id": "firebase.projects.iosApps.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER /iosApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/iosApps/APP_ID Refer to the `IosApp` [`name`](../projects.iosApps#IosApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/iosApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "IosApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"getConfig": { +"description": "Gets the configuration artifact associated with the specified IosApp.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps/{iosAppsId}/config", +"httpMethod": "GET", +"id": "firebase.projects.iosApps.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the App configuration to download, in the format: projects/PROJECT_IDENTIFIER/iosApps/APP_ID/config Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/iosApps/APP_ID Refer to the `IosApp` [`name`](../projects.iosApps#IosApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/iosApps/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "IosAppConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"list": { +"description": "Lists each IosApp associated with the specified FirebaseProject. The elements are returned in no particular order, but will be a consistent view of the Apps when additional requests are made with a `pageToken`.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps", +"httpMethod": "GET", +"id": "firebase.projects.iosApps.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Apps to return in the response. The server may return fewer than this at its discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListIosApps` indicating where in the set of Apps to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The resource name of the parent FirebaseProject for which to list each associated IosApp, in the format: projects/PROJECT_IDENTIFIER/iosApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Controls whether Apps in the DELETED state should be returned in the response. If not specified, only `ACTIVE` Apps will be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/iosApps", +"response": { +"$ref": "ListIosAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"patch": { +"description": "Updates the attributes of the specified IosApp.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps/{iosAppsId}", +"httpMethod": "PATCH", +"id": "firebase.projects.iosApps.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER /iosApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.iosApps#IosApp.FIELDS.app_id)).", +"location": "path", +"pattern": "^projects/[^/]+/iosApps/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Specifies which fields of the IosApp to update. Note that the following fields are immutable: `name`, `app_id`, `project_id`, and `bundle_id`. To update `state`, use any of the following endpoints: RemoveIosApp or UndeleteIosApp.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "IosApp" +}, +"response": { +"$ref": "IosApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"remove": { +"description": "Removes the specified IosApp from the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps/{iosAppsId}:remove", +"httpMethod": "POST", +"id": "firebase.projects.iosApps.remove", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the IosApp, in the format: projects/ PROJECT_IDENTIFIER/iosApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/iosApps/APP_ID Refer to the IosApp [name](../projects.iosApps#IosApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/iosApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:remove", +"request": { +"$ref": "RemoveIosAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"undelete": { +"description": "Restores the specified IosApp to the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/iosApps/{iosAppsId}:undelete", +"httpMethod": "POST", +"id": "firebase.projects.iosApps.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the IosApp, in the format: projects/ PROJECT_IDENTIFIER/iosApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/iosApps/APP_ID Refer to the IosApp [name](../projects.iosApps#IosApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/iosApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:undelete", +"request": { +"$ref": "UndeleteIosAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"webApps": { +"methods": { +"create": { +"description": "Requests the creation of a new WebApp in the specified FirebaseProject. The result of this call is an `Operation` which can be used to track the provisioning process. The `Operation` is automatically deleted after completion, so there is no need to call `DeleteOperation`.", +"flatPath": "v1beta1/projects/{projectsId}/webApps", +"httpMethod": "POST", +"id": "firebase.projects.webApps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the parent FirebaseProject in which to create a WebApp, in the format: projects/PROJECT_IDENTIFIER/webApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/webApps", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified WebApp.", +"flatPath": "v1beta1/projects/{projectsId}/webApps/{webAppsId}", +"httpMethod": "GET", +"id": "firebase.projects.webApps.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER /webApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/webApps/APP_ID Refer to the `WebApp` [`name`](../projects.webApps#WebApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"getConfig": { +"description": "Gets the configuration artifact associated with the specified WebApp.", +"flatPath": "v1beta1/projects/{projectsId}/webApps/{webAppsId}/config", +"httpMethod": "GET", +"id": "firebase.projects.webApps.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the WebApp configuration to download, in the format: projects/PROJECT_IDENTIFIER/webApps/APP_ID/config Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/webApps/APP_ID Refer to the `WebApp` [`name`](../projects.webApps#WebApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/webApps/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "WebAppConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"list": { +"description": "Lists each WebApp associated with the specified FirebaseProject. The elements are returned in no particular order, but will be a consistent view of the Apps when additional requests are made with a `pageToken`.", +"flatPath": "v1beta1/projects/{projectsId}/webApps", +"httpMethod": "GET", +"id": "firebase.projects.webApps.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Apps to return in the response. The server may return fewer than this value at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListWebApps` indicating where in the set of Apps to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The resource name of the parent FirebaseProject for which to list each associated WebApp, in the format: projects/PROJECT_IDENTIFIER/webApps Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Controls whether Apps in the DELETED state should be returned in the response. If not specified, only `ACTIVE` Apps will be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/webApps", +"response": { +"$ref": "ListWebAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"patch": { +"description": "Updates the attributes of the specified WebApp.", +"flatPath": "v1beta1/projects/{projectsId}/webApps/{webAppsId}", +"httpMethod": "PATCH", +"id": "firebase.projects.webApps.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER /webApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.webApps#WebApp.FIELDS.app_id)).", +"location": "path", +"pattern": "^projects/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Specifies which fields of the WebApp to update. Note that the following fields are immutable: `name`, `app_id`, and `project_id`. To update `state`, use any of the following endpoints: RemoveWebApp or UndeleteWebApp.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"remove": { +"description": "Removes the specified WebApp from the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/webApps/{webAppsId}:remove", +"httpMethod": "POST", +"id": "firebase.projects.webApps.remove", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the WebApp, in the format: projects/ PROJECT_IDENTIFIER/webApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/webApps/APP_ID Refer to the WebApp [name](../projects.webApps#WebApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:remove", +"request": { +"$ref": "RemoveWebAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"undelete": { +"description": "Restores the specified WebApp to the FirebaseProject.", +"flatPath": "v1beta1/projects/{projectsId}/webApps/{webAppsId}:undelete", +"httpMethod": "POST", +"id": "firebase.projects.webApps.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the WebApp, in the format: projects/ PROJECT_IDENTIFIER/webApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource from Sub-Collection access pattern may be used here, in the format: projects/-/webApps/APP_ID Refer to the WebApp [name](../projects.webApps#WebApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values.", +"location": "path", +"pattern": "^projects/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:undelete", +"request": { +"$ref": "UndeleteWebAppRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +}, +"revision": "20250107", +"rootUrl": "https://firebase.googleapis.com/", +"schemas": { +"AddFirebaseRequest": { +"description": "All fields are required.", +"id": "AddFirebaseRequest", +"properties": { +"locationId": { +"description": "**DEPRECATED.** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may be ignored, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", +"type": "string" +} +}, +"type": "object" +}, +"AddGoogleAnalyticsRequest": { +"id": "AddGoogleAnalyticsRequest", +"properties": { +"analyticsAccountId": { +"description": "The ID for the existing [Google Analytics account](http://www.google.com/analytics/) that you want to link with the `FirebaseProject`. Specifying this field will provision a new Google Analytics property in your Google Analytics account and associate the new property with the `FirebaseProject`.", +"type": "string" +}, +"analyticsPropertyId": { +"description": "The ID for the existing Google Analytics property that you want to associate with the `FirebaseProject`.", +"type": "string" +} +}, +"type": "object" +}, +"AdminSdkConfig": { +"id": "AdminSdkConfig", +"properties": { +"databaseURL": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance.", +"type": "string" +}, +"locationId": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", +"type": "string" +}, +"projectId": { +"description": "Immutable. A user-assigned unique identifier for the `FirebaseProject`. This identifier may appear in URLs or names for some Firebase resources associated with the Project, but it should generally be treated as a convenience alias to reference the Project.", +"type": "string" +}, +"storageBucket": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyticsDetails": { +"id": "AnalyticsDetails", +"properties": { +"analyticsProperty": { +"$ref": "AnalyticsProperty", +"description": "The Analytics Property object associated with the specified `FirebaseProject`. This object contains the details of the Google Analytics property associated with the Project." +}, +"streamMappings": { +"description": " - For `AndroidApps` and `IosApps`: a map of `app` to `streamId` for each Firebase App in the specified `FirebaseProject`. Each `app` and `streamId` appears only once. - For `WebApps`: a map of `app` to `streamId` and `measurementId` for each `WebApp` in the specified `FirebaseProject`. Each `app`, `streamId`, and `measurementId` appears only once.", +"items": { +"$ref": "StreamMapping" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyticsProperty": { +"description": "Details of a Google Analytics property", +"id": "AnalyticsProperty", +"properties": { +"analyticsAccountId": { +"description": "Output only. The ID of the [Google Analytics account](https://www.google.com/analytics/) for the Google Analytics property associated with the specified FirebaseProject.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name of the Google Analytics property associated with the specified `FirebaseProject`.", +"type": "string" +}, +"id": { +"description": "The globally unique, Google-assigned identifier of the Google Analytics property associated with the specified `FirebaseProject`. If you called [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) to link the `FirebaseProject` with a Google Analytics account, the value in this `id` field is the same as the ID of the property either specified or provisioned with that call to `AddGoogleAnalytics`.", +"type": "string" +} +}, +"type": "object" +}, +"AndroidApp": { +"description": "Details of a Firebase App for Android.", +"id": "AndroidApp", +"properties": { +"apiKeyId": { +"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `AndroidApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.androidApps/getConfig). If `api_key_id` is not set in requests to [`androidApps.Create`](../../rest/v1beta1/projects.androidApps/create), then Firebase automatically associates an `api_key_id` with the `AndroidApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `AndroidApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.", +"type": "string" +}, +"appId": { +"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `AndroidApp`. This identifier should be treated as an opaque token, as the data format is not specified.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The user-assigned display name for the `AndroidApp`.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.", +"type": "string" +}, +"expireTime": { +"description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)).", +"type": "string" +}, +"packageName": { +"description": "Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console.", +"type": "string" +}, +"projectId": { +"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`.", +"readOnly": true, +"type": "string" +}, +"sha1Hashes": { +"description": "The SHA1 certificate hashes for the AndroidApp.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sha256Hashes": { +"description": "The SHA256 certificate hashes for the AndroidApp.", +"items": { +"type": "string" +}, +"type": "array" +}, +"state": { +"description": "Output only. The lifecycle state of the App.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"The App is active.", +"The App has been soft-deleted. After an App has been in the `DELETED` state for more than 30 days, it is considered expired and will be permanently deleted. Up until this time, you can restore the App by calling `Undelete` ([Android](projects.androidApps/undelete) | [iOS](projects.iosApps/undelete) | [web](projects.webApps/undelete))." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AndroidAppConfig": { +"description": "Configuration metadata of a single Firebase App for Android.", +"id": "AndroidAppConfig", +"properties": { +"configFileContents": { +"description": "The contents of the JSON configuration file.", +"format": "byte", +"type": "string" +}, +"configFilename": { +"description": "The filename that the configuration artifact for the `AndroidApp` is typically saved as. For example: `google-services.json`", +"type": "string" +} +}, +"type": "object" +}, +"DefaultResources": { +"deprecated": true, +"description": "**DEPRECATED.** _Auto-provisioning of these resources is changing, so this object no longer reliably provides information about the resources within the Project. Instead, retrieve information about each resource directly from its resource-specific API._ The default auto-provisioned resources associated with the Project.", +"id": "DefaultResources", +"properties": { +"hostingSite": { +"deprecated": true, +"description": "Output only. **DEPRECATED.** _Instead, find the name of the default Firebase Hosting site using [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. If the default Hosting site for the Project has not yet been provisioned, the return might not contain a default site._ The name of the default Firebase Hosting site, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16`", +"readOnly": true, +"type": "string" +}, +"locationId": { +"deprecated": true, +"description": "Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", +"readOnly": true, +"type": "string" +}, +"realtimeDatabaseInstance": { +"deprecated": true, +"description": "Output only. **DEPRECATED.** _Instead, find the name of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default Realtime Database instance for a Project has not yet been provisioned, the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16`", +"readOnly": true, +"type": "string" +}, +"storageBucket": { +"deprecated": true, +"description": "Output only. **DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket._ The name of the default Cloud Storage for Firebase bucket, in one of the following formats: * If provisioned _before_ October 30, 2024: PROJECT_ID.firebasestorage.app * If provisioned _on or after_ October 30, 2024: PROJECT_ID.firebasestorage.app", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FinalizeDefaultLocationRequest": { +"deprecated": true, +"id": "FinalizeDefaultLocationRequest", +"properties": { +"locationId": { +"description": "**DEPRECATED** The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", +"type": "string" +} +}, +"type": "object" +}, +"FirebaseAppInfo": { +"description": "A high-level summary of an App.", +"id": "FirebaseAppInfo", +"properties": { +"apiKeyId": { +"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the App. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's configuration artifact ([`AndroidApp`](../../rest/v1beta1/projects.androidApps/getConfig) | [`IosApp`](../../rest/v1beta1/projects.iosApps/getConfig) | [`WebApp`](../../rest/v1beta1/projects.webApps/getConfig)). If `api_key_id` is not set in requests to create the App ([`AndroidApp`](../../rest/v1beta1/projects.androidApps/create) | [`IosApp`](../../rest/v1beta1/projects.iosApps/create) | [`WebApp`](../../rest/v1beta1/projects.webApps/create)), then Firebase automatically associates an `api_key_id` with the App. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned.", +"type": "string" +}, +"appId": { +"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `WebApp`. This identifier should be treated as an opaque token, as the data format is not specified.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The user-assigned display name of the Firebase App.", +"type": "string" +}, +"expireTime": { +"description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the Firebase App, in the format: projects/PROJECT_ID /iosApps/APP_ID or projects/PROJECT_ID/androidApps/APP_ID or projects/ PROJECT_ID/webApps/APP_ID", +"type": "string" +}, +"namespace": { +"description": "Output only. Immutable. The platform-specific identifier of the App. *Note:* For most use cases, use `appId`, which is the canonical, globally unique identifier for referencing an App. This string is derived from a native identifier for each platform: `packageName` for an `AndroidApp`, `bundleId` for an `IosApp`, and `webId` for a `WebApp`. Its contents should be treated as opaque, as the native identifier format may change as platforms evolve. This string is only unique within a `FirebaseProject` and its associated Apps.", +"readOnly": true, +"type": "string" +}, +"platform": { +"description": "The platform of the Firebase App.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"IOS", +"ANDROID", +"WEB" +], +"enumDescriptions": [ +"Unknown state. This is only used for distinguishing unset values.", +"The Firebase App is associated with iOS.", +"The Firebase App is associated with Android.", +"The Firebase App is associated with web." +], +"type": "string" +}, +"state": { +"description": "Output only. The lifecycle state of the App.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"The App is active.", +"The App has been soft-deleted. After an App has been in the `DELETED` state for more than 30 days, it is considered expired and will be permanently deleted. Up until this time, you can restore the App by calling `Undelete` ([Android](projects.androidApps/undelete) | [iOS](projects.iosApps/undelete) | [web](projects.webApps/undelete))." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FirebaseProject": { +"description": "A `FirebaseProject` is the top-level Firebase entity. It is the container for Firebase Apps, Firebase Hosting sites, storage systems (Firebase Realtime Database, Cloud Firestore, Cloud Storage buckets), and other Firebase and Google Cloud resources. You create a `FirebaseProject` by calling AddFirebase and specifying an *existing* [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). This adds Firebase resources to the existing Google Cloud `Project`. Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs.", +"id": "FirebaseProject", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "A set of user-defined annotations for the FirebaseProject. Learn more about annotations in Google's [AIP-128 standard](https://google.aip.dev/128#annotations). These annotations are intended solely for developers and client-side tools. Firebase services will not mutate this annotations set.", +"type": "object" +}, +"displayName": { +"description": "The user-assigned display name of the Project.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.", +"type": "string" +}, +"name": { +"description": "The resource name of the Project, in the format: projects/PROJECT_IDENTIFIER PROJECT_IDENTIFIER: the Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`.", +"type": "string" +}, +"projectId": { +"description": "Output only. Immutable. A user-assigned unique identifier for the Project. This identifier may appear in URLs or names for some Firebase resources associated with the Project, but it should generally be treated as a convenience alias to reference the Project.", +"readOnly": true, +"type": "string" +}, +"projectNumber": { +"description": "Output only. Immutable. The globally unique, Google-assigned canonical identifier for the Project. Use this identifier when configuring integrations and/or making API calls to Firebase or third-party services.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resources": { +"$ref": "DefaultResources", +"deprecated": true, +"description": "Output only. **DEPRECATED.** _Auto-provisioning of these resources is changing, so this object no longer reliably provides information about the Project. Instead, retrieve information about each resource directly from its resource-specific API._ The default Firebase resources associated with the Project.", +"readOnly": true +}, +"state": { +"description": "Output only. The lifecycle state of the Project.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"The Project is active.", +"The Project has been soft-deleted." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IosApp": { +"description": "Details of a Firebase App for iOS.", +"id": "IosApp", +"properties": { +"apiKeyId": { +"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `IosApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.iosApps/getConfig). If `api_key_id` is not set in requests to [`iosApps.Create`](../../rest/v1beta1/projects.iosApps/create), then Firebase automatically associates an `api_key_id` with the `IosApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `IosApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.", +"type": "string" +}, +"appId": { +"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `IosApp`. This identifier should be treated as an opaque token, as the data format is not specified.", +"readOnly": true, +"type": "string" +}, +"appStoreId": { +"description": "The automatically generated Apple ID assigned to the iOS app by Apple in the iOS App Store.", +"type": "string" +}, +"bundleId": { +"description": "Immutable. The canonical bundle ID of the iOS app as it would appear in the iOS AppStore.", +"type": "string" +}, +"displayName": { +"description": "The user-assigned display name for the `IosApp`.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.", +"type": "string" +}, +"expireTime": { +"description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER /iosApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.iosApps#IosApp.FIELDS.app_id)).", +"type": "string" +}, +"projectId": { +"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `IosApp`.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The lifecycle state of the App.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"The App is active.", +"The App has been soft-deleted. After an App has been in the `DELETED` state for more than 30 days, it is considered expired and will be permanently deleted. Up until this time, you can restore the App by calling `Undelete` ([Android](projects.androidApps/undelete) | [iOS](projects.iosApps/undelete) | [web](projects.webApps/undelete))." +], +"readOnly": true, +"type": "string" +}, +"teamId": { +"description": "The Apple Developer Team ID associated with the App in the App Store.", +"type": "string" +} +}, +"type": "object" +}, +"IosAppConfig": { +"description": "Configuration metadata of a single Firebase App for iOS.", +"id": "IosAppConfig", +"properties": { +"configFileContents": { +"description": "The content of the XML configuration file.", +"format": "byte", +"type": "string" +}, +"configFilename": { +"description": "The filename that the configuration artifact for the `IosApp` is typically saved as. For example: `GoogleService-Info.plist`", +"type": "string" +} +}, +"type": "object" +}, +"ListAndroidAppsResponse": { +"id": "ListAndroidAppsResponse", +"properties": { +"apps": { +"description": "List of each `AndroidApp` associated with the specified `FirebaseProject`.", +"items": { +"$ref": "AndroidApp" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent call to `ListAndroidApps` to find the next group of Apps. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"ListAvailableLocationsResponse": { +"deprecated": true, +"id": "ListAvailableLocationsResponse", +"properties": { +"locations": { +"description": "One page of results from a call to `ListAvailableLocations`.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results and all available locations have been listed. This token can be used in a subsequent call to `ListAvailableLocations` to find more locations. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"ListAvailableProjectsResponse": { +"id": "ListAvailableProjectsResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent calls to `ListAvailableProjects` to find the next group of Projects. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"projectInfo": { +"description": "The list of Google Cloud `Projects` which can have Firebase resources added to them.", +"items": { +"$ref": "ProjectInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFirebaseProjectsResponse": { +"id": "ListFirebaseProjectsResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent calls to `ListFirebaseProjects` to find the next group of Projects. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"results": { +"description": "One page of the list of Projects that are accessible to the caller.", +"items": { +"$ref": "FirebaseProject" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListIosAppsResponse": { +"id": "ListIosAppsResponse", +"properties": { +"apps": { +"description": "List of each `IosApp` associated with the specified `FirebaseProject`.", +"items": { +"$ref": "IosApp" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent call to `ListIosApps` to find the next group of Apps. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"ListShaCertificatesResponse": { +"id": "ListShaCertificatesResponse", +"properties": { +"certificates": { +"description": "The list of each `ShaCertificate` associated with the `AndroidApp`.", +"items": { +"$ref": "ShaCertificate" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWebAppsResponse": { +"id": "ListWebAppsResponse", +"properties": { +"apps": { +"description": "List of each `WebApp` associated with the specified `FirebaseProject`.", +"items": { +"$ref": "WebApp" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent call to `ListWebApps` to find the next group of Apps. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"Location": { +"deprecated": true, +"description": "**DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) that can be selected for a FirebaseProject. These are resources associated with Google App Engine.", +"id": "Location", +"properties": { +"features": { +"description": "Products and services that are available in the location for default Google Cloud resources.", +"items": { +"enum": [ +"LOCATION_FEATURE_UNSPECIFIED", +"FIRESTORE", +"DEFAULT_STORAGE", +"FUNCTIONS" +], +"enumDescriptions": [ +"Used internally for distinguishing unset values and is not intended for external use.", +"This location supports Cloud Firestore database instances. Google App Engine is available in this location, so it can be a Project's location for default Google Cloud resources.", +"This location supports default Cloud Storage buckets. Google App Engine is available in this location, so it can be a Project's location for default Google Cloud resources.", +"Cloud Functions for Firebase is available in this location." +], +"type": "string" +}, +"type": "array" +}, +"locationId": { +"description": "The ID of the Project's location for default Google Cloud resources. It will be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", +"type": "string" +}, +"type": { +"description": "Indicates whether the location for default Google Cloud resources is a [regional or multi-regional location](https://firebase.google.com/docs/projects/locations#types) for data replication.", +"enum": [ +"LOCATION_TYPE_UNSPECIFIED", +"REGIONAL", +"MULTI_REGIONAL" +], +"enumDescriptions": [ +"Used internally for distinguishing unset values and is not intended for external use.", +"The location is a regional location. Data in a regional location is replicated in multiple zones within a region.", +"The location is a multi-regional location. Data in a multi-region location is replicated in multiple regions. Within each region, data is replicated in multiple zones." +], +"type": "string" +} +}, +"type": "object" +}, +"MessageSet": { +"description": "This is proto2's version of MessageSet.", +"id": "MessageSet", +"properties": {}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Describes the progress of an LRO. It is included in the `metadata` field of the `Operation`.", +"id": "OperationMetadata", +"properties": {}, +"type": "object" +}, +"ProductMetadata": { +"description": "Metadata about a long-running Product operation.", +"id": "ProductMetadata", +"properties": { +"warningMessages": { +"description": "List of warnings related to the associated operation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectInfo": { +"description": "A reference to a Google Cloud `Project`.", +"id": "ProjectInfo", +"properties": { +"displayName": { +"description": "The user-assigned display name of the Google Cloud `Project`, for example: `My App`.", +"type": "string" +}, +"locationId": { +"description": "**DEPRECATED** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location). The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). Not all Projects will have this field populated. If it is not populated, it means that the Project does not yet have a location for default Google Cloud resources.", +"type": "string" +}, +"project": { +"description": "The resource name of the Google Cloud `Project` to which Firebase resources can be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"type": "string" +} +}, +"type": "object" +}, +"RemoveAnalyticsRequest": { +"id": "RemoveAnalyticsRequest", +"properties": { +"analyticsPropertyId": { +"description": "Optional. The ID of the Google Analytics property associated with the specified `FirebaseProject`. - If not set, then the Google Analytics property that is currently associated with the specified `FirebaseProject` is removed. - If set, and the specified `FirebaseProject` is currently associated with a *different* Google Analytics property, then the response is a `412 Precondition Failed` error. ", +"type": "string" +} +}, +"type": "object" +}, +"RemoveAndroidAppRequest": { +"id": "RemoveAndroidAppRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the App is not found, the request will succeed but no action will be taken on the server.", +"type": "boolean" +}, +"etag": { +"description": "Checksum provided in the AndroidApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"immediate": { +"description": "Determines whether to _immediately_ delete the AndroidApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteAndroidApp.", +"type": "boolean" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be removed.", +"type": "boolean" +} +}, +"type": "object" +}, +"RemoveIosAppRequest": { +"id": "RemoveIosAppRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the App is not found, the request will succeed but no action will be taken on the server.", +"type": "boolean" +}, +"etag": { +"description": "Checksum provided in the IosApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"immediate": { +"description": "Determines whether to _immediately_ delete the IosApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteIosApp", +"type": "boolean" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be removed.", +"type": "boolean" +} +}, +"type": "object" +}, +"RemoveWebAppRequest": { +"id": "RemoveWebAppRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the App is not found, the request will succeed but no action will be taken on the server.", +"type": "boolean" +}, +"etag": { +"description": "Checksum provided in the WebApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"immediate": { +"description": "Determines whether to _immediately_ delete the WebApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteWebApp", +"type": "boolean" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be removed.", +"type": "boolean" +} +}, +"type": "object" +}, +"SearchFirebaseAppsResponse": { +"id": "SearchFirebaseAppsResponse", +"properties": { +"apps": { +"description": "One page of results from a call to `SearchFirebaseApps`.", +"items": { +"$ref": "FirebaseAppInfo" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. This token can be used in a subsequent calls to `SearchFirebaseApps` to find the next group of Apps. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"ShaCertificate": { +"description": "A SHA-1 or SHA-256 certificate associated with the AndroidApp.", +"id": "ShaCertificate", +"properties": { +"certType": { +"description": "The type of SHA certificate encoded in the hash.", +"enum": [ +"SHA_CERTIFICATE_TYPE_UNSPECIFIED", +"SHA_1", +"SHA_256" +], +"enumDescriptions": [ +"Unknown state. This is only used for distinguishing unset values.", +"Certificate is a SHA-1 type certificate.", +"Certificate is a SHA-256 type certificate." +], +"type": "string" +}, +"name": { +"description": "The resource name of the ShaCertificate for the AndroidApp, in the format: projects/PROJECT_IDENTIFIER/androidApps/APP_ID/sha/SHA_HASH * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). * SHA_HASH: the certificate hash for the App (see [`shaHash`](../projects.androidApps.sha#ShaCertificate.FIELDS.sha_hash)).", +"type": "string" +}, +"shaHash": { +"description": "The certificate hash for the `AndroidApp`.", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StatusProto": { +"description": "Wire-format for a Status object", +"id": "StatusProto", +"properties": { +"canonicalCode": { +"description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 canonical_code = 6;", +"format": "int32", +"type": "integer" +}, +"code": { +"description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 code = 1;", +"format": "int32", +"type": "integer" +}, +"message": { +"description": "Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3;", +"type": "string" +}, +"messageSet": { +"$ref": "MessageSet", +"description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" +}, +"space": { +"description": "The following are usually only present when code != 0 Space to which this status belongs", +"type": "string" +} +}, +"type": "object" +}, +"StreamMapping": { +"description": "A mapping of a Firebase App to a Google Analytics data stream", +"id": "StreamMapping", +"properties": { +"app": { +"description": "The resource name of the Firebase App associated with the Google Analytics data stream, in the format: projects/PROJECT_IDENTIFIER/androidApps/APP_ID or projects/PROJECT_IDENTIFIER/iosApps/APP_ID or projects/PROJECT_IDENTIFIER /webApps/APP_ID Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", +"type": "string" +}, +"measurementId": { +"description": "Applicable for Firebase Web Apps only. The unique Google-assigned identifier of the Google Analytics web stream associated with the Firebase Web App. Firebase SDKs use this ID to interact with Google Analytics APIs. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/answer/9304153).", +"type": "string" +}, +"streamId": { +"description": "The unique Google-assigned identifier of the Google Analytics data stream associated with the Firebase App. Learn more about Google Analytics data streams in the [Analytics documentation](https://support.google.com/analytics/answer/9303323).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"UndeleteAndroidAppRequest": { +"id": "UndeleteAndroidAppRequest", +"properties": { +"etag": { +"description": "Checksum provided in the AndroidApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be undeleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"UndeleteIosAppRequest": { +"id": "UndeleteIosAppRequest", +"properties": { +"etag": { +"description": "Checksum provided in the IosApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be undeleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"UndeleteWebAppRequest": { +"id": "UndeleteWebAppRequest", +"properties": { +"etag": { +"description": "Checksum provided in the WebApp resource. If provided, this checksum ensures that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"validateOnly": { +"description": "If set to true, the request is only validated. The App will _not_ be undeleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"WebApp": { +"description": "Details of a Firebase App for the web.", +"id": "WebApp", +"properties": { +"apiKeyId": { +"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `WebApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.webApps/getConfig). If `api_key_id` is not set in requests to [`webApps.Create`](../../rest/v1beta1/projects.webApps/create), then Firebase automatically associates an `api_key_id` with the `WebApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `WebApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.", +"type": "string" +}, +"appId": { +"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `WebApp`. This identifier should be treated as an opaque token, as the data format is not specified.", +"readOnly": true, +"type": "string" +}, +"appUrls": { +"description": "The URLs where the `WebApp` is hosted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "The user-assigned display name for the `WebApp`.", +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.", +"type": "string" +}, +"expireTime": { +"description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER /webApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.webApps#WebApp.FIELDS.app_id)).", +"type": "string" +}, +"projectId": { +"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `WebApp`.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The lifecycle state of the App.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state.", +"The App is active.", +"The App has been soft-deleted. After an App has been in the `DELETED` state for more than 30 days, it is considered expired and will be permanently deleted. Up until this time, you can restore the App by calling `Undelete` ([Android](projects.androidApps/undelete) | [iOS](projects.iosApps/undelete) | [web](projects.webApps/undelete))." +], +"readOnly": true, +"type": "string" +}, +"webId": { +"deprecated": true, +"description": "Output only. Immutable. A unique, Firebase-assigned identifier for the `WebApp`. This identifier is only used to populate the `namespace` value for the `WebApp`. For most use cases, use `appId` to identify or reference the App. The `webId` value is only unique within a `FirebaseProject` and its associated Apps.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WebAppConfig": { +"description": "Configuration metadata of a single Firebase App for the web.", +"id": "WebAppConfig", +"properties": { +"apiKey": { +"description": "The [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key associated with the `WebApp`. Note that this value is _not_ the [`apiKeyId`](../projects.webApps#WebApp.FIELDS.api_key_id) (the UID) of the API key associated with the `WebApp`.", +"type": "string" +}, +"appId": { +"description": "Immutable. The globally unique, Firebase-assigned identifier for the `WebApp`.", +"type": "string" +}, +"authDomain": { +"description": "The domain Firebase Auth configures for OAuth redirects, in the format: PROJECT_ID.firebaseapp.com", +"type": "string" +}, +"databaseURL": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance.", +"type": "string" +}, +"locationId": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", +"type": "string" +}, +"measurementId": { +"description": "The unique Google-assigned identifier of the Google Analytics web stream associated with the `WebApp`. Firebase SDKs use this ID to interact with Google Analytics APIs. This field is only present if the `WebApp` is linked to a web stream in a Google Analytics App + Web property. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/answer/9304153). To generate a `measurementId` and link the `WebApp` with a Google Analytics web stream, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics). For apps using the Firebase JavaScript SDK v7.20.0 and later, Firebase dynamically fetches the `measurementId` when your app initializes Analytics. Having this ID in your config object is optional, but it does serve as a fallback in the rare case that the dynamic fetch fails.", +"type": "string" +}, +"messagingSenderId": { +"description": "The sender ID for use with Firebase Cloud Messaging.", +"type": "string" +}, +"projectId": { +"description": "Immutable. A user-assigned unique identifier for the `FirebaseProject`.", +"type": "string" +}, +"projectNumber": { +"description": "Output only. Immutable. The globally unique, Google-assigned canonical identifier for the Project. Use this identifier when configuring integrations and/or making API calls to Google Cloud or third-party services.", +"readOnly": true, +"type": "string" +}, +"realtimeDatabaseUrl": { +"description": "Optional. Duplicate field for the URL of the default Realtime Database instances (if the default instance has been provisioned). If the request asks for the V2 config format, this field will be populated instead of `realtime_database_instance_uri`.", +"type": "string" +}, +"storageBucket": { +"deprecated": true, +"description": "**DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket.", +"type": "string" +}, +"version": { +"description": "Version of the config specification.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase Management API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..a11345df90bf5676ae384a71de36b5855cd0db6d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json @@ -0,0 +1,2403 @@ +{ +"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/firebase": { +"description": "View and administer all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebaseappcheck.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebaseappcheck", +"description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/app-check", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebaseappcheck:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebaseappcheck.mtls.googleapis.com/", +"name": "firebaseappcheck", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"jwks": { +"methods": { +"get": { +"description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.", +"flatPath": "v1/jwks", +"httpMethod": "GET", +"id": "firebaseappcheck.jwks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`.", +"location": "path", +"pattern": "^jwks$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1PublicJwkSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"oauthClients": { +"methods": { +"exchangeAppAttestAssertion": { +"description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1/oauthClients/{oauthClientsId}:exchangeAppAttestAssertion", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeAppAttestAssertion", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeAppAttestAssertion", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeAppAttestAttestation": { +"description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", +"flatPath": "v1/oauthClients/{oauthClientsId}:exchangeAppAttestAttestation", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeAppAttestAttestation", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeAppAttestAttestation", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDebugToken": { +"description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", +"flatPath": "v1/oauthClients/{oauthClientsId}:exchangeDebugToken", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeDebugToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeDebugToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generateAppAttestChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", +"flatPath": "v1/oauthClients/{oauthClientsId}:generateAppAttestChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.generateAppAttestChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:generateAppAttestChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"projects": { +"resources": { +"apps": { +"methods": { +"exchangeAppAttestAssertion": { +"description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAssertion", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeAppAttestAssertion", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeAppAttestAssertion", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeAppAttestAttestation": { +"description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAttestation", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeAppAttestAttestation", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeAppAttestAttestation", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeCustomToken": { +"description": "Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeCustomToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeCustomToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeCustomToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDebugToken": { +"description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDebugToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeDebugToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeDebugToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDeviceCheckToken": { +"description": "Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeDeviceCheckToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeDeviceCheckToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangePlayIntegrityToken": { +"description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangePlayIntegrityToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeRecaptchaEnterpriseToken": { +"description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeRecaptchaEnterpriseToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeRecaptchaV3Token": { +"description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaV3Token", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeRecaptchaV3Token", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeSafetyNetToken": { +"deprecated": true, +"description": "Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an AppCheckToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeSafetyNetToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeSafetyNetToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:exchangeSafetyNetToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generateAppAttestChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:generateAppAttestChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.generateAppAttestChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:generateAppAttestChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generatePlayIntegrityChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}:generatePlayIntegrityChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"appAttestConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the AppAttestConfigs for the specified list of apps.", +"flatPath": "v1/projects/{projectsId}/apps/-/appAttestConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/appAttestConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the AppAttestConfig for the specified app.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.appAttestConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the AppAttestConfig, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the AppAttestConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange AppAttest tokens for App Check tokens.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.appAttestConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the AppAttestConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"debugTokens": { +"methods": { +"create": { +"description": "Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.debugTokens.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/debugTokens", +"request": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "DELETE", +"id": "firebaseappcheck.projects.apps.debugTokens.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.debugTokens.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.debugTokens.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/debugTokens", +"response": { +"$ref": "GoogleFirebaseAppcheckV1ListDebugTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.debugTokens.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"deviceCheckConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/deviceCheckConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig to update. Example: `key_id,private_key`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"playIntegrityConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", +"flatPath": "v1/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/playIntegrityConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the PlayIntegrityConfig for the specified app.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"recaptchaEnterpriseConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps.", +"flatPath": "v1/projects/{projectsId}/apps/-/recaptchaEnterpriseConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all RecaptchaEnterpriseConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the RecaptchaEnterpriseConfig for the specified app.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the RecaptchaEnterpriseConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the RecaptchaEnterpriseConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA Enterprise tokens for App Check tokens.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the RecaptchaEnterpriseConfig to update. Example: `site_key`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"recaptchaV3Config": { +"methods": { +"batchGet": { +"description": "Atomically gets the RecaptchaV3Configs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/-/recaptchaV3Config:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the RecaptchaV3Configs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all RecaptchaV3Configs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/recaptchaV3Config:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the RecaptchaV3Config for the specified app. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the RecaptchaV3Config, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the RecaptchaV3Config for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA V3 tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the RecaptchaV3Config to update. Example: `site_secret`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"safetyNetConfig": { +"deprecated": true, +"methods": { +"batchGet": { +"deprecated": true, +"description": "Atomically gets the SafetyNetConfigs for the specified list of apps.", +"flatPath": "v1/projects/{projectsId}/apps/-/safetyNetConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the SafetyNetConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all SafetyNetConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps/-/safetyNetConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"deprecated": true, +"description": "Gets the SafetyNetConfig for the specified app.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the SafetyNetConfig, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"deprecated": true, +"description": "Updates the SafetyNetConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange SafetyNet tokens for App Check tokens.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the SafetyNetConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +}, +"services": { +"methods": { +"batchUpdate": { +"description": "Atomically updates the specified Service configurations.", +"flatPath": "v1/projects/{projectsId}/services:batchUpdate", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/services:batchUpdate", +"request": { +"$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the Service configuration for the specified service name.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.", +"flatPath": "v1/projects/{projectsId}/services", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ```", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"response": { +"$ref": "GoogleFirebaseAppcheckV1ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified Service configuration.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1Service" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"resourcePolicies": { +"methods": { +"batchUpdate": { +"description": "Atomically updates the specified ResourcePolicy configurations.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.resourcePolicies.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent service name, in the format ``` projects/{project_number}/services/{service_id} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/resourcePolicies:batchUpdate", +"request": { +"$ref": "GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"create": { +"description": "Creates the specified ResourcePolicy configuration.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.resourcePolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative resource name of the parent Service in which the specified ResourcePolicy will be created, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/resourcePolicies", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Deletes the specified ResourcePolicy configuration.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "DELETE", +"id": "firebaseappcheck.projects.services.resourcePolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The checksum to be validated against the current ResourcePolicy, to ensure the client has an up-to-date value before proceeding. This checksum is computed by the server based on the values of fields in the ResourcePolicy object, and can be obtained from the ResourcePolicy object received from the last CreateResourcePolicy, GetResourcePolicy, ListResourcePolicies, UpdateResourcePolicy, or BatchUpdateResourcePolicies call. This etag is strongly validated as defined by RFC 7232.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the ResourcePolicy to delete, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the requested ResourcePolicy configuration.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.resourcePolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the ResourcePolicy to retrieve, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all ResourcePolicy configurations for the specified project and service.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.resourcePolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters the results by the specified rule. For the exact syntax of this field, please consult the [AIP-160](https://google.aip.dev/160) standard. Currently, since the only fields in the ResourcePolicy resource are the scalar fields `enforcement_mode` and `target_resource`, this method does not support the traversal operator (`.`) or the has operator (`:`). Here are some examples of valid filters: * `enforcement_mode = ENFORCED` * `target_resource = \"//oauth2.googleapis.com/projects/12345/oauthClients/\"` * `enforcement_mode = ENFORCED AND target_resource = \"//oauth2.googleapis.com/projects/12345/oauthClients/\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of ResourcePolicy objects to return in the response. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListResourcePolicies indicating where in the set of ResourcePolicy objects to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListResourcePolicies must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent Service for which to list each associated ResourcePolicy, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/resourcePolicies", +"response": { +"$ref": "GoogleFirebaseAppcheckV1ListResourcePoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified ResourcePolicy configuration.", +"flatPath": "v1/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.services.resourcePolicies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the ResourcePolicy to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +} +} +}, +"revision": "20240930", +"rootUrl": "https://firebaseappcheck.googleapis.com/", +"schemas": { +"GoogleFirebaseAppcheckV1AppAttestConfig": { +"description": "An app's App Attest configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).", +"id": "GoogleFirebaseAppcheckV1AppAttestConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from App Attest artifacts will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1AppCheckToken": { +"description": "Encapsulates an *App Check token*, which are used to access backend services protected by App Check.", +"id": "GoogleFirebaseAppcheckV1AppCheckToken", +"properties": { +"token": { +"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse": { +"description": "Response message for the BatchGetAppAttestConfigs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse", +"properties": { +"configs": { +"description": "AppAttestConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse": { +"description": "Response message for the BatchGetDeviceCheckConfigs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse", +"properties": { +"configs": { +"description": "DeviceCheckConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse": { +"description": "Response message for the BatchGetPlayIntegrityConfigs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse", +"properties": { +"configs": { +"description": "PlayIntegrityConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse": { +"description": "Response message for the BatchGetRecaptchaEnterpriseConfigs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse", +"properties": { +"configs": { +"description": "RecaptchaEnterpriseConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse": { +"description": "Response message for the BatchGetRecaptchaV3Configs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse", +"properties": { +"configs": { +"description": "RecaptchaV3Configs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse": { +"deprecated": true, +"description": "Response message for the BatchGetSafetyNetConfigs method.", +"id": "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse", +"properties": { +"configs": { +"description": "SafetyNetConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesRequest": { +"description": "Request message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesRequest", +"properties": { +"requests": { +"description": "Required. The request messages specifying the ResourcePolicy objects to update. A maximum of 100 objects can be updated in a batch.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1UpdateResourcePolicyRequest" +}, +"type": "array" +}, +"updateMask": { +"description": "Optional. A comma-separated list of names of fields in the ResourcePolicy objects to update. Example: `enforcement_mode`. If this field is present, the `update_mask` field in the UpdateResourcePolicyRequest messages must all match this field, or the entire batch fails and no updates will be committed.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesResponse": { +"description": "Response message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesResponse", +"properties": { +"resourcePolicies": { +"description": "ResourcePolicy objects after the updates have been applied.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchUpdateServicesRequest": { +"description": "Request message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest", +"properties": { +"requests": { +"description": "Required. The request messages specifying the Services to update. A maximum of 100 objects can be updated in a batch.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1UpdateServiceRequest" +}, +"type": "array" +}, +"updateMask": { +"description": "Optional. A comma-separated list of names of fields in the Services to update. Example: `display_name`. If the `update_mask` field is set in both this request and any of the UpdateServiceRequest messages, they must match or the entire batch fails and no updates will be committed.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1BatchUpdateServicesResponse": { +"description": "Response message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse", +"properties": { +"services": { +"description": "Service objects after the updates have been applied.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1DebugToken": { +"description": "A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.", +"id": "GoogleFirebaseAppcheckV1DebugToken", +"properties": { +"displayName": { +"description": "Required. A human readable display name used to identify this debug token.", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"type": "string" +}, +"token": { +"description": "Required. Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this debug token was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1DeviceCheckConfig": { +"description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned `AppCheckToken`, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).", +"id": "GoogleFirebaseAppcheckV1DeviceCheckConfig", +"properties": { +"keyId": { +"description": "Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"type": "string" +}, +"privateKey": { +"description": "Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"privateKeySet": { +"description": "Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.", +"readOnly": true, +"type": "boolean" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from DeviceCheck tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest": { +"description": "Request message for the ExchangeAppAttestAssertion method.", +"id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest", +"properties": { +"artifact": { +"description": "Required. The artifact returned by a previous call to ExchangeAppAttestAttestation.", +"format": "byte", +"type": "string" +}, +"assertion": { +"description": "Required. The CBOR-encoded assertion returned by the client-side App Attest API.", +"format": "byte", +"type": "string" +}, +"challenge": { +"description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", +"format": "byte", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest": { +"description": "Request message for the ExchangeAppAttestAttestation method.", +"id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest", +"properties": { +"attestationStatement": { +"description": "Required. The App Attest statement returned by the client-side App Attest API. This is a base64url encoded CBOR object in the JSON response.", +"format": "byte", +"type": "string" +}, +"challenge": { +"description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", +"format": "byte", +"type": "string" +}, +"keyId": { +"description": "Required. The key ID generated by App Attest for the client app.", +"format": "byte", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse": { +"description": "Response message for the ExchangeAppAttestAttestation method.", +"id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse", +"properties": { +"appCheckToken": { +"$ref": "GoogleFirebaseAppcheckV1AppCheckToken", +"description": "Encapsulates an App Check token." +}, +"artifact": { +"description": "An artifact that can be used in future calls to ExchangeAppAttestAssertion.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest": { +"description": "Request message for the ExchangeCustomToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest", +"properties": { +"customToken": { +"description": "Required. A custom token signed using your project's Admin SDK service account credentials.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest": { +"description": "Request message for the ExchangeDebugToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest", +"properties": { +"debugToken": { +"description": "Required. A debug token secret. This string must match a debug token secret previously created using CreateDebugToken.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest": { +"description": "Request message for the ExchangeDeviceCheckToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest", +"properties": { +"deviceToken": { +"description": "Required. The `device_token` as returned by Apple's client-side [DeviceCheck API](https://developer.apple.com/documentation/devicecheck/dcdevice). This is the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest": { +"description": "Request message for the ExchangePlayIntegrityToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"playIntegrityToken": { +"description": "Required. The [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify) issued to your app.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest": { +"description": "Request message for the ExchangeRecaptchaEnterpriseToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"recaptchaEnterpriseToken": { +"description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA Enterprise JavaScript API](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest": { +"description": "Request message for the ExchangeRecaptchaV3Token method.", +"id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"recaptchaV3Token": { +"description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest": { +"deprecated": true, +"description": "Request message for the ExchangeSafetyNetToken method.", +"id": "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest", +"properties": { +"safetyNetToken": { +"description": "Required. The [SafetyNet attestation response](https://developer.android.com/training/safetynet/attestation#request-attestation-step) issued to your app.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest": { +"description": "Request message for the GenerateAppAttestChallenge method.", +"id": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse": { +"description": "Response message for the GenerateAppAttestChallenge method.", +"id": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse", +"properties": { +"challenge": { +"description": "A one-time use challenge for the client to pass to the App Attest API.", +"format": "byte", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest": { +"description": "Request message for the GeneratePlayIntegrityChallenge method.", +"id": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse": { +"description": "Response message for the GeneratePlayIntegrityChallenge method.", +"id": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse", +"properties": { +"challenge": { +"description": "A one-time use [challenge](https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) for the client to pass to the Play Integrity API.", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ListDebugTokensResponse": { +"description": "Response message for the ListDebugTokens method.", +"id": "GoogleFirebaseAppcheckV1ListDebugTokensResponse", +"properties": { +"debugTokens": { +"description": "The DebugTokens retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1DebugToken" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListDebugTokens to find the next group of DebugTokens. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ListResourcePoliciesResponse": { +"description": "Response message for the ListResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1ListResourcePoliciesResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListResourcePolicies to find the next group of ResourcePolicy objects. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"resourcePolicies": { +"description": "The ResourcePolicy objects retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ListServicesResponse": { +"description": "Response message for the ListServices method.", +"id": "GoogleFirebaseAppcheckV1ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListServices to find the next group of Services. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"services": { +"description": "The Services retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1PlayIntegrityConfig": { +"description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", +"id": "GoogleFirebaseAppcheckV1PlayIntegrityConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from Play Integrity tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1PublicJwk": { +"description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).", +"id": "GoogleFirebaseAppcheckV1PublicJwk", +"properties": { +"alg": { +"description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).", +"type": "string" +}, +"e": { +"description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).", +"type": "string" +}, +"kid": { +"description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).", +"type": "string" +}, +"kty": { +"description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).", +"type": "string" +}, +"n": { +"description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).", +"type": "string" +}, +"use": { +"description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1PublicJwkSet": { +"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.", +"id": "GoogleFirebaseAppcheckV1PublicJwkSet", +"properties": { +"keys": { +"description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).", +"items": { +"$ref": "GoogleFirebaseAppcheckV1PublicJwk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig": { +"description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", +"id": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"type": "string" +}, +"siteKey": { +"description": "The score-based site key [created in reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key) used to [invoke reCAPTCHA and generate the reCAPTCHA tokens](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages) for your application. Important: This is *not* the `site_secret` (as it is in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1RecaptchaV3Config": { +"description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", +"id": "GoogleFirebaseAppcheckV1RecaptchaV3Config", +"properties": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"type": "string" +}, +"siteSecret": { +"description": "Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"siteSecretSet": { +"description": "Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.", +"readOnly": true, +"type": "boolean" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA tokens will be valid. If unset, a default value of 1 day is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1ResourcePolicy": { +"description": "App Check enforcement policy for a specific resource of a Google service supported by App Check. Note that this policy will override the service-level configuration.", +"id": "GoogleFirebaseAppcheckV1ResourcePolicy", +"properties": { +"enforcementMode": { +"description": "Required. The App Check enforcement mode for this resource. This will override the EnforcementMode setting on the service.", +"enum": [ +"OFF", +"UNENFORCED", +"ENFORCED" +], +"enumDescriptions": [ +"Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", +"Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", +"Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." +], +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.", +"type": "string" +}, +"name": { +"description": "Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.", +"type": "string" +}, +"targetResource": { +"description": "Required. Service specific name of the resource object to which this policy applies, in the format: * **iOS OAuth clients** (Google Identity for iOS): `//oauth2.googleapis.com/projects/{project_number}/oauthClients/{oauth_client_id}` Note that the resource must belong to the service specified in the `name` and be from the same project as this policy, but the resource is allowed to be missing at the time of creation of this policy; in that case, we make a best-effort attempt at respecting this policy, but it may not have any effect until the resource is fully created.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this resource policy configuration object was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1SafetyNetConfig": { +"deprecated": true, +"description": "An app's SafetyNet configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.androidApps.sha/create).", +"id": "GoogleFirebaseAppcheckV1SafetyNetConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from SafetyNet tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1Service": { +"description": "The enforcement configuration for a Firebase service supported by App Check.", +"id": "GoogleFirebaseAppcheckV1Service", +"properties": { +"enforcementMode": { +"description": "Required. The App Check enforcement mode for this service.", +"enum": [ +"OFF", +"UNENFORCED", +"ENFORCED" +], +"enumDescriptions": [ +"Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", +"Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", +"Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." +], +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1UpdateResourcePolicyRequest": { +"description": "Request message for the UpdateResourcePolicy method as well as an individual update message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1UpdateResourcePolicyRequest", +"properties": { +"resourcePolicy": { +"$ref": "GoogleFirebaseAppcheckV1ResourcePolicy", +"description": "Required. The ResourcePolicy to update. The ResourcePolicy's `name` field is used to identify the ResourcePolicy to be updated, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the ResourcePolicy to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1UpdateServiceRequest": { +"description": "Request message for the UpdateService method as well as an individual update message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1UpdateServiceRequest", +"properties": { +"service": { +"$ref": "GoogleFirebaseAppcheckV1Service", +"description": "Required. The Service to update. The Service's `name` field is used to identify the Service to be updated, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase App Check API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..5af296d0c750e0d34ddf125ba647ff4af0f45f62 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json @@ -0,0 +1,2677 @@ +{ +"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/firebase": { +"description": "View and administer all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebaseappcheck.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebaseappcheck", +"description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/app-check", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebaseappcheck:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebaseappcheck.mtls.googleapis.com/", +"name": "firebaseappcheck", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"jwks": { +"methods": { +"get": { +"description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.", +"flatPath": "v1beta/jwks", +"httpMethod": "GET", +"id": "firebaseappcheck.jwks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`.", +"location": "path", +"pattern": "^jwks$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaPublicJwkSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"oauthClients": { +"methods": { +"exchangeAppAttestAssertion": { +"description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1beta/oauthClients/{oauthClientsId}:exchangeAppAttestAssertion", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeAppAttestAssertion", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeAppAttestAssertion", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeAppAttestAttestation": { +"description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", +"flatPath": "v1beta/oauthClients/{oauthClientsId}:exchangeAppAttestAttestation", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeAppAttestAttestation", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeAppAttestAttestation", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDebugToken": { +"description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", +"flatPath": "v1beta/oauthClients/{oauthClientsId}:exchangeDebugToken", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.exchangeDebugToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeDebugToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generateAppAttestChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", +"flatPath": "v1beta/oauthClients/{oauthClientsId}:generateAppAttestChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.oauthClients.generateAppAttestChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^oauthClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:generateAppAttestChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"projects": { +"methods": { +"verifyAppCheckToken": { +"description": "Verifies the given App Check token and returns token usage signals that callers may act upon. This method currently only supports App Check tokens exchanged from the following attestation providers: * Play Integrity API * App Attest * DeviceCheck (`DCDevice` tokens) * reCAPTCHA Enterprise * reCAPTCHA v3 * Custom providers App Check tokens exchanged from debug secrets are also supported. Calling this method on an otherwise valid App Check token with an unsupported provider will cause an HTTP 400 error to be returned. Returns whether this token was already consumed before this call. If this is the first time this method has seen the given App Check token, the field `already_consumed` in the response will be absent. The given token will then be marked as `already_consumed` (set to `true`) for all future invocations of this method for that token. Note that if the given App Check token is invalid, an HTTP 403 error is returned instead of a response object, regardless whether the token was already consumed. Currently, when evaluating whether an App Check token was already consumed, only calls to this exact method are counted. Use of the App Check token elsewhere will not mark the token as being already consumed. The caller must have the [`firebaseappcheck.appCheckTokens.verify`](https://firebase.google.com/docs/projects/iam/permissions#app-check) permission to call this method. This permission is part of the [Firebase App Check Token Verifier role](https://firebase.google.com/docs/projects/iam/roles-predefined-product#app-check).", +"flatPath": "v1beta/projects/{projectsId}:verifyAppCheckToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.verifyAppCheckToken", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. The relative resource name of the project for which the token was minted, in the format: ``` projects/{project_number} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+project}:verifyAppCheckToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"apps": { +"methods": { +"exchangeAppAttestAssertion": { +"description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAssertion", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeAppAttestAssertion", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeAppAttestAssertion", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeAppAttestAttestation": { +"description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAttestation", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeAppAttestAttestation", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeAppAttestAttestation", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeCustomToken": { +"description": "Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeCustomToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeCustomToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeCustomToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDebugToken": { +"description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeDebugToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeDebugToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeDebugToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeDeviceCheckToken": { +"description": "Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeDeviceCheckToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeDeviceCheckToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangePlayIntegrityToken": { +"description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangePlayIntegrityToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeRecaptchaEnterpriseToken": { +"description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an App Check token AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeRecaptchaEnterpriseToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeRecaptchaToken": { +"deprecated": true, +"description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeRecaptchaToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeRecaptchaToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeRecaptchaV3Token": { +"description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaV3Token", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeRecaptchaV3Token", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"exchangeSafetyNetToken": { +"deprecated": true, +"description": "Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an AppCheckToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeSafetyNetToken", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.exchangeSafetyNetToken", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:exchangeSafetyNetToken", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generateAppAttestChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:generateAppAttestChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.generateAppAttestChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: ``` oauthClients/{oauth_client_id} ``` You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see [the documentation](https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup) for more information.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:generateAppAttestChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"generatePlayIntegrityChallenge": { +"description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+app}:generatePlayIntegrityChallenge", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"appAttestConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the AppAttestConfigs for the specified list of apps.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/appAttestConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/appAttestConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the AppAttestConfig for the specified app.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/appAttestConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.appAttestConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the AppAttestConfig, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the AppAttestConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange AppAttest tokens for App Check tokens.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/appAttestConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.appAttestConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the AppAttestConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"debugTokens": { +"methods": { +"create": { +"description": "Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.apps.debugTokens.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/debugTokens", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "DELETE", +"id": "firebaseappcheck.projects.apps.debugTokens.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.debugTokens.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.debugTokens.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/debugTokens", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.debugTokens.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"deviceCheckConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig to update. Example: `key_id,private_key`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"playIntegrityConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/playIntegrityConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the PlayIntegrityConfig for the specified app.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"recaptchaConfig": { +"deprecated": true, +"methods": { +"batchGet": { +"deprecated": true, +"description": "Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the RecaptchaConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all RecaptchaConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/recaptchaConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"deprecated": true, +"description": "Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the RecaptchaConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"deprecated": true, +"description": "Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.recaptchaConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the RecaptchaConfig to update. Example: `site_secret`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"recaptchaEnterpriseConfig": { +"methods": { +"batchGet": { +"description": "Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaEnterpriseConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all RecaptchaEnterpriseConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the RecaptchaEnterpriseConfig for the specified app.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the RecaptchaEnterpriseConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the RecaptchaEnterpriseConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA Enterprise tokens for App Check tokens.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the RecaptchaEnterpriseConfig to update. Example: `site_key`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"recaptchaV3Config": { +"methods": { +"batchGet": { +"description": "Atomically gets the RecaptchaV3Configs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaV3Config:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the RecaptchaV3Configs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all RecaptchaV3Configs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/recaptchaV3Config:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the RecaptchaV3Config for the specified app. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the RecaptchaV3Config, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the RecaptchaV3Config for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA V3 tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.recaptchaV3Config.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the RecaptchaV3Config to update. Example: `site_secret`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"safetyNetConfig": { +"deprecated": true, +"methods": { +"batchGet": { +"deprecated": true, +"description": "Atomically gets the SafetyNetConfigs for the specified list of apps.", +"flatPath": "v1beta/projects/{projectsId}/apps/-/safetyNetConfig:batchGet", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The relative resource names of the SafetyNetConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100 objects can be retrieved in a batch.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent project name shared by all SafetyNetConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/apps/-/safetyNetConfig:batchGet", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"deprecated": true, +"description": "Gets the SafetyNetConfig for the specified app.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/safetyNetConfig", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the SafetyNetConfig, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"deprecated": true, +"description": "Updates the SafetyNetConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange SafetyNet tokens for App Check tokens.", +"flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/safetyNetConfig", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.apps.safetyNetConfig.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the SafetyNetConfig to update. Example: `token_ttl`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +}, +"services": { +"methods": { +"batchUpdate": { +"description": "Atomically updates the specified Service configurations.", +"flatPath": "v1beta/projects/{projectsId}/services:batchUpdate", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/services:batchUpdate", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the Service configuration for the specified service name.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `identitytoolkit.googleapis.com` (Firebase Authentication with Identity Platform) * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.", +"flatPath": "v1beta/projects/{projectsId}/services", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ```", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/services", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified Service configuration.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `identitytoolkit.googleapis.com` (Firebase Authentication with Identity Platform) * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaService" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"resourcePolicies": { +"methods": { +"batchUpdate": { +"description": "Atomically updates the specified ResourcePolicy configurations.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.resourcePolicies.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent service name, in the format ``` projects/{project_number}/services/{service_id} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/resourcePolicies:batchUpdate", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"create": { +"description": "Creates the specified ResourcePolicy configuration.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies", +"httpMethod": "POST", +"id": "firebaseappcheck.projects.services.resourcePolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative resource name of the parent Service in which the specified ResourcePolicy will be created, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/resourcePolicies", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Deletes the specified ResourcePolicy configuration.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "DELETE", +"id": "firebaseappcheck.projects.services.resourcePolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The checksum to be validated against the current ResourcePolicy, to ensure the client has an up-to-date value before proceeding. This checksum is computed by the server based on the values of fields in the ResourcePolicy object, and can be obtained from the ResourcePolicy object received from the last CreateResourcePolicy, GetResourcePolicy, ListResourcePolicies, UpdateResourcePolicy, or BatchUpdateResourcePolicies call. This etag is strongly validated as defined by RFC 7232.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the ResourcePolicy to delete, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ```", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the requested ResourcePolicy configuration.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.resourcePolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the ResourcePolicy to retrieve, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists all ResourcePolicy configurations for the specified project and service.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies", +"httpMethod": "GET", +"id": "firebaseappcheck.projects.services.resourcePolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters the results by the specified rule. For the exact syntax of this field, please consult the [AIP-160](https://google.aip.dev/160) standard. Currently, since the only fields in the ResourcePolicy resource are the scalar fields `enforcement_mode` and `target_resource`, this method does not support the traversal operator (`.`) or the has operator (`:`). Here are some examples of valid filters: * `enforcement_mode = ENFORCED` * `target_resource = \"//oauth2.googleapis.com/projects/12345/oauthClients/\"` * `enforcement_mode = ENFORCED AND target_resource = \"//oauth2.googleapis.com/projects/12345/oauthClients/\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of ResourcePolicy objects to return in the response. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to ListResourcePolicies indicating where in the set of ResourcePolicy objects to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListResourcePolicies must match the call that provided the page token; if they do not match, the result is undefined.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the parent Service for which to list each associated ResourcePolicy, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/resourcePolicies", +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"patch": { +"description": "Updates the specified ResourcePolicy configuration.", +"flatPath": "v1beta/projects/{projectsId}/services/{servicesId}/resourcePolicies/{resourcePoliciesId}", +"httpMethod": "PATCH", +"id": "firebaseappcheck.projects.services.resourcePolicies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.", +"location": "path", +"pattern": "^projects/[^/]+/services/[^/]+/resourcePolicies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the ResourcePolicy to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"response": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +} +} +}, +"revision": "20240930", +"rootUrl": "https://firebaseappcheck.googleapis.com/", +"schemas": { +"GoogleFirebaseAppcheckV1betaAppAttestConfig": { +"description": "An app's App Attest configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", +"id": "GoogleFirebaseAppcheckV1betaAppAttestConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from App Attest artifacts will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaAppCheckToken": { +"description": "Encapsulates an *App Check token*, which are used to access backend services protected by App Check.", +"id": "GoogleFirebaseAppcheckV1betaAppCheckToken", +"properties": { +"attestationToken": { +"deprecated": true, +"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.", +"type": "string" +}, +"token": { +"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaAttestationTokenResponse": { +"deprecated": true, +"description": "Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.", +"id": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse", +"properties": { +"attestationToken": { +"description": "An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse": { +"description": "Response message for the BatchGetAppAttestConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse", +"properties": { +"configs": { +"description": "AppAttestConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse": { +"description": "Response message for the BatchGetDeviceCheckConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse", +"properties": { +"configs": { +"description": "DeviceCheckConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse": { +"description": "Response message for the BatchGetPlayIntegrityConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse", +"properties": { +"configs": { +"description": "PlayIntegrityConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse": { +"deprecated": true, +"description": "Response message for the BatchGetRecaptchaConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse", +"properties": { +"configs": { +"description": "RecaptchaConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse": { +"description": "Response message for the BatchGetRecaptchaEnterpriseConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse", +"properties": { +"configs": { +"description": "RecaptchaEnterpriseConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse": { +"description": "Response message for the BatchGetRecaptchaV3Configs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse", +"properties": { +"configs": { +"description": "RecaptchaV3Configs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse": { +"deprecated": true, +"description": "Response message for the BatchGetSafetyNetConfigs method.", +"id": "GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse", +"properties": { +"configs": { +"description": "SafetyNetConfigs retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest": { +"description": "Request message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest", +"properties": { +"requests": { +"description": "Required. The request messages specifying the ResourcePolicy objects to update. A maximum of 100 objects can be updated in a batch.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest" +}, +"type": "array" +}, +"updateMask": { +"description": "Optional. A comma-separated list of names of fields in the ResourcePolicy objects to update. Example: `enforcement_mode`. If this field is present, the `update_mask` field in the UpdateResourcePolicyRequest messages must all match this field, or the entire batch fails and no updates will be committed.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse": { +"description": "Response message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse", +"properties": { +"resourcePolicies": { +"description": "ResourcePolicy objects after the updates have been applied.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest": { +"description": "Request message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest", +"properties": { +"requests": { +"description": "Required. The request messages specifying the Services to update. A maximum of 100 objects can be updated in a batch.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaUpdateServiceRequest" +}, +"type": "array" +}, +"updateMask": { +"description": "Optional. A comma-separated list of names of fields in the Services to update. Example: `display_name`. If the `update_mask` field is set in both this request and any of the UpdateServiceRequest messages, they must match or the entire batch fails and no updates will be committed.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse": { +"description": "Response message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse", +"properties": { +"services": { +"description": "Service objects after the updates have been applied.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaService" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaDebugToken": { +"description": "A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.", +"id": "GoogleFirebaseAppcheckV1betaDebugToken", +"properties": { +"displayName": { +"description": "Required. A human readable display name used to identify this debug token.", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", +"type": "string" +}, +"token": { +"description": "Required. Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this debug token was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaDeviceCheckConfig": { +"description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned `AppCheckToken`, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", +"id": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig", +"properties": { +"keyId": { +"description": "Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", +"type": "string" +}, +"privateKey": { +"description": "Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"privateKeySet": { +"description": "Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.", +"readOnly": true, +"type": "boolean" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from DeviceCheck tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest": { +"description": "Request message for the ExchangeAppAttestAssertion method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest", +"properties": { +"artifact": { +"description": "Required. The artifact returned by a previous call to ExchangeAppAttestAttestation.", +"format": "byte", +"type": "string" +}, +"assertion": { +"description": "Required. The CBOR-encoded assertion returned by the client-side App Attest API.", +"format": "byte", +"type": "string" +}, +"challenge": { +"description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", +"format": "byte", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest": { +"description": "Request message for the ExchangeAppAttestAttestation method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest", +"properties": { +"attestationStatement": { +"description": "Required. The App Attest statement returned by the client-side App Attest API. This is a base64url encoded CBOR object in the JSON response.", +"format": "byte", +"type": "string" +}, +"challenge": { +"description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", +"format": "byte", +"type": "string" +}, +"keyId": { +"description": "Required. The key ID generated by App Attest for the client app.", +"format": "byte", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse": { +"description": "Response message for the ExchangeAppAttestAttestation method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse", +"properties": { +"appCheckToken": { +"$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken", +"description": "Encapsulates an App Check token." +}, +"artifact": { +"description": "An artifact that can be used in future calls to ExchangeAppAttestAssertion.", +"format": "byte", +"type": "string" +}, +"attestationToken": { +"$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse", +"deprecated": true, +"description": "Encapsulates an App Check token." +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest": { +"description": "Request message for the ExchangeCustomToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest", +"properties": { +"customToken": { +"description": "Required. A custom token signed using your project's Admin SDK service account credentials.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest": { +"description": "Request message for the ExchangeDebugToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest", +"properties": { +"debugToken": { +"description": "Required. A debug token secret. This string must match a debug token secret previously created using CreateDebugToken.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest": { +"description": "Request message for the ExchangeDeviceCheckToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest", +"properties": { +"deviceToken": { +"description": "Required. The `device_token` as returned by Apple's client-side [DeviceCheck API](https://developer.apple.com/documentation/devicecheck/dcdevice). This is the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.", +"type": "string" +}, +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest": { +"description": "Request message for the ExchangePlayIntegrityToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"playIntegrityToken": { +"description": "Required. The [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify) issued to your app.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest": { +"description": "Request message for the ExchangeRecaptchaEnterpriseToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"recaptchaEnterpriseToken": { +"description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA Enterprise JavaScript API](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest": { +"deprecated": true, +"description": "Request message for the ExchangeRecaptchaToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest", +"properties": { +"recaptchaToken": { +"description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest": { +"description": "Request message for the ExchangeRecaptchaV3Token method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest", +"properties": { +"limitedUse": { +"description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", +"type": "boolean" +}, +"recaptchaV3Token": { +"description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest": { +"deprecated": true, +"description": "Request message for the ExchangeSafetyNetToken method.", +"id": "GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest", +"properties": { +"safetyNetToken": { +"description": "Required. The [SafetyNet attestation response](https://developer.android.com/training/safetynet/attestation#request-attestation-step) issued to your app.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest": { +"description": "Request message for the GenerateAppAttestChallenge method.", +"id": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse": { +"description": "Response message for the GenerateAppAttestChallenge method.", +"id": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse", +"properties": { +"challenge": { +"description": "A one-time use challenge for the client to pass to the App Attest API.", +"format": "byte", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest": { +"description": "Request message for the GeneratePlayIntegrityChallenge method.", +"id": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse": { +"description": "Response message for the GeneratePlayIntegrityChallenge method.", +"id": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse", +"properties": { +"challenge": { +"description": "A one-time use [challenge](https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) for the client to pass to the Play Integrity API.", +"type": "string" +}, +"ttl": { +"description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaListDebugTokensResponse": { +"description": "Response message for the ListDebugTokens method.", +"id": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse", +"properties": { +"debugTokens": { +"description": "The DebugTokens retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaDebugToken" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListDebugTokens to find the next group of DebugTokens. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse": { +"description": "Response message for the ListResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListResourcePolicies to find the next group of ResourcePolicy objects. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"resourcePolicies": { +"description": "The ResourcePolicy objects retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaListServicesResponse": { +"description": "Response message for the ListServices method.", +"id": "GoogleFirebaseAppcheckV1betaListServicesResponse", +"properties": { +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListServices to find the next group of Services. Page tokens are short-lived and should not be persisted.", +"type": "string" +}, +"services": { +"description": "The Services retrieved.", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaService" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaPlayIntegrityConfig": { +"description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", +"id": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from Play Integrity tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaPublicJwk": { +"description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).", +"id": "GoogleFirebaseAppcheckV1betaPublicJwk", +"properties": { +"alg": { +"description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).", +"type": "string" +}, +"e": { +"description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).", +"type": "string" +}, +"kid": { +"description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).", +"type": "string" +}, +"kty": { +"description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).", +"type": "string" +}, +"n": { +"description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).", +"type": "string" +}, +"use": { +"description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaPublicJwkSet": { +"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.", +"id": "GoogleFirebaseAppcheckV1betaPublicJwkSet", +"properties": { +"keys": { +"description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).", +"items": { +"$ref": "GoogleFirebaseAppcheckV1betaPublicJwk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaRecaptchaConfig": { +"deprecated": true, +"description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", +"id": "GoogleFirebaseAppcheckV1betaRecaptchaConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", +"type": "string" +}, +"siteSecret": { +"description": "Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"siteSecretSet": { +"description": "Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.", +"readOnly": true, +"type": "boolean" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA tokens will be valid. If unset, a default value of 1 day is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig": { +"description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", +"id": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", +"type": "string" +}, +"siteKey": { +"description": "The score-based site key [created in reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key) used to [invoke reCAPTCHA and generate the reCAPTCHA tokens](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages) for your application. Important: This is *not* the `site_secret` (as it is in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaRecaptchaV3Config": { +"description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", +"id": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config", +"properties": { +"name": { +"description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", +"type": "string" +}, +"siteSecret": { +"description": "Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.", +"type": "string" +}, +"siteSecretSet": { +"description": "Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.", +"readOnly": true, +"type": "boolean" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA tokens will be valid. If unset, a default value of 1 day is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaResourcePolicy": { +"description": "App Check enforcement policy for a specific resource of a Google service supported by App Check. Note that this policy will override the service-level configuration.", +"id": "GoogleFirebaseAppcheckV1betaResourcePolicy", +"properties": { +"enforcementMode": { +"description": "Required. The App Check enforcement mode for this resource. This will override the EnforcementMode setting on the parent service.", +"enum": [ +"OFF", +"UNENFORCED", +"ENFORCED" +], +"enumDescriptions": [ +"Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", +"Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", +"Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." +], +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.", +"type": "string" +}, +"name": { +"description": "Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.", +"type": "string" +}, +"targetResource": { +"description": "Required. Service specific name of the resource object to which this policy applies, in the format: * **iOS OAuth clients** (Google Identity for iOS): `//oauth2.googleapis.com/projects/{project_number}/oauthClients/{oauth_client_id}` Note that the resource must belong to the service specified in the `name` and be from the same project as this policy, but the resource is allowed to be missing at the time of creation of this policy; in that case, we make a best-effort attempt at respecting this policy, but it may not have any effect until the resource is fully created.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this resource policy configuration object was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaSafetyNetConfig": { +"deprecated": true, +"description": "An app's SafetyNet configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", +"id": "GoogleFirebaseAppcheckV1betaSafetyNetConfig", +"properties": { +"name": { +"description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", +"type": "string" +}, +"tokenTtl": { +"description": "Specifies the duration for which App Check tokens exchanged from SafetyNet tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaService": { +"description": "The enforcement configuration for a Firebase service supported by App Check.", +"id": "GoogleFirebaseAppcheckV1betaService", +"properties": { +"enforcementMode": { +"description": "Required. The App Check enforcement mode for this service.", +"enum": [ +"OFF", +"UNENFORCED", +"ENFORCED" +], +"enumDescriptions": [ +"Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", +"Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", +"Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." +], +"type": "string" +}, +"etag": { +"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.", +"type": "string" +}, +"name": { +"description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `identitytoolkit.googleapis.com` (Firebase Authentication with Identity Platform) * `oauth2.googleapis.com` (Google Identity for iOS)", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this service configuration object was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest": { +"description": "Request message for the UpdateResourcePolicy method as well as an individual update message for the BatchUpdateResourcePolicies method.", +"id": "GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest", +"properties": { +"resourcePolicy": { +"$ref": "GoogleFirebaseAppcheckV1betaResourcePolicy", +"description": "Required. The ResourcePolicy to update. The ResourcePolicy's `name` field is used to identify the ResourcePolicy to be updated, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS)" +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the ResourcePolicy to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaUpdateServiceRequest": { +"description": "Request message for the UpdateService method as well as an individual update message for the BatchUpdateServices method.", +"id": "GoogleFirebaseAppcheckV1betaUpdateServiceRequest", +"properties": { +"service": { +"$ref": "GoogleFirebaseAppcheckV1betaService", +"description": "Required. The Service to update. The Service's `name` field is used to identify the Service to be updated, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `identitytoolkit.googleapis.com` (Firebase Authentication with Identity Platform) * `oauth2.googleapis.com` (Google Identity for iOS) For Firebase Authentication to work with App Check, you must first upgrade to [Firebase Authentication with Identity Platform](https://firebase.google.com/docs/auth#identity-platform)." +}, +"updateMask": { +"description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest": { +"description": "Request message for the VerifyAppCheckToken method.", +"id": "GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest", +"properties": { +"appCheckToken": { +"description": "Required. The App Check token to verify. App Check tokens exchanged from the SafetyNet provider are not supported; an HTTP 400 error will be returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse": { +"description": "Response message for the VerifyAppCheckToken method.", +"id": "GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse", +"properties": { +"alreadyConsumed": { +"description": "Whether this token was already consumed. If this is the first time this method has seen the given App Check token, this field will be omitted from the response. The given token will then be marked as `already_consumed` (set to `true`) for all future invocations of this method for that token. Note that if the given App Check token is invalid, an HTTP 403 error is returned instead of a response containing this field, regardless whether the token was already consumed.", +"type": "boolean" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase App Check API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..29aa1f01b3373d572483b27f60352df694fdb007 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json @@ -0,0 +1,450 @@ +{ +"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" +}, +"https://www.googleapis.com/auth/firebase": { +"description": "View and administer all your Firebase data and settings" +}, +"https://www.googleapis.com/auth/firebase.readonly": { +"description": "View all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebasedatabase.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase Realtime Database", +"description": "The Firebase Realtime Database API enables programmatic provisioning and management of Realtime Database instances.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/reference/rest/database/database-management/rest/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebasedatabase:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebasedatabase.mtls.googleapis.com/", +"name": "firebasedatabase", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"instances": { +"methods": { +"create": { +"description": "Requests that a new DatabaseInstance be created. The state of a successfully created DatabaseInstance is ACTIVE. Only available for projects on the Blaze plan. Projects can be upgraded using the Cloud Billing API https://cloud.google.com/billing/reference/rest/v1/projects/updateBillingInfo. Note that it might take a few minutes for billing enablement state to propagate to Firebase systems.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "firebasedatabase.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"databaseId": { +"description": "The globally unique identifier of the database instance.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project for which to create a database instance, in the form: `projects/{project-number}/locations/{location-id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "When set to true, the request will be validated but not submitted.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/instances", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "Marks a DatabaseInstance to be deleted. The DatabaseInstance will be set to the DELETED state for 20 days, and will be purged within 30 days. The default database cannot be deleted. IDs for deleted database instances may never be recovered or re-used. The Database may only be deleted if it is already in a DISABLED state.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "firebasedatabase.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"disable": { +"description": "Disables a DatabaseInstance. The database can be re-enabled later using ReenableDatabaseInstance. When a database is disabled, all reads and writes are denied, including view access in the Firebase console.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:disable", +"httpMethod": "POST", +"id": "firebasedatabase.projects.locations.instances.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:disable", +"request": { +"$ref": "DisableDatabaseInstanceRequest" +}, +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets the DatabaseInstance identified by the specified resource name.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "firebasedatabase.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`. `database-id` is a globally unique identifier across all parent collections. For convenience, this method allows you to supply `-` as a wildcard character in place of specific collections under `projects` and `locations`. The resulting wildcarding form of the method is: `projects/-/locations/-/instances/{database-id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"list": { +"description": "Lists each DatabaseInstance associated with the specified parent project. The list items are returned in no particular order, but will be a consistent view of the database instances when additional requests are made with a `pageToken`. The resulting list contains instances in any STATE. The list results may be stale by a few seconds. Use GetDatabaseInstance for consistent reads.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "firebasedatabase.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of database instances to return in the response. The server may return fewer than this at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned from a previous call to `ListDatabaseInstances` indicating where in the set of database instances to resume listing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project for which to list database instances, in the form: `projects/{project-number}/locations/{location-id}` To list across all locations, use a parent in the form: `projects/{project-number}/locations/-`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "Indicate that DatabaseInstances in the `DELETED` state should also be returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/instances", +"response": { +"$ref": "ListDatabaseInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] +}, +"reenable": { +"description": "Enables a DatabaseInstance. The database must have been disabled previously using DisableDatabaseInstance. The state of a successfully reenabled DatabaseInstance is ACTIVE.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reenable", +"httpMethod": "POST", +"id": "firebasedatabase.projects.locations.instances.reenable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:reenable", +"request": { +"$ref": "ReenableDatabaseInstanceRequest" +}, +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"undelete": { +"description": "Restores a DatabaseInstance that was previously marked to be deleted. After the delete method is used, DatabaseInstances are set to the DELETED state for 20 days, and will be purged within 30 days. Databases in the DELETED state can be undeleted without losing any data. This method may only be used on a DatabaseInstance in the DELETED state. Purged DatabaseInstances may not be recovered.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:undelete", +"httpMethod": "POST", +"id": "firebasedatabase.projects.locations.instances.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:undelete", +"request": { +"$ref": "UndeleteDatabaseInstanceRequest" +}, +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +} +} +}, +"revision": "20241202", +"rootUrl": "https://firebasedatabase.googleapis.com/", +"schemas": { +"DatabaseInstance": { +"description": "Representation of a Realtime Database instance. Details on interacting with contents of a DatabaseInstance can be found at: https://firebase.google.com/docs/database/rest/start.", +"id": "DatabaseInstance", +"properties": { +"databaseUrl": { +"description": "Output only. Output Only. The globally unique hostname of the database.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`.", +"type": "string" +}, +"project": { +"description": "Output only. The resource name of the project this instance belongs to. For example: `projects/{project-number}`.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The database's lifecycle state. Read-only.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"ACTIVE", +"DISABLED", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state, likely the result of an error on the backend. This is only used for distinguishing unset values.", +"The normal and active state.", +"The database is in a disabled state. It can be re-enabled later.", +"The database is in a deleted state." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Immutable. The database instance type. On creation only USER_DATABASE is allowed, which is also the default when omitted.", +"enum": [ +"DATABASE_INSTANCE_TYPE_UNSPECIFIED", +"DEFAULT_DATABASE", +"USER_DATABASE" +], +"enumDescriptions": [ +"Unknown state, likely the result of an error on the backend. This is only used for distinguishing unset values.", +"The default database that is provisioned when a project is created.", +"A database that the user created." +], +"type": "string" +} +}, +"type": "object" +}, +"DisableDatabaseInstanceRequest": { +"description": "The request sent to the DisableDatabaseInstance method.", +"id": "DisableDatabaseInstanceRequest", +"properties": {}, +"type": "object" +}, +"ListDatabaseInstancesResponse": { +"description": "The response from the ListDatabaseInstances method.", +"id": "ListDatabaseInstancesResponse", +"properties": { +"instances": { +"description": "List of each DatabaseInstance that is in the parent Firebase project.", +"items": { +"$ref": "DatabaseInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty, then this response is the last page of results. This token can be used in a subsequent call to `ListDatabaseInstances` to find the next group of database instances. Page tokens are short-lived and should not be persisted.", +"type": "string" +} +}, +"type": "object" +}, +"ReenableDatabaseInstanceRequest": { +"description": "The request sent to the ReenableDatabaseInstance method.", +"id": "ReenableDatabaseInstanceRequest", +"properties": {}, +"type": "object" +}, +"UndeleteDatabaseInstanceRequest": { +"description": "The request sent to UndeleteDatabaseInstance method.", +"id": "UndeleteDatabaseInstanceRequest", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase Realtime Database Management API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseml.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseml.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..f7a9fc49fbe6fa3d20f23af2178991390c98f059 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseml.v1.json @@ -0,0 +1,331 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebaseml.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase ML", +"description": "Access custom machine learning models hosted via Firebase ML.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebaseml:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebaseml.mtls.googleapis.com/", +"name": "firebaseml", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "firebaseml.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "firebaseml.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/operations", +"httpMethod": "GET", +"id": "firebaseml.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^operations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241117", +"rootUrl": "https://firebaseml.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModelOperationMetadata": { +"description": "This is returned in the longrunning operations for create/update.", +"id": "ModelOperationMetadata", +"properties": { +"basicOperationStatus": { +"enum": [ +"BASIC_OPERATION_STATUS_UNSPECIFIED", +"BASIC_OPERATION_STATUS_UPLOADING", +"BASIC_OPERATION_STATUS_VERIFYING" +], +"enumDescriptions": [ +"The status is unspecified", +"The model file is being uploaded", +"The model file is being verified" +], +"type": "string" +}, +"name": { +"description": "The name of the model we are creating/updating The name must have the form `projects/{project_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase ML API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..7e02b5daa859b7e79f6063513ebdf08409480ce8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json @@ -0,0 +1,408 @@ +{ +"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/firebase": { +"description": "View and administer all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebasestorage.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebasestorage", +"description": "The Cloud Storage for Firebase API enables programmatic management of Cloud Storage buckets for use in Firebase projects", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/storage", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebasestorage:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebasestorage.mtls.googleapis.com/", +"name": "firebasestorage", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"deleteDefaultBucket": { +"description": "Unlinks and deletes the default bucket.", +"flatPath": "v1beta/projects/{projectsId}/defaultBucket", +"httpMethod": "DELETE", +"id": "firebasestorage.projects.deleteDefaultBucket", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the default bucket to delete, `projects/{project_id_or_number}/defaultBucket`.", +"location": "path", +"pattern": "^projects/[^/]+/defaultBucket$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"getDefaultBucket": { +"description": "Gets the default bucket.", +"flatPath": "v1beta/projects/{projectsId}/defaultBucket", +"httpMethod": "GET", +"id": "firebasestorage.projects.getDefaultBucket", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the default bucket to retrieve, `projects/{project_id_or_number}/defaultBucket`.", +"location": "path", +"pattern": "^projects/[^/]+/defaultBucket$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "DefaultBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +}, +"resources": { +"buckets": { +"methods": { +"addFirebase": { +"description": "Links a Google Cloud Storage bucket to a Firebase project.", +"flatPath": "v1beta/projects/{projectsId}/buckets/{bucketsId}:addFirebase", +"httpMethod": "POST", +"id": "firebasestorage.projects.buckets.addFirebase", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+bucket}:addFirebase", +"request": { +"$ref": "AddFirebaseRequest" +}, +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"get": { +"description": "Gets a single linked storage bucket.", +"flatPath": "v1beta/projects/{projectsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "firebasestorage.projects.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"list": { +"description": "Lists the linked storage buckets for a project.", +"flatPath": "v1beta/projects/{projectsId}/buckets", +"httpMethod": "GET", +"id": "firebasestorage.projects.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of buckets to return. If not set, the server will use a reasonable default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListBuckets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBuckets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the parent Firebase project, `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"removeFirebase": { +"description": "Unlinks a linked Google Cloud Storage bucket from a Firebase project.", +"flatPath": "v1beta/projects/{projectsId}/buckets/{bucketsId}:removeFirebase", +"httpMethod": "POST", +"id": "firebasestorage.projects.buckets.removeFirebase", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+bucket}:removeFirebase", +"request": { +"$ref": "RemoveFirebaseRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +}, +"defaultBucket": { +"methods": { +"create": { +"description": "Creates a Spark tier-eligible Cloud Storage bucket and links it to your Firebase project. If the default bucket already exists, this method will re-link it to your Firebase project. See https://firebase.google.com/pricing for pricing details.", +"flatPath": "v1beta/projects/{projectsId}/defaultBucket", +"httpMethod": "POST", +"id": "firebasestorage.projects.defaultBucket.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where the default bucket will be created, `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/defaultBucket", +"request": { +"$ref": "DefaultBucket" +}, +"response": { +"$ref": "DefaultBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +}, +"revision": "20241218", +"rootUrl": "https://firebasestorage.googleapis.com/", +"schemas": { +"AddFirebaseRequest": { +"description": "The request used to link a Google Cloud Storage bucket to a Firebase project.", +"id": "AddFirebaseRequest", +"properties": {}, +"type": "object" +}, +"Bucket": { +"description": "A storage bucket and its relation to a parent Firebase project.", +"id": "Bucket", +"properties": { +"name": { +"description": "Output only. Resource name of the bucket.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DefaultBucket": { +"description": "Spark tier-eligible Cloud Storage bucket. One per project. This resource exists if the underlying Cloud Storage bucket exists and it is linked to your Firebase project. See https://firebase.google.com/pricing for pricing details.", +"id": "DefaultBucket", +"properties": { +"bucket": { +"$ref": "Bucket", +"description": "Output only. Underlying bucket resource.", +"readOnly": true +}, +"location": { +"description": "Immutable. Location of the default bucket.", +"type": "string" +}, +"name": { +"description": "Resource name of the default bucket.", +"type": "string" +}, +"storageClass": { +"description": "Immutable. Storage class of the default bucket. Supported values are available at https://cloud.google.com/storage/docs/storage-classes#classes.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ListBucketsResponse": { +"description": "The response returned by `ListBuckets`.", +"id": "ListBucketsResponse", +"properties": { +"buckets": { +"description": "The list of linked buckets.", +"items": { +"$ref": "Bucket" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"RemoveFirebaseRequest": { +"description": "The request used to unlink a Google Cloud Storage bucket from a Firebase project.", +"id": "RemoveFirebaseRequest", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Storage for Firebase API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json new file mode 100644 index 0000000000000000000000000000000000000000..1d24bf2578a2aa4adffb4f30e7a8c7bbaade9bd0 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json @@ -0,0 +1,781 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/games": { +"description": "Create, edit, and delete your Google Play Games activity" +} +} +} +}, +"basePath": "", +"baseUrl": "https://gamesmanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Games Management", +"description": "The Google Play Games Management API allows developers to manage resources from the Google Play Game service.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/games/", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "gamesManagement:v1management", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://gamesmanagement.mtls.googleapis.com/", +"name": "gamesManagement", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"achievements": { +"methods": { +"reset": { +"description": "Resets the achievement with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/achievements/{achievementId}/reset", +"httpMethod": "POST", +"id": "gamesManagement.achievements.reset", +"parameterOrder": [ +"achievementId" +], +"parameters": { +"achievementId": { +"description": "The ID of the achievement used by this method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/achievements/{achievementId}/reset", +"response": { +"$ref": "AchievementResetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAll": { +"description": "Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/achievements/reset", +"httpMethod": "POST", +"id": "gamesManagement.achievements.resetAll", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/achievements/reset", +"response": { +"$ref": "AchievementResetAllResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAllForAllPlayers": { +"description": "Resets all draft achievements for all players. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/achievements/resetAllForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.achievements.resetAllForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/achievements/resetAllForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetForAllPlayers": { +"description": "Resets the achievement with the given ID for all players. This method is only available to user accounts for your developer console. Only draft achievements can be reset.", +"flatPath": "games/v1management/achievements/{achievementId}/resetForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.achievements.resetForAllPlayers", +"parameterOrder": [ +"achievementId" +], +"parameters": { +"achievementId": { +"description": "The ID of the achievement used by this method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/achievements/{achievementId}/resetForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetMultipleForAllPlayers": { +"description": "Resets achievements with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.", +"flatPath": "games/v1management/achievements/resetMultipleForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.achievements.resetMultipleForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/achievements/resetMultipleForAllPlayers", +"request": { +"$ref": "AchievementResetMultipleForAllRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +} +} +}, +"applications": { +"methods": { +"listHidden": { +"description": "Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/applications/{applicationId}/players/hidden", +"httpMethod": "GET", +"id": "gamesManagement.applications.listHidden", +"parameterOrder": [ +"applicationId" +], +"parameters": { +"applicationId": { +"description": "The application ID from the Google Play developer console.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified `maxResults`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned by the previous request.", +"location": "query", +"type": "string" +} +}, +"path": "games/v1management/applications/{applicationId}/players/hidden", +"response": { +"$ref": "HiddenPlayerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +} +} +}, +"events": { +"methods": { +"reset": { +"description": "Resets all player progress on the event with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/events/{eventId}/reset", +"httpMethod": "POST", +"id": "gamesManagement.events.reset", +"parameterOrder": [ +"eventId" +], +"parameters": { +"eventId": { +"description": "The ID of the event.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/events/{eventId}/reset", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAll": { +"description": "Resets all player progress on all events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/events/reset", +"httpMethod": "POST", +"id": "gamesManagement.events.resetAll", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/events/reset", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAllForAllPlayers": { +"description": "Resets all draft events for all players. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/events/resetAllForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.events.resetAllForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/events/resetAllForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetForAllPlayers": { +"description": "Resets the event with the given ID for all players. This method is only available to user accounts for your developer console. Only draft events can be reset.", +"flatPath": "games/v1management/events/{eventId}/resetForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.events.resetForAllPlayers", +"parameterOrder": [ +"eventId" +], +"parameters": { +"eventId": { +"description": "The ID of the event.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/events/{eventId}/resetForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetMultipleForAllPlayers": { +"description": "Resets events with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft events may be reset.", +"flatPath": "games/v1management/events/resetMultipleForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.events.resetMultipleForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/events/resetMultipleForAllPlayers", +"request": { +"$ref": "EventsResetMultipleForAllRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +} +} +}, +"players": { +"methods": { +"hide": { +"description": "Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", +"httpMethod": "POST", +"id": "gamesManagement.players.hide", +"parameterOrder": [ +"applicationId", +"playerId" +], +"parameters": { +"applicationId": { +"description": "The application ID from the Google Play developer console.", +"location": "path", +"required": true, +"type": "string" +}, +"playerId": { +"description": "A player ID. A value of `me` may be used in place of the authenticated player's ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"unhide": { +"description": "Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", +"httpMethod": "DELETE", +"id": "gamesManagement.players.unhide", +"parameterOrder": [ +"applicationId", +"playerId" +], +"parameters": { +"applicationId": { +"description": "The application ID from the Google Play developer console.", +"location": "path", +"required": true, +"type": "string" +}, +"playerId": { +"description": "A player ID. A value of `me` may be used in place of the authenticated player's ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +} +} +}, +"scores": { +"methods": { +"reset": { +"description": "Resets scores for the leaderboard with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/leaderboards/{leaderboardId}/scores/reset", +"httpMethod": "POST", +"id": "gamesManagement.scores.reset", +"parameterOrder": [ +"leaderboardId" +], +"parameters": { +"leaderboardId": { +"description": "The ID of the leaderboard.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/leaderboards/{leaderboardId}/scores/reset", +"response": { +"$ref": "PlayerScoreResetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAll": { +"description": "Resets all scores for all leaderboards for the currently authenticated players. This method is only accessible to whitelisted tester accounts for your application.", +"flatPath": "games/v1management/scores/reset", +"httpMethod": "POST", +"id": "gamesManagement.scores.resetAll", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/scores/reset", +"response": { +"$ref": "PlayerScoreResetAllResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetAllForAllPlayers": { +"description": "Resets scores for all draft leaderboards for all players. This method is only available to user accounts for your developer console.", +"flatPath": "games/v1management/scores/resetAllForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.scores.resetAllForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/scores/resetAllForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetForAllPlayers": { +"description": "Resets scores for the leaderboard with the given ID for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.", +"flatPath": "games/v1management/leaderboards/{leaderboardId}/scores/resetForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.scores.resetForAllPlayers", +"parameterOrder": [ +"leaderboardId" +], +"parameters": { +"leaderboardId": { +"description": "The ID of the leaderboard.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "games/v1management/leaderboards/{leaderboardId}/scores/resetForAllPlayers", +"scopes": [ +"https://www.googleapis.com/auth/games" +] +}, +"resetMultipleForAllPlayers": { +"description": "Resets scores for the leaderboards with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft leaderboards may be reset.", +"flatPath": "games/v1management/scores/resetMultipleForAllPlayers", +"httpMethod": "POST", +"id": "gamesManagement.scores.resetMultipleForAllPlayers", +"parameterOrder": [], +"parameters": {}, +"path": "games/v1management/scores/resetMultipleForAllPlayers", +"request": { +"$ref": "ScoresResetMultipleForAllRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/games" +] +} +} +} +}, +"revision": "20241209", +"rootUrl": "https://gamesmanagement.googleapis.com/", +"schemas": { +"AchievementResetAllResponse": { +"description": "Achievement reset all response.", +"id": "AchievementResetAllResponse", +"properties": { +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#achievementResetAllResponse`.", +"type": "string" +}, +"results": { +"description": "The achievement reset results.", +"items": { +"$ref": "AchievementResetResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"AchievementResetMultipleForAllRequest": { +"id": "AchievementResetMultipleForAllRequest", +"properties": { +"achievement_ids": { +"description": "The IDs of achievements to reset.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#achievementResetMultipleForAllRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"AchievementResetResponse": { +"description": "An achievement reset response.", +"id": "AchievementResetResponse", +"properties": { +"currentState": { +"description": "The current state of the achievement. This is the same as the initial state of the achievement. Possible values are: - \"`HIDDEN`\"- Achievement is hidden. - \"`REVEALED`\" - Achievement is revealed. - \"`UNLOCKED`\" - Achievement is unlocked. ", +"type": "string" +}, +"definitionId": { +"description": "The ID of an achievement for which player state has been updated.", +"type": "string" +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#achievementResetResponse`.", +"type": "string" +}, +"updateOccurred": { +"description": "Flag to indicate if the requested update actually occurred.", +"type": "boolean" +} +}, +"type": "object" +}, +"EventsResetMultipleForAllRequest": { +"description": "Multiple events reset all request.", +"id": "EventsResetMultipleForAllRequest", +"properties": { +"event_ids": { +"description": "The IDs of events to reset.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#eventsResetMultipleForAllRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"GamesPlayerExperienceInfoResource": { +"description": "1P/3P metadata about the player's experience.", +"id": "GamesPlayerExperienceInfoResource", +"properties": { +"currentExperiencePoints": { +"description": "The current number of experience points for the player.", +"format": "int64", +"type": "string" +}, +"currentLevel": { +"$ref": "GamesPlayerLevelResource", +"description": "The current level of the player." +}, +"lastLevelUpTimestampMillis": { +"description": "The timestamp when the player was leveled up, in millis since Unix epoch UTC.", +"format": "int64", +"type": "string" +}, +"nextLevel": { +"$ref": "GamesPlayerLevelResource", +"description": "The next level of the player. If the current level is the maximum level, this should be same as the current level." +} +}, +"type": "object" +}, +"GamesPlayerLevelResource": { +"description": "1P/3P metadata about a user's level.", +"id": "GamesPlayerLevelResource", +"properties": { +"level": { +"description": "The level for the user.", +"format": "int32", +"type": "integer" +}, +"maxExperiencePoints": { +"description": "The maximum experience points for this level.", +"format": "int64", +"type": "string" +}, +"minExperiencePoints": { +"description": "The minimum experience points for this level.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"HiddenPlayer": { +"description": "The HiddenPlayer resource.", +"id": "HiddenPlayer", +"properties": { +"hiddenTimeMillis": { +"description": "Output only. The time this player was hidden.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"kind": { +"description": "Output only. Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#hiddenPlayer`.", +"readOnly": true, +"type": "string" +}, +"player": { +"$ref": "Player", +"description": "Output only. The player information.", +"readOnly": true +} +}, +"type": "object" +}, +"HiddenPlayerList": { +"description": "A list of hidden players.", +"id": "HiddenPlayerList", +"properties": { +"items": { +"description": "The players.", +"items": { +"$ref": "HiddenPlayer" +}, +"type": "array" +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#hiddenPlayerList`.", +"type": "string" +}, +"nextPageToken": { +"description": "The pagination token for the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"Player": { +"description": "A Player resource.", +"id": "Player", +"properties": { +"avatarImageUrl": { +"description": "The base URL for the image that represents the player.", +"type": "string" +}, +"bannerUrlLandscape": { +"description": "The url to the landscape mode player banner image.", +"type": "string" +}, +"bannerUrlPortrait": { +"description": "The url to the portrait mode player banner image.", +"type": "string" +}, +"displayName": { +"description": "The name to display for the player.", +"type": "string" +}, +"experienceInfo": { +"$ref": "GamesPlayerExperienceInfoResource", +"description": "An object to represent Play Game experience information for the player." +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#player`.", +"type": "string" +}, +"name": { +"description": "An object representation of the individual components of the player's name. For some players, these fields may not be present.", +"properties": { +"familyName": { +"description": "The family name of this player. In some places, this is known as the last name.", +"type": "string" +}, +"givenName": { +"description": "The given name of this player. In some places, this is known as the first name.", +"type": "string" +} +}, +"type": "object" +}, +"originalPlayerId": { +"description": "The player ID that was used for this player the first time they signed into the game in question. This is only populated for calls to player.get for the requesting player, only if the player ID has subsequently changed, and only to clients that support remapping player IDs.", +"type": "string" +}, +"playerId": { +"description": "The ID of the player.", +"type": "string" +}, +"profileSettings": { +"$ref": "ProfileSettings", +"description": "The player's profile settings. Controls whether or not the player's profile is visible to other players." +}, +"title": { +"description": "The player's title rewarded for their game activities.", +"type": "string" +} +}, +"type": "object" +}, +"PlayerScoreResetAllResponse": { +"description": "A list of leaderboard reset resources.", +"id": "PlayerScoreResetAllResponse", +"properties": { +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#playerScoreResetAllResponse`.", +"type": "string" +}, +"results": { +"description": "The leaderboard reset results.", +"items": { +"$ref": "PlayerScoreResetResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"PlayerScoreResetResponse": { +"description": "A list of reset leaderboard entry resources.", +"id": "PlayerScoreResetResponse", +"properties": { +"definitionId": { +"description": "The ID of an leaderboard for which player state has been updated.", +"type": "string" +}, +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#playerScoreResetResponse`.", +"type": "string" +}, +"resetScoreTimeSpans": { +"description": "The time spans of the updated score. Possible values are: - \"`ALL_TIME`\" - The score is an all-time score. - \"`WEEKLY`\" - The score is a weekly score. - \"`DAILY`\" - The score is a daily score. ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProfileSettings": { +"description": "Profile settings", +"id": "ProfileSettings", +"properties": { +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#profileSettings`.", +"type": "string" +}, +"profileVisible": { +"type": "boolean" +} +}, +"type": "object" +}, +"ScoresResetMultipleForAllRequest": { +"id": "ScoresResetMultipleForAllRequest", +"properties": { +"kind": { +"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesManagement#scoresResetMultipleForAllRequest`.", +"type": "string" +}, +"leaderboard_ids": { +"description": "The IDs of leaderboards to reset.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Play Game Management", +"version": "v1management" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..0ee53c9e4c3a007702620ef6427241379e562b26 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1.json @@ -0,0 +1,6541 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://gkehub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "GKE Hub", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "gkehub:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://gkehub.mtls.googleapis.com/", +"name": "gkehub", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"organizations": { +"resources": { +"locations": { +"resources": { +"fleets": { +"methods": { +"list": { +"description": "Returns all fleets within an organization or a project that the caller has access to.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/fleets", +"httpMethod": "GET", +"id": "gkehub.organizations.locations.fleets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The organization or project to list for Fleets under, in the format `organizations/*/locations/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/fleets", +"response": { +"$ref": "ListFleetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"features": { +"methods": { +"create": { +"description": "Adds a new Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "The ID of the feature to create.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/features", +"request": { +"$ref": "Feature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, the delete will ignore any outstanding resources for this Feature (that is, `FeatureState.has_resources` is set to true). These resources will NOT be cleaned up or modified in any way.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If set to true, the response will return partial results when some regions are unreachable and the unreachable field in Feature proto will be populated. If set to false, the request will fail when some regions are unreachable.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/features/{featuresId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists Features that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"servicemesh\" in project \"foo-proj\": name = \"projects/foo-proj/locations/global/features/servicemesh\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If set to true, the response will return partial results when some regions are unreachable and the unreachable field in Feature proto will be populated. If set to false, the request will fail when some regions are unreachable.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/features", +"response": { +"$ref": "ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Feature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"fleets": { +"methods": { +"create": { +"description": "Creates a fleet.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/fleets", +"httpMethod": "POST", +"id": "gkehub.projects.locations.fleets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Fleet will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/fleets", +"request": { +"$ref": "Fleet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Fleet. There must be no memberships remaining in the Fleet.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.fleets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Fleet resource name in the format `projects/*/locations/*/fleets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a fleet.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.fleets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Fleet resource name in the format `projects/*/locations/*/fleets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Fleet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns all fleets within an organization or a project that the caller has access to.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/fleets", +"httpMethod": "GET", +"id": "gkehub.projects.locations.fleets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The organization or project to list for Fleets under, in the format `organizations/*/locations/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/fleets", +"response": { +"$ref": "ListFleetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a fleet.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.fleets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one fleet resource, named \"default\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated;", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Fleet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"memberships": { +"methods": { +"create": { +"description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"membershipId": { +"description": "Required. Client chosen ID for the membership. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/memberships", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any subresource from this Membership will also be deleted. Otherwise, the request will only work if the Membership has no subresource.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateConnectManifest": { +"description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.generateConnectManifest", +"parameterOrder": [ +"name" +], +"parameters": { +"imagePullSecretContent": { +"description": "Optional. The image pull secret content for the registry, if not public.", +"format": "byte", +"location": "query", +"type": "string" +}, +"isUpgrade": { +"description": "Optional. If true, generate the resources for upgrade only. Some resources generated only for installation (e.g. secrets) will be excluded.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"namespace": { +"description": "Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`. The Connect Agent is authorized automatically when run in the default namespace. Otherwise, explicit authorization must be granted with an additional IAM binding.", +"location": "query", +"type": "string" +}, +"proxy": { +"description": "Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com requires the use of a proxy. Format must be in the form `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol supported by the proxy. This will direct the connect agent's outbound traffic through a HTTP(S) proxy.", +"format": "byte", +"location": "query", +"type": "string" +}, +"registry": { +"description": "Optional. The registry to fetch the connect agent image from. Defaults to gcr.io/gkeconnect.", +"location": "query", +"type": "string" +}, +"version": { +"description": "Optional. The Connect agent version to use. Defaults to the most current version.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:generateConnectManifest", +"response": { +"$ref": "GenerateConnectManifestResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a Membership.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Membership" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/memberships/{membershipsId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Memberships in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj` and location `global`: name = \"projects/foo-proj/locations/global/membership/bar\" - Memberships that have a label called `foo`: labels.foo:* - Memberships that have a label called `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING state: state = CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be listed. Specified in the format `projects/*/locations/*`. `projects/*/locations/-` list memberships in all the regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/memberships", +"response": { +"$ref": "ListMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Membership.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"bindings": { +"methods": { +"create": { +"description": "Creates a MembershipBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.bindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"membershipBindingId": { +"description": "Required. The ID to use for the MembershipBinding.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the MembershipBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/bindings", +"request": { +"$ref": "MembershipBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a MembershipBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.bindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipBinding resource name in the format `projects/*/locations/*/memberships/*/bindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a MembershipBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.bindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipBinding resource name in the format `projects/*/locations/*/memberships/*/bindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MembershipBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MembershipBindings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.bindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists MembershipBindings that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListMembershipBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Membership for which the MembershipBindings will be listed. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/bindings", +"response": { +"$ref": "ListMembershipBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a MembershipBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.bindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the membershipbinding itself `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "MembershipBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rbacrolebindings": { +"methods": { +"create": { +"description": "Creates a Membership RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/rbacrolebindings", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Membership RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/memberships/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateMembershipRBACRoleBindingYAML": { +"description": "Generates a YAML of the RBAC policies for the specified RoleBinding and its associated impersonation resources.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings:generateMembershipRBACRoleBindingYAML", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.generateMembershipRBACRoleBindingYAML", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/rbacrolebindings:generateMembershipRBACRoleBindingYAML", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "GenerateMembershipRBACRoleBindingYAMLResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Membership RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/memberships/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "RBACRoleBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Membership RBACRoleBindings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListMembershipRBACRoleBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/rbacrolebindings", +"response": { +"$ref": "ListMembershipRBACRoleBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Membership RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "gkehub.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"scopes": { +"methods": { +"create": { +"description": "Creates a Scope.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Scope will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"scopeId": { +"description": "Required. Client chosen ID for the Scope. `scope_id` must be a ????", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/scopes", +"request": { +"$ref": "Scope" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Scope.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Scope.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Scope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/scopes/{scopesId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Scopes.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListScopes` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Scope will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/scopes", +"response": { +"$ref": "ListScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listMemberships": { +"description": "Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:listMemberships", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.listMemberships", +"parameterOrder": [ +"scopeName" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Currently, filtering can be done only based on Memberships's `name`, `labels`, `create_time`, `update_time`, and `unique_id`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned. Pagination is currently not supported; therefore, setting this field does not have any impact for now.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListBoundMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"scopeName": { +"description": "Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the Memberships are bound.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+scopeName}:listMemberships", +"response": { +"$ref": "ListBoundMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listPermitted": { +"description": "Lists permitted Scopes.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes:listPermitted", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.listPermitted", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListPermittedScopes` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Scope will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/scopes:listPermitted", +"response": { +"$ref": "ListPermittedScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a scopes.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Scope" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"namespaces": { +"methods": { +"create": { +"description": "Creates a fleet namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.namespaces.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Namespace will be created. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"scopeNamespaceId": { +"description": "Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/namespaces", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a fleet namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.namespaces.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Namespace resource name in the format `projects/*/locations/*/scopes/*/namespaces/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a fleet namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.namespaces.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Namespace resource name in the format `projects/*/locations/*/scopes/*/namespaces/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Namespace" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists fleet namespaces.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.namespaces.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/namespaces", +"response": { +"$ref": "ListScopeNamespacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a fleet namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.namespaces.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rbacrolebindings": { +"methods": { +"create": { +"description": "Creates a Scope RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/rbacrolebindings", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Scope RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/scopes/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Scope RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/scopes/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "RBACRoleBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Scope RBACRoleBindings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListScopeRBACRoleBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/rbacrolebindings", +"response": { +"$ref": "ListScopeRBACRoleBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Scope RBACRoleBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://gkehub.googleapis.com/", +"schemas": { +"AppDevExperienceFeatureSpec": { +"description": "Spec for App Dev Experience Feature.", +"id": "AppDevExperienceFeatureSpec", +"properties": {}, +"type": "object" +}, +"AppDevExperienceFeatureState": { +"description": "State for App Dev Exp Feature.", +"id": "AppDevExperienceFeatureState", +"properties": { +"networkingInstallSucceeded": { +"$ref": "Status", +"description": "Status of subcomponent that detects configured Service Mesh resources." +} +}, +"type": "object" +}, +"ApplianceCluster": { +"description": "ApplianceCluster contains information specific to GDC Edge Appliance Clusters.", +"id": "ApplianceCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Appliance Cluster. For example: //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Authority": { +"description": "Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity", +"id": "Authority", +"properties": { +"identityProvider": { +"description": "Output only. An identity provider that reflects the `issuer` in the workload identity pool.", +"readOnly": true, +"type": "string" +}, +"issuer": { +"description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length <2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", +"type": "string" +}, +"oidcJwks": { +"description": "Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field.", +"format": "byte", +"type": "string" +}, +"scopeTenancyIdentityProvider": { +"description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", +"readOnly": true, +"type": "string" +}, +"scopeTenancyWorkloadIdentityPool": { +"description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", +"readOnly": true, +"type": "string" +}, +"workloadIdentityPool": { +"description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BinaryAuthorizationConfig": { +"description": "BinaryAuthorizationConfig defines the fleet level configuration of binary authorization feature.", +"id": "BinaryAuthorizationConfig", +"properties": { +"evaluationMode": { +"description": "Optional. Mode of operation for binauthz policy evaluation.", +"enum": [ +"EVALUATION_MODE_UNSPECIFIED", +"DISABLED", +"POLICY_BINDINGS" +], +"enumDescriptions": [ +"Default value", +"Disable BinaryAuthorization", +"Use Binary Authorization with the policies specified in policy_bindings." +], +"type": "string" +}, +"policyBindings": { +"description": "Optional. Binauthz policies that apply to this cluster.", +"items": { +"$ref": "PolicyBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ClusterUpgradeFleetSpec": { +"description": "**ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature.", +"id": "ClusterUpgradeFleetSpec", +"properties": { +"gkeUpgradeOverrides": { +"description": "Allow users to override some properties of each GKE upgrade.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeOverride" +}, +"type": "array" +}, +"postConditions": { +"$ref": "ClusterUpgradePostConditions", +"description": "Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required." +}, +"upstreamFleets": { +"description": "This fleet consumes upgrades that have COMPLETE status code in the upstream fleets. See UpgradeStatus.Code for code definitions. The fleet name should be either fleet project number or id. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream fleet.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeFleetState": { +"description": "**ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature.", +"id": "ClusterUpgradeFleetState", +"properties": { +"downstreamFleets": { +"description": "This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project number or id.", +"items": { +"type": "string" +}, +"type": "array" +}, +"gkeState": { +"$ref": "ClusterUpgradeGKEUpgradeFeatureState", +"description": "Feature state for GKE clusters." +}, +"ignored": { +"additionalProperties": { +"$ref": "ClusterUpgradeIgnoredMembership" +}, +"description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`.", +"type": "object" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgrade": { +"description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", +"id": "ClusterUpgradeGKEUpgrade", +"properties": { +"name": { +"description": "Name of the upgrade, e.g., \"k8s_control_plane\". It should be a valid upgrade name. It must not exceet 99 characters.", +"type": "string" +}, +"version": { +"description": "Version of the upgrade, e.g., \"1.22.1-gke.100\". It should be a valid version. It must not exceet 99 characters.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeFeatureCondition": { +"description": "GKEUpgradeFeatureCondition describes the condition of the feature for GKE clusters at a certain point of time.", +"id": "ClusterUpgradeGKEUpgradeFeatureCondition", +"properties": { +"reason": { +"description": "Reason why the feature is in this status.", +"type": "string" +}, +"status": { +"description": "Status of the condition, one of True, False, Unknown.", +"type": "string" +}, +"type": { +"description": "Type of the condition, for example, \"ready\".", +"type": "string" +}, +"updateTime": { +"description": "Last timestamp the condition was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeFeatureState": { +"description": "GKEUpgradeFeatureState contains feature states for GKE clusters in the scope.", +"id": "ClusterUpgradeGKEUpgradeFeatureState", +"properties": { +"conditions": { +"description": "Current conditions of the feature.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeFeatureCondition" +}, +"type": "array" +}, +"upgradeState": { +"description": "Upgrade state. It will eventually replace `state`.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeOverride": { +"description": "Properties of a GKE upgrade that can be overridden by the user. For example, a user can skip soaking by overriding the soaking to 0.", +"id": "ClusterUpgradeGKEUpgradeOverride", +"properties": { +"postConditions": { +"$ref": "ClusterUpgradePostConditions", +"description": "Required. Post conditions to override for the specified upgrade (name + version). Required." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Required. Which upgrade to override. Required." +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeState": { +"description": "GKEUpgradeState is a GKEUpgrade and its state at the scope and fleet level.", +"id": "ClusterUpgradeGKEUpgradeState", +"properties": { +"stats": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Number of GKE clusters in each status code.", +"type": "object" +}, +"status": { +"$ref": "ClusterUpgradeUpgradeStatus", +"description": "Status of the upgrade." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Which upgrade to track the state." +} +}, +"type": "object" +}, +"ClusterUpgradeIgnoredMembership": { +"description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", +"id": "ClusterUpgradeIgnoredMembership", +"properties": { +"ignoredTime": { +"description": "Time when the membership was first set to ignored.", +"format": "google-datetime", +"type": "string" +}, +"reason": { +"description": "Reason why the membership is ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeMembershipGKEUpgradeState": { +"description": "ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership.", +"id": "ClusterUpgradeMembershipGKEUpgradeState", +"properties": { +"status": { +"$ref": "ClusterUpgradeUpgradeStatus", +"description": "Status of the upgrade." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Which upgrade to track the state." +} +}, +"type": "object" +}, +"ClusterUpgradeMembershipState": { +"description": "Per-membership state for this feature.", +"id": "ClusterUpgradeMembershipState", +"properties": { +"ignored": { +"$ref": "ClusterUpgradeIgnoredMembership", +"description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." +}, +"upgrades": { +"description": "Actual upgrade state against desired.", +"items": { +"$ref": "ClusterUpgradeMembershipGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradePostConditions": { +"description": "Post conditional checks after an upgrade has been applied on all eligible clusters.", +"id": "ClusterUpgradePostConditions", +"properties": { +"soaking": { +"description": "Required. Amount of time to \"soak\" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days. Required.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeUpgradeStatus": { +"description": "UpgradeStatus provides status information for each upgrade.", +"id": "ClusterUpgradeUpgradeStatus", +"properties": { +"code": { +"description": "Status code of the upgrade.", +"enum": [ +"CODE_UNSPECIFIED", +"INELIGIBLE", +"PENDING", +"IN_PROGRESS", +"SOAKING", +"FORCED_SOAKING", +"COMPLETE" +], +"enumDescriptions": [ +"Required by https://linter.aip.dev/126/unspecified.", +"The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", +"The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", +"The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", +"The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", +"A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", +"The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." +], +"type": "string" +}, +"reason": { +"description": "Reason for this status.", +"type": "string" +}, +"updateTime": { +"description": "Last timestamp the status was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CommonFeatureSpec": { +"description": "CommonFeatureSpec contains Fleet-wide configuration information", +"id": "CommonFeatureSpec", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceFeatureSpec", +"description": "Appdevexperience specific spec." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeFleetSpec", +"description": "ClusterUpgrade (fleet-based) feature spec." +}, +"dataplanev2": { +"$ref": "DataplaneV2FeatureSpec", +"description": "DataplaneV2 feature spec." +}, +"fleetobservability": { +"$ref": "FleetObservabilityFeatureSpec", +"description": "FleetObservability feature spec." +}, +"multiclusteringress": { +"$ref": "MultiClusterIngressFeatureSpec", +"description": "Multicluster Ingress-specific spec." +} +}, +"type": "object" +}, +"CommonFeatureState": { +"description": "CommonFeatureState contains Fleet-wide Feature status information.", +"id": "CommonFeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceFeatureState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeFleetState", +"description": "ClusterUpgrade fleet-level state." +}, +"fleetobservability": { +"$ref": "FleetObservabilityFeatureState", +"description": "FleetObservability feature state." +}, +"state": { +"$ref": "FeatureState", +"description": "Output only. The \"running state\" of the Feature in this Fleet.", +"readOnly": true +} +}, +"type": "object" +}, +"CommonFleetDefaultMemberConfigSpec": { +"description": "CommonFleetDefaultMemberConfigSpec contains default configuration information for memberships of a fleet", +"id": "CommonFleetDefaultMemberConfigSpec", +"properties": { +"configmanagement": { +"$ref": "ConfigManagementMembershipSpec", +"description": "Config Management-specific spec." +}, +"identityservice": { +"$ref": "IdentityServiceMembershipSpec", +"description": "Identity Service-specific spec." +}, +"mesh": { +"$ref": "ServiceMeshMembershipSpec", +"description": "Anthos Service Mesh-specific spec" +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipSpec", +"description": "Policy Controller spec." +} +}, +"type": "object" +}, +"CompliancePostureConfig": { +"description": "CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", +"id": "CompliancePostureConfig", +"properties": { +"complianceStandards": { +"description": "List of enabled compliance standards.", +"items": { +"$ref": "ComplianceStandard" +}, +"type": "array" +}, +"mode": { +"description": "Defines the enablement mode for Compliance Posture.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables Compliance Posture features on the cluster.", +"Enables Compliance Posture features on the cluster." +], +"type": "string" +} +}, +"type": "object" +}, +"ComplianceStandard": { +"id": "ComplianceStandard", +"properties": { +"standard": { +"description": "Name of the compliance standard.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSync": { +"description": "Configuration for Config Sync", +"id": "ConfigManagementConfigSync", +"properties": { +"allowVerticalScale": { +"deprecated": true, +"description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", +"type": "boolean" +}, +"enabled": { +"description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", +"type": "boolean" +}, +"git": { +"$ref": "ConfigManagementGitConfig", +"description": "Optional. Git repo configuration for the cluster." +}, +"metricsGcpServiceAccountEmail": { +"deprecated": true, +"description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", +"type": "string" +}, +"oci": { +"$ref": "ConfigManagementOciConfig", +"description": "Optional. OCI repo configuration for the cluster" +}, +"preventDrift": { +"description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", +"type": "boolean" +}, +"sourceFormat": { +"description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", +"type": "string" +}, +"stopSyncing": { +"description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncDeploymentState": { +"description": "The state of ConfigSync's deployment on a cluster", +"id": "ConfigManagementConfigSyncDeploymentState", +"properties": { +"admissionWebhook": { +"description": "Deployment state of admission-webhook", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gitSync": { +"description": "Deployment state of the git-sync pod", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"importer": { +"description": "Deployment state of the importer pod", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"monitor": { +"description": "Deployment state of the monitor pod", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"otelCollector": { +"description": "Deployment state of otel-collector", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"reconcilerManager": { +"description": "Deployment state of reconciler-manager pod", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Deployment state of resource-group-controller-manager", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"rootReconciler": { +"description": "Deployment state of root-reconciler", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"syncer": { +"description": "Deployment state of the syncer pod", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncError": { +"description": "Errors pertaining to the installation of Config Sync", +"id": "ConfigManagementConfigSyncError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncState": { +"description": "State information for ConfigSync", +"id": "ConfigManagementConfigSyncState", +"properties": { +"clusterLevelStopSyncingState": { +"description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", +"enum": [ +"STOP_SYNCING_STATE_UNSPECIFIED", +"NOT_STOPPED", +"PENDING", +"STOPPED" +], +"enumDescriptions": [ +"State cannot be determined", +"Syncing resources to the cluster is not stopped at the cluster level.", +"Some reconcilers stop syncing resources to the cluster, while others are still syncing.", +"Syncing resources to the cluster is stopped at the cluster level." +], +"readOnly": true, +"type": "string" +}, +"crCount": { +"description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"deploymentState": { +"$ref": "ConfigManagementConfigSyncDeploymentState", +"description": "Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed", +"readOnly": true +}, +"errors": { +"description": "Output only. Errors pertaining to the installation of Config Sync.", +"items": { +"$ref": "ConfigManagementConfigSyncError" +}, +"readOnly": true, +"type": "array" +}, +"reposyncCrd": { +"description": "Output only. The state of the Reposync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"rootsyncCrd": { +"description": "Output only. The state of the RootSync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of CS This field summarizes the other fields in this message.", +"enum": [ +"STATE_UNSPECIFIED", +"CONFIG_SYNC_NOT_INSTALLED", +"CONFIG_SYNC_INSTALLED", +"CONFIG_SYNC_ERROR", +"CONFIG_SYNC_PENDING" +], +"enumDescriptions": [ +"CS's state cannot be determined.", +"CS is not installed.", +"The expected CS version is installed successfully.", +"CS encounters errors.", +"CS is installing or terminating." +], +"readOnly": true, +"type": "string" +}, +"syncState": { +"$ref": "ConfigManagementSyncState", +"description": "Output only. The state of ConfigSync's process to sync configs to a cluster", +"readOnly": true +}, +"version": { +"$ref": "ConfigManagementConfigSyncVersion", +"description": "Output only. The version of ConfigSync deployed", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncVersion": { +"description": "Specific versioning information pertaining to ConfigSync's Pods", +"id": "ConfigManagementConfigSyncVersion", +"properties": { +"admissionWebhook": { +"description": "Version of the deployed admission-webhook pod", +"type": "string" +}, +"gitSync": { +"description": "Version of the deployed git-sync pod", +"type": "string" +}, +"importer": { +"description": "Version of the deployed importer pod", +"type": "string" +}, +"monitor": { +"description": "Version of the deployed monitor pod", +"type": "string" +}, +"otelCollector": { +"description": "Version of the deployed otel-collector pod", +"type": "string" +}, +"reconcilerManager": { +"description": "Version of the deployed reconciler-manager pod", +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Version of the deployed resource-group-controller-manager pod", +"type": "string" +}, +"rootReconciler": { +"description": "Version of the deployed reconciler container in root-reconciler pod", +"type": "string" +}, +"syncer": { +"description": "Version of the deployed syncer pod", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementErrorResource": { +"description": "Model for a config file in the git repo with an associated Sync error", +"id": "ConfigManagementErrorResource", +"properties": { +"resourceGvk": { +"$ref": "ConfigManagementGroupVersionKind", +"description": "Group/version/kind of the resource that is causing an error" +}, +"resourceName": { +"description": "Metadata name of the resource that is causing an error", +"type": "string" +}, +"resourceNamespace": { +"description": "Namespace of the resource that is causing an error", +"type": "string" +}, +"sourcePath": { +"description": "Path in the git repo of the erroneous config", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGatekeeperDeploymentState": { +"description": "State of Policy Controller installation.", +"id": "ConfigManagementGatekeeperDeploymentState", +"properties": { +"gatekeeperAudit": { +"description": "Status of gatekeeper-audit deployment.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperControllerManagerState": { +"description": "Status of gatekeeper-controller-manager pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperMutation": { +"description": "Status of the pod serving the mutation webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGitConfig": { +"description": "Git repo configuration for a single cluster.", +"id": "ConfigManagementGitConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"httpsProxy": { +"description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", +"type": "string" +}, +"secretType": { +"description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", +"type": "string" +}, +"syncBranch": { +"description": "Optional. The branch of the repository to sync from. Default: master.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The URL of the Git repository to use as the source of truth.", +"type": "string" +}, +"syncRev": { +"description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGroupVersionKind": { +"description": "A Kubernetes object's GVK", +"id": "ConfigManagementGroupVersionKind", +"properties": { +"group": { +"description": "Kubernetes Group", +"type": "string" +}, +"kind": { +"description": "Kubernetes Kind", +"type": "string" +}, +"version": { +"description": "Kubernetes Version", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerConfig": { +"description": "Configuration for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerConfig", +"properties": { +"enableHierarchicalResourceQuota": { +"description": "Whether hierarchical resource quota is enabled in this cluster.", +"type": "boolean" +}, +"enablePodTreeLabels": { +"description": "Whether pod tree labels are enabled in this cluster.", +"type": "boolean" +}, +"enabled": { +"description": "Whether Hierarchy Controller is enabled in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerDeploymentState": { +"description": "Deployment state for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerDeploymentState", +"properties": { +"extension": { +"description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"hnc": { +"description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0)", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerState": { +"description": "State for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerState", +"properties": { +"state": { +"$ref": "ConfigManagementHierarchyControllerDeploymentState", +"description": "The deployment state for Hierarchy Controller" +}, +"version": { +"$ref": "ConfigManagementHierarchyControllerVersion", +"description": "The version for Hierarchy Controller" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerVersion": { +"description": "Version for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerVersion", +"properties": { +"extension": { +"description": "Version for Hierarchy Controller extension", +"type": "string" +}, +"hnc": { +"description": "Version for open source HNC", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementInstallError": { +"description": "Errors pertaining to the installation of ACM", +"id": "ConfigManagementInstallError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementMembershipSpec": { +"description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", +"id": "ConfigManagementMembershipSpec", +"properties": { +"cluster": { +"description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", +"type": "string" +}, +"configSync": { +"$ref": "ConfigManagementConfigSync", +"description": "Optional. Config Sync configuration for the cluster." +}, +"hierarchyController": { +"$ref": "ConfigManagementHierarchyControllerConfig", +"deprecated": true, +"description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." +}, +"management": { +"description": "Optional. Enables automatic Feature management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google will manage the Feature for the cluster.", +"User will manually manage the Feature for the cluster." +], +"type": "string" +}, +"policyController": { +"$ref": "ConfigManagementPolicyController", +"deprecated": true, +"description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." +}, +"version": { +"description": "Optional. Version of ACM installed.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementMembershipState": { +"description": "**Anthos Config Management**: State for a single cluster.", +"id": "ConfigManagementMembershipState", +"properties": { +"clusterName": { +"description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", +"readOnly": true, +"type": "string" +}, +"configSyncState": { +"$ref": "ConfigManagementConfigSyncState", +"description": "Output only. Current sync status", +"readOnly": true +}, +"hierarchyControllerState": { +"$ref": "ConfigManagementHierarchyControllerState", +"description": "Output only. Hierarchy Controller status", +"readOnly": true +}, +"membershipSpec": { +"$ref": "ConfigManagementMembershipSpec", +"description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state", +"readOnly": true +}, +"operatorState": { +"$ref": "ConfigManagementOperatorState", +"description": "Output only. Current install status of ACM's Operator", +"readOnly": true +}, +"policyControllerState": { +"$ref": "ConfigManagementPolicyControllerState", +"description": "Output only. PolicyController status", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementOciConfig": { +"description": "OCI repo configuration for a single cluster", +"id": "ConfigManagementOciConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", +"type": "string" +}, +"secretType": { +"description": "Optional. Type of secret configured for access to the Git repo.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementOperatorState": { +"description": "State information for an ACM's Operator", +"id": "ConfigManagementOperatorState", +"properties": { +"deploymentState": { +"description": "The state of the Operator's deployment", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined", +"Deployment is not installed", +"Deployment is installed", +"Deployment was attempted to be installed, but has errors", +"Deployment is installing or terminating" +], +"type": "string" +}, +"errors": { +"description": "Install errors.", +"items": { +"$ref": "ConfigManagementInstallError" +}, +"type": "array" +}, +"version": { +"description": "The semenatic version number of the operator", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyController": { +"description": "Configuration for Policy Controller", +"id": "ConfigManagementPolicyController", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"enabled": { +"description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", +"type": "boolean" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "ConfigManagementPolicyControllerMonitoring", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", +"type": "boolean" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +}, +"templateLibraryInstalled": { +"description": "Installs the default template library along with Policy Controller.", +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Last time this membership spec was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMigration": { +"description": "State for the migration of PolicyController from ACM -> PoCo Hub.", +"id": "ConfigManagementPolicyControllerMigration", +"properties": { +"copyTime": { +"description": "Last time this membership spec was copied to PoCo feature.", +"format": "google-datetime", +"type": "string" +}, +"stage": { +"description": "Stage of the migration.", +"enum": [ +"STAGE_UNSPECIFIED", +"ACM_MANAGED", +"POCO_MANAGED" +], +"enumDescriptions": [ +"Unknown state of migration.", +"ACM Hub/Operator manages policycontroller. No migration yet completed.", +"All migrations steps complete; Poco Hub now manages policycontroller." +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMonitoring": { +"description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "ConfigManagementPolicyControllerMonitoring", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerState": { +"description": "State for PolicyControllerState.", +"id": "ConfigManagementPolicyControllerState", +"properties": { +"deploymentState": { +"$ref": "ConfigManagementGatekeeperDeploymentState", +"description": "The state about the policy controller installation." +}, +"migration": { +"$ref": "ConfigManagementPolicyControllerMigration", +"description": "Record state of ACM -> PoCo Hub migration for this feature." +}, +"version": { +"$ref": "ConfigManagementPolicyControllerVersion", +"description": "The version of Gatekeeper Policy Controller deployed." +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerVersion": { +"description": "The build version of Gatekeeper Policy Controller is using.", +"id": "ConfigManagementPolicyControllerVersion", +"properties": { +"version": { +"description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementSyncError": { +"description": "An ACM created error representing a problem syncing configurations", +"id": "ConfigManagementSyncError", +"properties": { +"code": { +"description": "An ACM defined error code", +"type": "string" +}, +"errorMessage": { +"description": "A description of the error", +"type": "string" +}, +"errorResources": { +"description": "A list of config(s) associated with the error, if any", +"items": { +"$ref": "ConfigManagementErrorResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementSyncState": { +"description": "State indicating an ACM's progress syncing configurations to a cluster", +"id": "ConfigManagementSyncState", +"properties": { +"code": { +"description": "Sync status code", +"enum": [ +"SYNC_CODE_UNSPECIFIED", +"SYNCED", +"PENDING", +"ERROR", +"NOT_CONFIGURED", +"NOT_INSTALLED", +"UNAUTHORIZED", +"UNREACHABLE" +], +"enumDescriptions": [ +"Config Sync cannot determine a sync code", +"Config Sync successfully synced the git Repo with the cluster", +"Config Sync is in the progress of syncing a new change", +"Indicates an error configuring Config Sync, and user action is required", +"Config Sync has been installed but not configured", +"Config Sync has not been installed", +"Error authorizing with the cluster", +"Cluster could not be reached" +], +"type": "string" +}, +"errors": { +"description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", +"items": { +"$ref": "ConfigManagementSyncError" +}, +"type": "array" +}, +"importToken": { +"description": "Token indicating the state of the importer.", +"type": "string" +}, +"lastSync": { +"deprecated": true, +"description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String", +"type": "string" +}, +"lastSyncTime": { +"description": "Timestamp type of when ACM last successfully synced the repo", +"format": "google-datetime", +"type": "string" +}, +"sourceToken": { +"description": "Token indicating the state of the repo.", +"type": "string" +}, +"syncToken": { +"description": "Token indicating the state of the syncer.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectAgentResource": { +"description": "ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment.", +"id": "ConnectAgentResource", +"properties": { +"manifest": { +"description": "YAML manifest of the resource.", +"type": "string" +}, +"type": { +"$ref": "TypeMeta", +"description": "Kubernetes type of the resource." +} +}, +"type": "object" +}, +"DataplaneV2FeatureSpec": { +"description": "**Dataplane V2**: Spec", +"id": "DataplaneV2FeatureSpec", +"properties": { +"enableEncryption": { +"description": "Enable dataplane-v2 based encryption for multiple clusters.", +"type": "boolean" +} +}, +"type": "object" +}, +"DefaultClusterConfig": { +"description": "DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet.", +"id": "DefaultClusterConfig", +"properties": { +"binaryAuthorizationConfig": { +"$ref": "BinaryAuthorizationConfig", +"description": "Optional. Enable/Disable binary authorization features for the cluster." +}, +"compliancePostureConfig": { +"$ref": "CompliancePostureConfig", +"description": "Optional. Enable/Disable Compliance Posture features for the cluster. Note that on UpdateFleet, only full replacement of this field is allowed. Users are not allowed for partial updates through field mask." +}, +"securityPostureConfig": { +"$ref": "SecurityPostureConfig", +"description": "Enable/Disable Security Posture features for the cluster." +} +}, +"type": "object" +}, +"EdgeCluster": { +"description": "EdgeCluster contains information specific to Google Edge Clusters.", +"id": "EdgeCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For example: //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"Feature": { +"description": "Feature represents the settings and status of any Fleet Feature.", +"id": "Feature", +"properties": { +"createTime": { +"description": "Output only. When the Feature resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the Feature resource was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fleetDefaultMemberConfig": { +"$ref": "CommonFleetDefaultMemberConfigSpec", +"description": "Optional. Feature configuration applicable to all memberships of the fleet." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this Feature.", +"type": "object" +}, +"membershipSpecs": { +"additionalProperties": { +"$ref": "MembershipFeatureSpec" +}, +"description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.", +"type": "object" +}, +"membershipStates": { +"additionalProperties": { +"$ref": "MembershipFeatureState" +}, +"description": "Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number.", +"readOnly": true, +"type": "object" +}, +"name": { +"description": "Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.", +"readOnly": true, +"type": "string" +}, +"resourceState": { +"$ref": "FeatureResourceState", +"description": "Output only. State of the Feature resource itself.", +"readOnly": true +}, +"scopeSpecs": { +"additionalProperties": { +"$ref": "ScopeFeatureSpec" +}, +"description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.", +"type": "object" +}, +"scopeStates": { +"additionalProperties": { +"$ref": "ScopeFeatureState" +}, +"description": "Output only. Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project.", +"readOnly": true, +"type": "object" +}, +"spec": { +"$ref": "CommonFeatureSpec", +"description": "Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, this field may be unused." +}, +"state": { +"$ref": "CommonFeatureState", +"description": "Output only. The Fleet-wide Feature state.", +"readOnly": true +}, +"unreachable": { +"description": "Output only. List of locations that could not be reached while fetching this feature.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. When the Feature resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FeatureResourceState": { +"description": "FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the Feature in the Fleet and across Memberships.", +"id": "FeatureResourceState", +"properties": { +"state": { +"description": "The current state of the Feature resource in the Hub API.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLING", +"ACTIVE", +"DISABLING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"State is unknown or not set.", +"The Feature is being enabled, and the Feature resource is being created. Once complete, the corresponding Feature will be enabled in this Fleet.", +"The Feature is enabled in this Fleet, and the Feature resource is fully available.", +"The Feature is being disabled in this Fleet, and the Feature resource is being deleted.", +"The Feature resource is being updated.", +"The Feature resource is being updated by the Hub Service." +], +"type": "string" +} +}, +"type": "object" +}, +"FeatureState": { +"description": "FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the environ-level, or per-membershop, depending on the context.", +"id": "FeatureState", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this Feature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The Feature is operating normally.", +"The Feature has encountered an issue, and is operating in a degraded state. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information.", +"The Feature is not operating or is in a severely degraded state. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information." +], +"type": "string" +}, +"description": { +"description": "A human-readable description of the current status.", +"type": "string" +}, +"updateTime": { +"description": "The time this status and any related Feature-specific details were updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Fleet": { +"description": "Fleet contains the Fleet-wide metadata and configuration.", +"id": "Fleet", +"properties": { +"createTime": { +"description": "Output only. When the Fleet was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultClusterConfig": { +"$ref": "DefaultClusterConfig", +"description": "Optional. The default cluster configurations to apply across the fleet." +}, +"deleteTime": { +"description": "Output only. When the Fleet was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `Production Fleet`", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Fleet.", +"type": "object" +}, +"name": { +"description": "Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one fleet resource, named \"default\".", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "FleetLifecycleState", +"description": "Output only. State of the namespace resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the Fleet was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FleetLifecycleState": { +"description": "FleetLifecycleState describes the state of a Fleet resource.", +"id": "FleetLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the Fleet resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The fleet is being created.", +"The fleet active.", +"The fleet is being deleted.", +"The fleet is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FleetObservabilityFeatureError": { +"description": "All error details of the fleet observability feature.", +"id": "FleetObservabilityFeatureError", +"properties": { +"code": { +"description": "The code of the error.", +"type": "string" +}, +"description": { +"description": "A human-readable description of the current status.", +"type": "string" +} +}, +"type": "object" +}, +"FleetObservabilityFeatureSpec": { +"description": "**Fleet Observability**: The Hub-wide input for the FleetObservability feature.", +"id": "FleetObservabilityFeatureSpec", +"properties": { +"loggingConfig": { +"$ref": "FleetObservabilityLoggingConfig", +"description": "Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet." +} +}, +"type": "object" +}, +"FleetObservabilityFeatureState": { +"description": "**FleetObservability**: Hub-wide Feature for FleetObservability feature. state.", +"id": "FleetObservabilityFeatureState", +"properties": { +"logging": { +"$ref": "FleetObservabilityFleetObservabilityLoggingState", +"description": "The feature state of default logging." +}, +"monitoring": { +"$ref": "FleetObservabilityFleetObservabilityMonitoringState", +"description": "The feature state of fleet monitoring." +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityBaseFeatureState": { +"description": "Base state for fleet observability feature.", +"id": "FleetObservabilityFleetObservabilityBaseFeatureState", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this Feature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The Feature is operating normally.", +"The Feature is encountering errors in the reconciliation. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information." +], +"type": "string" +}, +"errors": { +"description": "Errors after reconciling the monitoring and logging feature if the code is not OK.", +"items": { +"$ref": "FleetObservabilityFeatureError" +}, +"type": "array" +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityLoggingState": { +"description": "Feature state for logging feature.", +"id": "FleetObservabilityFleetObservabilityLoggingState", +"properties": { +"defaultLog": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet default log." +}, +"scopeLog": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet scope log." +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityMonitoringState": { +"description": "Feature state for monitoring feature.", +"id": "FleetObservabilityFleetObservabilityMonitoringState", +"properties": { +"state": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet monitoring feature." +} +}, +"type": "object" +}, +"FleetObservabilityLoggingConfig": { +"description": "LoggingConfig defines the configuration for different types of logs.", +"id": "FleetObservabilityLoggingConfig", +"properties": { +"defaultConfig": { +"$ref": "FleetObservabilityRoutingConfig", +"description": "Specified if applying the default routing config to logs not specified in other configs." +}, +"fleetScopeLogsConfig": { +"$ref": "FleetObservabilityRoutingConfig", +"description": "Specified if applying the routing config to all logs for all fleet scopes." +} +}, +"type": "object" +}, +"FleetObservabilityMembershipSpec": { +"description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", +"id": "FleetObservabilityMembershipSpec", +"properties": {}, +"type": "object" +}, +"FleetObservabilityMembershipState": { +"description": "**FleetObservability**: Membership-specific Feature state for fleetobservability.", +"id": "FleetObservabilityMembershipState", +"properties": {}, +"type": "object" +}, +"FleetObservabilityRoutingConfig": { +"description": "RoutingConfig configures the behaviour of fleet logging feature.", +"id": "FleetObservabilityRoutingConfig", +"properties": { +"mode": { +"description": "mode configures the logs routing mode.", +"enum": [ +"MODE_UNSPECIFIED", +"COPY", +"MOVE" +], +"enumDescriptions": [ +"If UNSPECIFIED, fleet logging feature is disabled.", +"logs will be copied to the destination project.", +"logs will be moved to the destination project." +], +"type": "string" +} +}, +"type": "object" +}, +"GenerateConnectManifestResponse": { +"description": "GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.", +"id": "GenerateConnectManifestResponse", +"properties": { +"manifest": { +"description": "The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent installation/upgrade.", +"items": { +"$ref": "ConnectAgentResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenerateMembershipRBACRoleBindingYAMLResponse": { +"description": "Response for GenerateRBACRoleBindingYAML.", +"id": "GenerateMembershipRBACRoleBindingYAMLResponse", +"properties": { +"roleBindingsYaml": { +"description": "a yaml text blob including the RBAC policies.", +"type": "string" +} +}, +"type": "object" +}, +"GkeCluster": { +"description": "GkeCluster contains information specific to GKE clusters.", +"id": "GkeCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE Control Plane.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are also supported.", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"IdentityServiceAuthMethod": { +"description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", +"id": "IdentityServiceAuthMethod", +"properties": { +"azureadConfig": { +"$ref": "IdentityServiceAzureADConfig", +"description": "AzureAD specific Configuration." +}, +"googleConfig": { +"$ref": "IdentityServiceGoogleConfig", +"description": "GoogleConfig specific configuration." +}, +"ldapConfig": { +"$ref": "IdentityServiceLdapConfig", +"description": "LDAP specific configuration." +}, +"name": { +"description": "Identifier for auth config.", +"type": "string" +}, +"oidcConfig": { +"$ref": "IdentityServiceOidcConfig", +"description": "OIDC specific configuration." +}, +"proxy": { +"description": "Proxy server address to use for auth method.", +"type": "string" +}, +"samlConfig": { +"$ref": "IdentityServiceSamlConfig", +"description": "SAML specific configuration." +} +}, +"type": "object" +}, +"IdentityServiceAzureADConfig": { +"description": "Configuration for the AzureAD Auth flow.", +"id": "IdentityServiceAzureADConfig", +"properties": { +"clientId": { +"description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted AzureAD client secret.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"groupFormat": { +"description": "Optional. Format of the AzureAD groups that the client wants for auth.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "The redirect URL that kubectl uses for authorization.", +"type": "string" +}, +"tenant": { +"description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", +"type": "string" +}, +"userClaim": { +"description": "Optional. Claim in the AzureAD ID Token that holds the user details.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceDiagnosticInterface": { +"description": "Configuration options for the AIS diagnostic interface.", +"id": "IdentityServiceDiagnosticInterface", +"properties": { +"enabled": { +"description": "Determines whether to enable the diagnostic interface.", +"type": "boolean" +}, +"expirationTime": { +"description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceGoogleConfig": { +"description": "Configuration for the Google Plugin Auth flow.", +"id": "IdentityServiceGoogleConfig", +"properties": { +"disable": { +"description": "Disable automatic configuration of Google Plugin on supported platforms.", +"type": "boolean" +} +}, +"type": "object" +}, +"IdentityServiceGroupConfig": { +"description": "Contains the properties for locating and authenticating groups in the directory.", +"id": "IdentityServiceGroupConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for group entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceIdentityServiceOptions": { +"description": "Holds non-protocol-related configuration options.", +"id": "IdentityServiceIdentityServiceOptions", +"properties": { +"diagnosticInterface": { +"$ref": "IdentityServiceDiagnosticInterface", +"description": "Configuration options for the AIS diagnostic interface." +}, +"sessionDuration": { +"description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceLdapConfig": { +"description": "Configuration for the LDAP Auth flow.", +"id": "IdentityServiceLdapConfig", +"properties": { +"group": { +"$ref": "IdentityServiceGroupConfig", +"description": "Optional. Contains the properties for locating and authenticating groups in the directory." +}, +"server": { +"$ref": "IdentityServiceServerConfig", +"description": "Required. Server settings for the external LDAP server." +}, +"serviceAccount": { +"$ref": "IdentityServiceServiceAccountConfig", +"description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." +}, +"user": { +"$ref": "IdentityServiceUserConfig", +"description": "Required. Defines where users exist in the LDAP directory." +} +}, +"type": "object" +}, +"IdentityServiceMembershipSpec": { +"description": "**Anthos Identity Service**: Configuration for a single Membership.", +"id": "IdentityServiceMembershipSpec", +"properties": { +"authMethods": { +"description": "A member may support multiple auth methods.", +"items": { +"$ref": "IdentityServiceAuthMethod" +}, +"type": "array" +}, +"identityServiceOptions": { +"$ref": "IdentityServiceIdentityServiceOptions", +"description": "Optional. non-protocol-related configuration options." +} +}, +"type": "object" +}, +"IdentityServiceMembershipState": { +"description": "**Anthos Identity Service**: State for a single Membership.", +"id": "IdentityServiceMembershipState", +"properties": { +"failureReason": { +"description": "The reason of the failure.", +"type": "string" +}, +"installedVersion": { +"description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", +"type": "string" +}, +"memberConfig": { +"$ref": "IdentityServiceMembershipSpec", +"description": "Last reconciled membership configuration" +}, +"state": { +"description": "Deployment state on this member", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"OK", +"ERROR" +], +"enumDescriptions": [ +"Unspecified state", +"deployment succeeds", +"Failure with error." +], +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceOidcConfig": { +"description": "Configuration for OIDC Auth flow.", +"id": "IdentityServiceOidcConfig", +"properties": { +"certificateAuthorityData": { +"description": "PEM-encoded CA for OIDC provider.", +"type": "string" +}, +"clientId": { +"description": "ID for OIDC client application.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"deployCloudConsoleProxy": { +"description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", +"type": "boolean" +}, +"enableAccessToken": { +"description": "Enable access token.", +"type": "boolean" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted OIDC Client secret", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"extraParams": { +"description": "Comma-separated list of key-value pairs.", +"type": "string" +}, +"groupPrefix": { +"description": "Prefix to prepend to group name.", +"type": "string" +}, +"groupsClaim": { +"description": "Claim in OIDC ID token that holds group information.", +"type": "string" +}, +"issuerUri": { +"description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", +"type": "string" +}, +"scopes": { +"description": "Comma-separated list of identifiers.", +"type": "string" +}, +"userClaim": { +"description": "Claim in OIDC ID token that holds username.", +"type": "string" +}, +"userPrefix": { +"description": "Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceSamlConfig": { +"description": "Configuration for the SAML Auth flow.", +"id": "IdentityServiceSamlConfig", +"properties": { +"attributeMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", +"type": "object" +}, +"groupPrefix": { +"description": "Optional. Prefix to prepend to group name.", +"type": "string" +}, +"groupsAttribute": { +"description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", +"type": "string" +}, +"identityProviderCertificates": { +"description": "Required. The list of IdP certificates to validate the SAML response against.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityProviderId": { +"description": "Required. The entity ID of the SAML IdP.", +"type": "string" +}, +"identityProviderSsoUri": { +"description": "Required. The URI where the SAML IdP exposes the SSO service.", +"type": "string" +}, +"userAttribute": { +"description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", +"type": "string" +}, +"userPrefix": { +"description": "Optional. Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServerConfig": { +"description": "Server settings for the external LDAP server.", +"id": "IdentityServiceServerConfig", +"properties": { +"certificateAuthorityData": { +"description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", +"format": "byte", +"type": "string" +}, +"connectionType": { +"description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", +"type": "string" +}, +"host": { +"description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServiceAccountConfig": { +"description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", +"id": "IdentityServiceServiceAccountConfig", +"properties": { +"simpleBindCredentials": { +"$ref": "IdentityServiceSimpleBindCredentials", +"description": "Credentials for basic auth." +} +}, +"type": "object" +}, +"IdentityServiceSimpleBindCredentials": { +"description": "The structure holds the LDAP simple binding credential.", +"id": "IdentityServiceSimpleBindCredentials", +"properties": { +"dn": { +"description": "Required. The distinguished name(DN) of the service account object/user.", +"type": "string" +}, +"encryptedPassword": { +"description": "Output only. The encrypted password of the service account object/user.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"password": { +"description": "Required. Input only. The password of the service account object/user.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceUserConfig": { +"description": "Defines where users exist in the LDAP directory.", +"id": "IdentityServiceUserConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for user entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", +"type": "string" +}, +"loginAttribute": { +"description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", +"type": "string" +} +}, +"type": "object" +}, +"KubernetesMetadata": { +"description": "KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters.", +"id": "KubernetesMetadata", +"properties": { +"kubernetesApiServerVersion": { +"description": "Output only. Kubernetes API server version string as reported by `/version`.", +"readOnly": true, +"type": "string" +}, +"memoryMb": { +"description": "Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in MB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeCount": { +"description": "Output only. Node count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeProviderId": { +"description": "Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and the node_provider_id will be empty.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which these details were last updated. This update_time is different from the Membership-level update_time since EndpointDetails are updated internally for API consumers.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vcpuCount": { +"description": "Output only. vCPU count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"KubernetesResource": { +"description": "KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster.", +"id": "KubernetesResource", +"properties": { +"connectResources": { +"description": "Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"membershipCrManifest": { +"description": "Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub can read the CR directly. Callers should provide the CR that is currently present in the cluster during CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to validate the cluster has not been registered with another Membership.", +"type": "string" +}, +"membershipResources": { +"description": "Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership creation, and after every update. This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"resourceOptions": { +"$ref": "ResourceOptions", +"description": "Optional. Options for Kubernetes resource generation." +} +}, +"type": "object" +}, +"ListBoundMembershipsResponse": { +"description": "List of Memberships bound to a Scope.", +"id": "ListBoundMembershipsResponse", +"properties": { +"memberships": { +"description": "The list of Memberships bound to the given Scope.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListBoundMemberships` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFeaturesResponse": { +"description": "Response message for the `GkeHub.ListFeatures` method.", +"id": "ListFeaturesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListFeatures` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "The list of matching Features", +"items": { +"$ref": "Feature" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFleetsResponse": { +"description": "Response message for the `GkeHub.ListFleetsResponse` method.", +"id": "ListFleetsResponse", +"properties": { +"fleets": { +"description": "The list of matching fleets.", +"items": { +"$ref": "Fleet" +}, +"type": "array" +}, +"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. The token is only valid for 1h.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListMembershipBindingsResponse": { +"description": "List of MembershipBindings.", +"id": "ListMembershipBindingsResponse", +"properties": { +"membershipBindings": { +"description": "The list of membership_bindings", +"items": { +"$ref": "MembershipBinding" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipBindings` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMembershipRBACRoleBindingsResponse": { +"description": "List of Membership RBACRoleBindings.", +"id": "ListMembershipRBACRoleBindingsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"rbacrolebindings": { +"description": "The list of Membership RBACRoleBindings.", +"items": { +"$ref": "RBACRoleBinding" +}, +"type": "array" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMembershipsResponse": { +"description": "Response message for the `GkeHub.ListMemberships` method.", +"id": "ListMembershipsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMemberships` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "The list of matching Memberships.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPermittedScopesResponse": { +"description": "List of permitted Scopes.", +"id": "ListPermittedScopesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopes": { +"description": "The list of permitted Scopes", +"items": { +"$ref": "Scope" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopeNamespacesResponse": { +"description": "List of fleet namespaces.", +"id": "ListScopeNamespacesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopeNamespaces": { +"description": "The list of fleet namespaces", +"items": { +"$ref": "Namespace" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopeRBACRoleBindingsResponse": { +"description": "List of Scope RBACRoleBindings.", +"id": "ListScopeRBACRoleBindingsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"rbacrolebindings": { +"description": "The list of Scope RBACRoleBindings.", +"items": { +"$ref": "RBACRoleBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopesResponse": { +"description": "List of Scopes.", +"id": "ListScopesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListScopes` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopes": { +"description": "The list of Scopes", +"items": { +"$ref": "Scope" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Membership": { +"description": "Membership contains information about a member cluster.", +"id": "Membership", +"properties": { +"authority": { +"$ref": "Authority", +"description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" +}, +"clusterTier": { +"description": "Output only. The tier of the cluster.", +"enum": [ +"CLUSTER_TIER_UNSPECIFIED", +"STANDARD", +"ENTERPRISE" +], +"enumDescriptions": [ +"The ClusterTier is not set.", +"The ClusterTier is standard.", +"The ClusterTier is enterprise." +], +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. When the Membership was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the Membership was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes.", +"readOnly": true, +"type": "string" +}, +"endpoint": { +"$ref": "MembershipEndpoint", +"description": "Optional. Endpoint information to reach this member." +}, +"externalId": { +"description": "Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this membership.", +"type": "object" +}, +"lastConnectionTime": { +"description": "Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"monitoringConfig": { +"$ref": "MonitoringConfig", +"description": "Optional. The monitoring config information for this membership." +}, +"name": { +"description": "Output only. The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "MembershipState", +"description": "Output only. State of the Membership resource.", +"readOnly": true +}, +"uniqueId": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the Membership was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipBinding": { +"description": "MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet resources) a Membership is bound to.", +"id": "MembershipBinding", +"properties": { +"createTime": { +"description": "Output only. When the membership binding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the membership binding was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this MembershipBinding.", +"type": "object" +}, +"name": { +"description": "The resource name for the membershipbinding itself `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}`", +"type": "string" +}, +"scope": { +"description": "A Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"type": "string" +}, +"state": { +"$ref": "MembershipBindingLifecycleState", +"description": "Output only. State of the membership binding resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. If a membershipbinding resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the membership binding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipBindingLifecycleState": { +"description": "MembershipBindingLifecycleState describes the state of a Binding resource.", +"id": "MembershipBindingLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the MembershipBinding resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The membershipbinding is being created.", +"The membershipbinding active.", +"The membershipbinding is being deleted.", +"The membershipbinding is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipEndpoint": { +"description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", +"id": "MembershipEndpoint", +"properties": { +"applianceCluster": { +"$ref": "ApplianceCluster", +"description": "Optional. Specific information for a GDC Edge Appliance cluster." +}, +"edgeCluster": { +"$ref": "EdgeCluster", +"description": "Optional. Specific information for a Google Edge cluster." +}, +"gkeCluster": { +"$ref": "GkeCluster", +"description": "Optional. Specific information for a GKE-on-GCP cluster." +}, +"googleManaged": { +"description": "Output only. Whether the lifecycle of this membership is managed by a google cluster platform service.", +"readOnly": true, +"type": "boolean" +}, +"kubernetesMetadata": { +"$ref": "KubernetesMetadata", +"description": "Output only. Useful Kubernetes-specific metadata.", +"readOnly": true +}, +"kubernetesResource": { +"$ref": "KubernetesResource", +"description": "Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure proper initial configuration of default Hub Features." +}, +"multiCloudCluster": { +"$ref": "MultiCloudCluster", +"description": "Optional. Specific information for a GKE Multi-Cloud cluster." +}, +"onPremCluster": { +"$ref": "OnPremCluster", +"description": "Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is not allowed to use this field, it should have a nil \"type\" instead." +} +}, +"type": "object" +}, +"MembershipFeatureSpec": { +"description": "MembershipFeatureSpec contains configuration information for a single Membership.", +"id": "MembershipFeatureSpec", +"properties": { +"configmanagement": { +"$ref": "ConfigManagementMembershipSpec", +"description": "Config Management-specific spec." +}, +"fleetobservability": { +"$ref": "FleetObservabilityMembershipSpec", +"description": "Fleet observability membership spec" +}, +"identityservice": { +"$ref": "IdentityServiceMembershipSpec", +"description": "Identity Service-specific spec." +}, +"mesh": { +"$ref": "ServiceMeshMembershipSpec", +"description": "Anthos Service Mesh-specific spec" +}, +"origin": { +"$ref": "Origin", +"description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipSpec", +"description": "Policy Controller spec." +} +}, +"type": "object" +}, +"MembershipFeatureState": { +"description": "MembershipFeatureState contains Feature status information for a single Membership.", +"id": "MembershipFeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceFeatureState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeMembershipState", +"description": "ClusterUpgrade state." +}, +"configmanagement": { +"$ref": "ConfigManagementMembershipState", +"description": "Config Management-specific state." +}, +"fleetobservability": { +"$ref": "FleetObservabilityMembershipState", +"description": "Fleet observability membership state." +}, +"identityservice": { +"$ref": "IdentityServiceMembershipState", +"description": "Identity Service-specific state." +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipState", +"description": "Policycontroller-specific state." +}, +"servicemesh": { +"$ref": "ServiceMeshMembershipState", +"description": "Service Mesh-specific state." +}, +"state": { +"$ref": "FeatureState", +"description": "The high-level state of this Feature for a single membership." +} +}, +"type": "object" +}, +"MembershipState": { +"description": "MembershipState describes the state of a Membership resource.", +"id": "MembershipState", +"properties": { +"code": { +"description": "Output only. The current state of the Membership resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The cluster is being registered.", +"The cluster is registered.", +"The cluster is being unregistered.", +"The Membership is being updated.", +"The Membership is being updated by the Hub Service." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MonitoringConfig": { +"description": "MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics.", +"id": "MonitoringConfig", +"properties": { +"cluster": { +"description": "Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., \"awsClusters/cluster_1\".", +"type": "string" +}, +"clusterHash": { +"description": "Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID.", +"type": "string" +}, +"kubernetesMetricsPrefix": { +"description": "Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos.", +"type": "string" +}, +"location": { +"description": "Optional. Location used to report Metrics", +"type": "string" +}, +"projectId": { +"description": "Optional. Project used to report Metrics", +"type": "string" +} +}, +"type": "object" +}, +"MultiCloudCluster": { +"description": "MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.", +"id": "MultiCloudCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster", +"type": "string" +} +}, +"type": "object" +}, +"MultiClusterIngressFeatureSpec": { +"description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.", +"id": "MultiClusterIngressFeatureSpec", +"properties": { +"configMembership": { +"description": "Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`", +"type": "string" +} +}, +"type": "object" +}, +"Namespace": { +"description": "Namespace represents a namespace across the Fleet", +"id": "Namespace", +"properties": { +"createTime": { +"description": "Output only. When the namespace was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the namespace was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Namespace.", +"type": "object" +}, +"name": { +"description": "The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}`", +"type": "string" +}, +"namespaceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant.", +"type": "object" +}, +"scope": { +"description": "Required. Scope associated with the namespace", +"type": "string" +}, +"state": { +"$ref": "NamespaceLifecycleState", +"description": "Output only. State of the namespace resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a namespace resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the namespace was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NamespaceLifecycleState": { +"description": "NamespaceLifecycleState describes the state of a Namespace resource.", +"id": "NamespaceLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the Namespace resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The namespace is being created.", +"The namespace active.", +"The namespace is being deleted.", +"The namespace is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OnPremCluster": { +"description": "OnPremCluster contains information specific to GKE On-Prem clusters.", +"id": "OnPremCluster", +"properties": { +"adminCluster": { +"description": "Immutable. Whether the cluster is an admin cluster.", +"type": "boolean" +}, +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"clusterType": { +"description": "Immutable. The on prem cluster's type.", +"enum": [ +"CLUSTERTYPE_UNSPECIFIED", +"BOOTSTRAP", +"HYBRID", +"STANDALONE", +"USER" +], +"enumDescriptions": [ +"The ClusterType is not set.", +"The ClusterType is bootstrap cluster.", +"The ClusterType is baremetal hybrid cluster.", +"The ClusterType is baremetal standalone cluster.", +"The ClusterType is user cluster." +], +"type": "string" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"Origin": { +"description": "Origin defines where this MembershipFeatureSpec originated from.", +"id": "Origin", +"properties": { +"type": { +"description": "Type specifies which type of origin is set.", +"enum": [ +"TYPE_UNSPECIFIED", +"FLEET", +"FLEET_OUT_OF_SYNC", +"USER" +], +"enumDescriptions": [ +"Type is unknown or not set.", +"Per-Membership spec was inherited from the fleet-level default.", +"Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default.", +"Per-Membership spec was inherited from a user specification." +], +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PolicyBinding": { +"description": "Binauthz policy that applies to this cluster.", +"id": "PolicyBinding", +"properties": { +"name": { +"description": "The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerBundleInstallSpec": { +"description": "BundleInstallSpec is the specification configuration for a single managed bundle.", +"id": "PolicyControllerBundleInstallSpec", +"properties": { +"exemptedNamespaces": { +"description": "The set of namespaces to be exempted from the bundle.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerHubConfig": { +"description": "Configuration for Policy Controller", +"id": "PolicyControllerHubConfig", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"constraintViolationLimit": { +"description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", +"format": "int64", +"type": "string" +}, +"deploymentConfigs": { +"additionalProperties": { +"$ref": "PolicyControllerPolicyControllerDeploymentConfig" +}, +"description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation').", +"type": "object" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"installSpec": { +"description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", +"enum": [ +"INSTALL_SPEC_UNSPECIFIED", +"INSTALL_SPEC_NOT_INSTALLED", +"INSTALL_SPEC_ENABLED", +"INSTALL_SPEC_SUSPENDED", +"INSTALL_SPEC_DETACHED" +], +"enumDescriptions": [ +"Spec is unknown.", +"Request to uninstall Policy Controller.", +"Request to install and enable Policy Controller.", +"Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", +"Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." +], +"type": "string" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "PolicyControllerMonitoringConfig", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enables the ability to mutate resources using Policy Controller.", +"type": "boolean" +}, +"policyContent": { +"$ref": "PolicyControllerPolicyContentSpec", +"description": "Specifies the desired policy content on the cluster" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +} +}, +"type": "object" +}, +"PolicyControllerMembershipSpec": { +"description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", +"id": "PolicyControllerMembershipSpec", +"properties": { +"policyControllerHubConfig": { +"$ref": "PolicyControllerHubConfig", +"description": "Policy Controller configuration for the cluster." +}, +"version": { +"description": "Version of Policy Controller installed.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerMembershipState": { +"description": "**Policy Controller**: State for a single cluster.", +"id": "PolicyControllerMembershipState", +"properties": { +"componentStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", +"type": "object" +}, +"policyContentState": { +"$ref": "PolicyControllerPolicyContentState", +"description": "The overall content state observed by the Hub Feature controller." +}, +"state": { +"description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as 'install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to 'take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerMonitoringConfig": { +"description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "PolicyControllerMonitoringConfig", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerOnClusterState": { +"description": "OnClusterState represents the state of a sub-component of Policy Controller.", +"id": "PolicyControllerOnClusterState", +"properties": { +"details": { +"description": "Surface potential errors or information logs.", +"type": "string" +}, +"state": { +"description": "The lifecycle state of this component.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as 'install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to 'take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentSpec": { +"description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", +"id": "PolicyControllerPolicyContentSpec", +"properties": { +"bundles": { +"additionalProperties": { +"$ref": "PolicyControllerBundleInstallSpec" +}, +"description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", +"type": "object" +}, +"templateLibrary": { +"$ref": "PolicyControllerTemplateLibraryConfig", +"description": "Configures the installation of the Template Library." +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentState": { +"description": "The state of the policy controller policy content", +"id": "PolicyControllerPolicyContentState", +"properties": { +"bundleStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "The state of the any bundles included in the chosen version of the manifest", +"type": "object" +}, +"referentialSyncConfigState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." +}, +"templateLibraryState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the template library" +} +}, +"type": "object" +}, +"PolicyControllerPolicyControllerDeploymentConfig": { +"description": "Deployment-specific configuration.", +"id": "PolicyControllerPolicyControllerDeploymentConfig", +"properties": { +"containerResources": { +"$ref": "PolicyControllerResourceRequirements", +"description": "Container resource requirements." +}, +"podAffinity": { +"description": "Pod affinity configuration.", +"enum": [ +"AFFINITY_UNSPECIFIED", +"NO_AFFINITY", +"ANTI_AFFINITY" +], +"enumDescriptions": [ +"No affinity configuration has been specified.", +"Affinity configurations will be removed from the deployment.", +"Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." +], +"type": "string" +}, +"podAntiAffinity": { +"deprecated": true, +"description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", +"type": "boolean" +}, +"podTolerations": { +"description": "Pod tolerations of node taints.", +"items": { +"$ref": "PolicyControllerToleration" +}, +"type": "array" +}, +"replicaCount": { +"description": "Pod replica count.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceList": { +"description": "ResourceList contains container resource requirements.", +"id": "PolicyControllerResourceList", +"properties": { +"cpu": { +"description": "CPU requirement expressed in Kubernetes resource units.", +"type": "string" +}, +"memory": { +"description": "Memory requirement expressed in Kubernetes resource units.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceRequirements": { +"description": "ResourceRequirements describes the compute resource requirements.", +"id": "PolicyControllerResourceRequirements", +"properties": { +"limits": { +"$ref": "PolicyControllerResourceList", +"description": "Limits describes the maximum amount of compute resources allowed for use by the running container." +}, +"requests": { +"$ref": "PolicyControllerResourceList", +"description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." +} +}, +"type": "object" +}, +"PolicyControllerTemplateLibraryConfig": { +"description": "The config specifying which default library templates to install.", +"id": "PolicyControllerTemplateLibraryConfig", +"properties": { +"installation": { +"description": "Configures the manner in which the template library is installed on the cluster.", +"enum": [ +"INSTALLATION_UNSPECIFIED", +"NOT_INSTALLED", +"ALL" +], +"enumDescriptions": [ +"No installation strategy has been specified.", +"Do not install the template library.", +"Install the entire template library." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerToleration": { +"description": "Toleration of a node taint.", +"id": "PolicyControllerToleration", +"properties": { +"effect": { +"description": "Matches a taint effect.", +"type": "string" +}, +"key": { +"description": "Matches a taint key (not necessarily unique).", +"type": "string" +}, +"operator": { +"description": "Matches a taint operator.", +"type": "string" +}, +"value": { +"description": "Matches a taint value.", +"type": "string" +} +}, +"type": "object" +}, +"RBACRoleBinding": { +"description": "RBACRoleBinding represents a rbacrolebinding across the Fleet", +"id": "RBACRoleBinding", +"properties": { +"createTime": { +"description": "Output only. When the rbacrolebinding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the rbacrolebinding was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"group": { +"description": "group is the group, as seen by the kubernetes cluster.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this RBACRolebinding.", +"type": "object" +}, +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"type": "string" +}, +"role": { +"$ref": "Role", +"description": "Required. Role to bind to the principal" +}, +"state": { +"$ref": "RBACRoleBindingLifecycleState", +"description": "Output only. State of the rbacrolebinding resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the rbacrolebinding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"user": { +"description": "user is the name of the user as seen by the kubernetes cluster, example \"alice\" or \"alice@domain.tld\"", +"type": "string" +} +}, +"type": "object" +}, +"RBACRoleBindingLifecycleState": { +"description": "RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource.", +"id": "RBACRoleBindingLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the rbacrolebinding resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The rbacrolebinding is being created.", +"The rbacrolebinding active.", +"The rbacrolebinding is being deleted.", +"The rbacrolebinding is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ResourceManifest": { +"description": "ResourceManifest represents a single Kubernetes resource to be applied to the cluster.", +"id": "ResourceManifest", +"properties": { +"clusterScoped": { +"description": "Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster.", +"readOnly": true, +"type": "boolean" +}, +"manifest": { +"description": "Output only. YAML manifest of the resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ResourceOptions": { +"description": "ResourceOptions represent options for Kubernetes resource generation.", +"id": "ResourceOptions", +"properties": { +"connectVersion": { +"description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.", +"type": "string" +}, +"k8sVersion": { +"description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.", +"type": "string" +}, +"v1beta1Crd": { +"description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.", +"type": "boolean" +} +}, +"type": "object" +}, +"Role": { +"description": "Role is the type for Kubernetes roles", +"id": "Role", +"properties": { +"predefinedRole": { +"description": "predefined_role is the Kubernetes default role to use", +"enum": [ +"UNKNOWN", +"ADMIN", +"EDIT", +"VIEW", +"ANTHOS_SUPPORT" +], +"enumDescriptions": [ +"UNKNOWN", +"ADMIN has EDIT and RBAC permissions", +"EDIT can edit all resources except RBAC", +"VIEW can only read resources", +"ANTHOS_SUPPORT gives Google Support read-only access to a number of cluster resources." +], +"type": "string" +} +}, +"type": "object" +}, +"Scope": { +"description": "Scope represents a Scope in a Fleet.", +"id": "Scope", +"properties": { +"createTime": { +"description": "Output only. When the scope was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the scope was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Scope.", +"type": "object" +}, +"name": { +"description": "The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}`", +"type": "string" +}, +"namespaceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant.", +"type": "object" +}, +"state": { +"$ref": "ScopeLifecycleState", +"description": "Output only. State of the scope resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all scope resources. If a scope resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the scope was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ScopeFeatureSpec": { +"description": "ScopeFeatureSpec contains feature specs for a fleet scope.", +"id": "ScopeFeatureSpec", +"properties": {}, +"type": "object" +}, +"ScopeFeatureState": { +"description": "ScopeFeatureState contains Scope-wide Feature status information.", +"id": "ScopeFeatureState", +"properties": { +"state": { +"$ref": "FeatureState", +"description": "Output only. The \"running state\" of the Feature in this Scope.", +"readOnly": true +} +}, +"type": "object" +}, +"ScopeLifecycleState": { +"description": "ScopeLifecycleState describes the state of a Scope resource.", +"id": "ScopeLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the scope resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The scope is being created.", +"The scope active.", +"The scope is being deleted.", +"The scope is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SecurityPostureConfig": { +"description": "SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API.", +"id": "SecurityPostureConfig", +"properties": { +"mode": { +"description": "Sets which mode to use for Security Posture features.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"BASIC", +"ENTERPRISE" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables Security Posture features on the cluster.", +"Applies Security Posture features on the cluster.", +"Applies the Security Posture off cluster Enterprise level features." +], +"type": "string" +}, +"vulnerabilityMode": { +"description": "Sets which mode to use for vulnerability scanning.", +"enum": [ +"VULNERABILITY_MODE_UNSPECIFIED", +"VULNERABILITY_DISABLED", +"VULNERABILITY_BASIC", +"VULNERABILITY_ENTERPRISE" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables vulnerability scanning on the cluster.", +"Applies basic vulnerability scanning on the cluster.", +"Applies the Security Posture's vulnerability on cluster Enterprise level features." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshCondition": { +"description": "Condition being reported.", +"id": "ServiceMeshCondition", +"properties": { +"code": { +"description": "Unique identifier of the condition which describes the condition recognizable to the user.", +"enum": [ +"CODE_UNSPECIFIED", +"MESH_IAM_PERMISSION_DENIED", +"MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", +"CNI_CONFIG_UNSUPPORTED", +"GKE_SANDBOX_UNSUPPORTED", +"NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", +"CNI_INSTALLATION_FAILED", +"CNI_POD_UNSCHEDULABLE", +"CLUSTER_HAS_ZERO_NODES", +"UNSUPPORTED_MULTIPLE_CONTROL_PLANES", +"VPCSC_GA_SUPPORTED", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", +"CONFIG_APPLY_INTERNAL_ERROR", +"CONFIG_VALIDATION_ERROR", +"CONFIG_VALIDATION_WARNING", +"QUOTA_EXCEEDED_BACKEND_SERVICES", +"QUOTA_EXCEEDED_HEALTH_CHECKS", +"QUOTA_EXCEEDED_HTTP_ROUTES", +"QUOTA_EXCEEDED_TCP_ROUTES", +"QUOTA_EXCEEDED_TLS_ROUTES", +"QUOTA_EXCEEDED_TRAFFIC_POLICIES", +"QUOTA_EXCEEDED_ENDPOINT_POLICIES", +"QUOTA_EXCEEDED_GATEWAYS", +"QUOTA_EXCEEDED_MESHES", +"QUOTA_EXCEEDED_SERVER_TLS_POLICIES", +"QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", +"QUOTA_EXCEEDED_SERVICE_LB_POLICIES", +"QUOTA_EXCEEDED_HTTP_FILTERS", +"QUOTA_EXCEEDED_TCP_FILTERS", +"QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", +"MODERNIZATION_SCHEDULED", +"MODERNIZATION_IN_PROGRESS", +"MODERNIZATION_COMPLETED", +"MODERNIZATION_ABORTED" +], +"enumDescriptions": [ +"Default Unspecified code", +"Mesh IAM permission denied error code", +"Permission denied error code for cross-project", +"CNI config unsupported error code", +"GKE sandbox unsupported error code", +"Nodepool workload identity federation required error code", +"CNI installation failed error code", +"CNI pod unschedulable error code", +"Cluster has zero node code", +"Multiple control planes unsupported error code", +"VPC-SC GA is supported for this control plane.", +"User is using deprecated ControlPlaneManagement and they have not yet set Management.", +"User is using deprecated ControlPlaneManagement and they have already set Management.", +"Configuration (Istio/k8s resources) failed to apply due to internal error.", +"Configuration failed to be applied due to being invalid.", +"Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", +"BackendService quota exceeded error code.", +"HealthCheck quota exceeded error code.", +"HTTPRoute quota exceeded error code.", +"TCPRoute quota exceeded error code.", +"TLS routes quota exceeded error code.", +"TrafficPolicy quota exceeded error code.", +"EndpointPolicy quota exceeded error code.", +"Gateway quota exceeded error code.", +"Mesh quota exceeded error code.", +"ServerTLSPolicy quota exceeded error code.", +"ClientTLSPolicy quota exceeded error code.", +"ServiceLBPolicy quota exceeded error code.", +"HTTPFilter quota exceeded error code.", +"TCPFilter quota exceeded error code.", +"NetworkEndpointGroup quota exceeded error code.", +"Modernization is scheduled for a cluster.", +"Modernization is in progress for a cluster.", +"Modernization is completed for a cluster.", +"Modernization is aborted for a cluster." +], +"type": "string" +}, +"details": { +"description": "A short summary about the issue.", +"type": "string" +}, +"documentationLink": { +"description": "Links contains actionable information.", +"type": "string" +}, +"severity": { +"description": "Severity level of the condition.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Unspecified severity", +"Indicates an issue that prevents the mesh from operating correctly", +"Indicates a setting is likely wrong, but the mesh is still able to operate", +"An informational message, not requiring any action" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshControlPlaneManagement": { +"description": "Status of control plane management.", +"id": "ServiceMeshControlPlaneManagement", +"properties": { +"details": { +"description": "Explanation of state.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"implementation": { +"description": "Output only. Implementation of managed control plane.", +"enum": [ +"IMPLEMENTATION_UNSPECIFIED", +"ISTIOD", +"TRAFFIC_DIRECTOR", +"UPDATING" +], +"enumDescriptions": [ +"Unspecified", +"A Google build of istiod is used for the managed control plane.", +"Traffic director is used for the managed control plane.", +"The control plane implementation is being updated." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "LifecycleState of control plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshDataPlaneManagement": { +"description": "Status of data plane management. Only reported per-member.", +"id": "ServiceMeshDataPlaneManagement", +"properties": { +"details": { +"description": "Explanation of the status.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"state": { +"description": "Lifecycle status of data plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshMembershipSpec": { +"description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", +"id": "ServiceMeshMembershipSpec", +"properties": { +"configApi": { +"description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", +"enum": [ +"CONFIG_API_UNSPECIFIED", +"CONFIG_API_ISTIO", +"CONFIG_API_GATEWAY" +], +"enumDescriptions": [ +"Unspecified", +"Use the Istio API for configuration.", +"Use the K8s Gateway API for configuration." +], +"type": "string" +}, +"controlPlane": { +"deprecated": true, +"description": "Deprecated: use `management` instead Enables automatic control plane management.", +"enum": [ +"CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", +"User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" +], +"type": "string" +}, +"management": { +"description": "Optional. Enables automatic Service Mesh management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should manage my Service Mesh for the cluster.", +"User will manually configure their service mesh components." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshMembershipState": { +"description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", +"id": "ServiceMeshMembershipState", +"properties": { +"conditions": { +"description": "Output only. List of conditions reported for this membership.", +"items": { +"$ref": "ServiceMeshCondition" +}, +"readOnly": true, +"type": "array" +}, +"controlPlaneManagement": { +"$ref": "ServiceMeshControlPlaneManagement", +"description": "Output only. Status of control plane management", +"readOnly": true +}, +"dataPlaneManagement": { +"$ref": "ServiceMeshDataPlaneManagement", +"description": "Output only. Status of data plane management.", +"readOnly": true +} +}, +"type": "object" +}, +"ServiceMeshStatusDetails": { +"description": "Structured and human-readable details for a status.", +"id": "ServiceMeshStatusDetails", +"properties": { +"code": { +"description": "A machine-readable code that further describes a broad status.", +"type": "string" +}, +"details": { +"description": "Human-readable explanation of code.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "Status specifies state for the subcomponent.", +"id": "Status", +"properties": { +"code": { +"description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"FAILED", +"UNKNOWN" +], +"enumDescriptions": [ +"Not set.", +"AppDevExperienceFeature's specified subcomponent is ready.", +"AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", +"AppDevExperienceFeature's specified subcomponent has a pending or unknown state." +], +"type": "string" +}, +"description": { +"description": "Description is populated if Code is Failed, explaining why it has failed.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TypeMeta": { +"description": "TypeMeta is the type information needed for content unmarshalling of Kubernetes resources in the manifest.", +"id": "TypeMeta", +"properties": { +"apiVersion": { +"description": "APIVersion of the resource (e.g. v1).", +"type": "string" +}, +"kind": { +"description": "Kind of the resource (e.g. Deployment).", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "GKE Hub API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..712a55252c8b8db18939917d441e964e1489fcde --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2.json @@ -0,0 +1,3295 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://gkehub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "GKE Hub", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "gkehub:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://gkehub.mtls.googleapis.com/", +"name": "gkehub", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"memberships": { +"resources": { +"features": { +"methods": { +"create": { +"description": "Creates membershipFeature under a given parent.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "Required. The ID of the membership_feature to create.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/features", +"request": { +"$ref": "MembershipFeature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a membershipFeature.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "MembershipFeature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MembershipFeatures in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/features", +"response": { +"$ref": "ListMembershipFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing MembershipFeature.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "MembershipFeature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "gkehub.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://gkehub.googleapis.com/", +"schemas": { +"AppDevExperienceState": { +"description": "State for App Dev Exp Feature.", +"id": "AppDevExperienceState", +"properties": { +"networkingInstallSucceeded": { +"$ref": "AppDevExperienceStatus", +"description": "Status of subcomponent that detects configured Service Mesh resources." +} +}, +"type": "object" +}, +"AppDevExperienceStatus": { +"description": "Status specifies state for the subcomponent.", +"id": "AppDevExperienceStatus", +"properties": { +"code": { +"description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"FAILED", +"UNKNOWN" +], +"enumDescriptions": [ +"Not set.", +"AppDevExperienceFeature's specified subcomponent is ready.", +"AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", +"AppDevExperienceFeature's specified subcomponent has a pending or unknown state." +], +"type": "string" +}, +"description": { +"description": "Description is populated if Code is Failed, explaining why it has failed.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudBuildSpec": { +"description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", +"id": "CloudBuildSpec", +"properties": { +"securityPolicy": { +"description": "Whether it is allowed to run the privileged builds on the cluster or not.", +"enum": [ +"SECURITY_POLICY_UNSPECIFIED", +"NON_PRIVILEGED", +"PRIVILEGED" +], +"enumDescriptions": [ +"Unspecified policy", +"Privileged build pods are disallowed", +"Privileged build pods are allowed" +], +"type": "string" +}, +"version": { +"description": "Version of the cloud build software on the cluster.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgrade": { +"description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", +"id": "ClusterUpgradeGKEUpgrade", +"properties": { +"name": { +"description": "Name of the upgrade, e.g., \"k8s_control_plane\".", +"type": "string" +}, +"version": { +"description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeIgnoredMembership": { +"description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", +"id": "ClusterUpgradeIgnoredMembership", +"properties": { +"ignoredTime": { +"description": "Time when the membership was first set to ignored.", +"format": "google-datetime", +"type": "string" +}, +"reason": { +"description": "Reason why the membership is ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeMembershipGKEUpgradeState": { +"description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", +"id": "ClusterUpgradeMembershipGKEUpgradeState", +"properties": { +"status": { +"$ref": "ClusterUpgradeUpgradeStatus", +"description": "Status of the upgrade." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Which upgrade to track the state." +} +}, +"type": "object" +}, +"ClusterUpgradeState": { +"description": "Per-membership state for this feature.", +"id": "ClusterUpgradeState", +"properties": { +"ignored": { +"$ref": "ClusterUpgradeIgnoredMembership", +"description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." +}, +"upgrades": { +"description": "Actual upgrade state against desired.", +"items": { +"$ref": "ClusterUpgradeMembershipGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeUpgradeStatus": { +"description": "UpgradeStatus provides status information for each upgrade.", +"id": "ClusterUpgradeUpgradeStatus", +"properties": { +"code": { +"description": "Status code of the upgrade.", +"enum": [ +"CODE_UNSPECIFIED", +"INELIGIBLE", +"PENDING", +"IN_PROGRESS", +"SOAKING", +"FORCED_SOAKING", +"COMPLETE" +], +"enumDescriptions": [ +"Required by https://linter.aip.dev/126/unspecified.", +"The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", +"The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", +"The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", +"The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", +"A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", +"The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." +], +"type": "string" +}, +"reason": { +"description": "Reason for this status.", +"type": "string" +}, +"updateTime": { +"description": "Last timestamp the status was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzConfig": { +"description": "Configuration for Binauthz.", +"id": "ConfigManagementBinauthzConfig", +"properties": { +"enabled": { +"description": "Whether binauthz is enabled in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzState": { +"description": "State for Binauthz.", +"id": "ConfigManagementBinauthzState", +"properties": { +"version": { +"$ref": "ConfigManagementBinauthzVersion", +"description": "The version of binauthz that is installed." +}, +"webhook": { +"description": "The state of the binauthz webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzVersion": { +"description": "The version of binauthz.", +"id": "ConfigManagementBinauthzVersion", +"properties": { +"webhookVersion": { +"description": "The version of the binauthz webhook.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSync": { +"description": "Configuration for Config Sync", +"id": "ConfigManagementConfigSync", +"properties": { +"allowVerticalScale": { +"deprecated": true, +"description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", +"type": "boolean" +}, +"enabled": { +"description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", +"type": "boolean" +}, +"git": { +"$ref": "ConfigManagementGitConfig", +"description": "Optional. Git repo configuration for the cluster." +}, +"metricsGcpServiceAccountEmail": { +"deprecated": true, +"description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", +"type": "string" +}, +"oci": { +"$ref": "ConfigManagementOciConfig", +"description": "Optional. OCI repo configuration for the cluster." +}, +"preventDrift": { +"description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", +"type": "boolean" +}, +"sourceFormat": { +"description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", +"type": "string" +}, +"stopSyncing": { +"description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncDeploymentState": { +"description": "The state of ConfigSync's deployment on a cluster.", +"id": "ConfigManagementConfigSyncDeploymentState", +"properties": { +"admissionWebhook": { +"description": "Deployment state of admission-webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gitSync": { +"description": "Deployment state of the git-sync pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"importer": { +"description": "Deployment state of the importer pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"monitor": { +"description": "Deployment state of the monitor pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"otelCollector": { +"description": "Deployment state of otel-collector", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"reconcilerManager": { +"description": "Deployment state of reconciler-manager pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Deployment state of resource-group-controller-manager", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"rootReconciler": { +"description": "Deployment state of root-reconciler.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"syncer": { +"description": "Deployment state of the syncer pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncError": { +"description": "Errors pertaining to the installation of Config Sync", +"id": "ConfigManagementConfigSyncError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncState": { +"description": "State information for ConfigSync.", +"id": "ConfigManagementConfigSyncState", +"properties": { +"clusterLevelStopSyncingState": { +"description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", +"enum": [ +"STOP_SYNCING_STATE_UNSPECIFIED", +"NOT_STOPPED", +"PENDING", +"STOPPED" +], +"enumDescriptions": [ +"State cannot be determined", +"Syncing resources to the cluster is not stopped at the cluster level.", +"Some reconcilers stop syncing resources to the cluster, while others are still syncing.", +"Syncing resources to the cluster is stopped at the cluster level." +], +"readOnly": true, +"type": "string" +}, +"crCount": { +"description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"deploymentState": { +"$ref": "ConfigManagementConfigSyncDeploymentState", +"description": "Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed", +"readOnly": true +}, +"errors": { +"description": "Output only. Errors pertaining to the installation of Config Sync.", +"items": { +"$ref": "ConfigManagementConfigSyncError" +}, +"readOnly": true, +"type": "array" +}, +"reposyncCrd": { +"description": "Output only. The state of the Reposync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"rootsyncCrd": { +"description": "Output only. The state of the RootSync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of CS This field summarizes the other fields in this message.", +"enum": [ +"STATE_UNSPECIFIED", +"CONFIG_SYNC_NOT_INSTALLED", +"CONFIG_SYNC_INSTALLED", +"CONFIG_SYNC_ERROR", +"CONFIG_SYNC_PENDING" +], +"enumDescriptions": [ +"CS's state cannot be determined.", +"CS is not installed.", +"The expected CS version is installed successfully.", +"CS encounters errors.", +"CS is installing or terminating." +], +"readOnly": true, +"type": "string" +}, +"syncState": { +"$ref": "ConfigManagementSyncState", +"description": "Output only. The state of ConfigSync's process to sync configs to a cluster.", +"readOnly": true +}, +"version": { +"$ref": "ConfigManagementConfigSyncVersion", +"description": "Output only. The version of ConfigSync deployed.", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncVersion": { +"description": "Specific versioning information pertaining to ConfigSync's Pods.", +"id": "ConfigManagementConfigSyncVersion", +"properties": { +"admissionWebhook": { +"description": "Version of the deployed admission-webhook pod.", +"type": "string" +}, +"gitSync": { +"description": "Version of the deployed git-sync pod.", +"type": "string" +}, +"importer": { +"description": "Version of the deployed importer pod.", +"type": "string" +}, +"monitor": { +"description": "Version of the deployed monitor pod.", +"type": "string" +}, +"otelCollector": { +"description": "Version of the deployed otel-collector pod", +"type": "string" +}, +"reconcilerManager": { +"description": "Version of the deployed reconciler-manager pod.", +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Version of the deployed resource-group-controller-manager pod", +"type": "string" +}, +"rootReconciler": { +"description": "Version of the deployed reconciler container in root-reconciler pod.", +"type": "string" +}, +"syncer": { +"description": "Version of the deployed syncer pod.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementErrorResource": { +"description": "Model for a config file in the git repo with an associated Sync error.", +"id": "ConfigManagementErrorResource", +"properties": { +"resourceGvk": { +"$ref": "ConfigManagementGroupVersionKind", +"description": "Group/version/kind of the resource that is causing an error" +}, +"resourceName": { +"description": "Metadata name of the resource that is causing an error", +"type": "string" +}, +"resourceNamespace": { +"description": "Namespace of the resource that is causing an error", +"type": "string" +}, +"sourcePath": { +"description": "Path in the git repo of the erroneous config", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGatekeeperDeploymentState": { +"description": "State of Policy Controller installation.", +"id": "ConfigManagementGatekeeperDeploymentState", +"properties": { +"gatekeeperAudit": { +"description": "Status of gatekeeper-audit deployment.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperControllerManagerState": { +"description": "Status of gatekeeper-controller-manager pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperMutation": { +"description": "Status of the pod serving the mutation webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGitConfig": { +"description": "Git repo configuration for a single cluster.", +"id": "ConfigManagementGitConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"httpsProxy": { +"description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", +"type": "string" +}, +"secretType": { +"description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", +"type": "string" +}, +"syncBranch": { +"description": "Optional. The branch of the repository to sync from. Default: master.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The URL of the Git repository to use as the source of truth.", +"type": "string" +}, +"syncRev": { +"description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGroupVersionKind": { +"description": "A Kubernetes object's GVK.", +"id": "ConfigManagementGroupVersionKind", +"properties": { +"group": { +"description": "Kubernetes Group", +"type": "string" +}, +"kind": { +"description": "Kubernetes Kind", +"type": "string" +}, +"version": { +"description": "Kubernetes Version", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerConfig": { +"description": "Configuration for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerConfig", +"properties": { +"enableHierarchicalResourceQuota": { +"description": "Whether hierarchical resource quota is enabled in this cluster.", +"type": "boolean" +}, +"enablePodTreeLabels": { +"description": "Whether pod tree labels are enabled in this cluster.", +"type": "boolean" +}, +"enabled": { +"description": "Whether Hierarchy Controller is enabled in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerDeploymentState": { +"description": "Deployment state for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerDeploymentState", +"properties": { +"extension": { +"description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"hnc": { +"description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerState": { +"description": "State for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerState", +"properties": { +"state": { +"$ref": "ConfigManagementHierarchyControllerDeploymentState", +"description": "The deployment state for Hierarchy Controller." +}, +"version": { +"$ref": "ConfigManagementHierarchyControllerVersion", +"description": "The version for Hierarchy Controller." +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerVersion": { +"description": "Version for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerVersion", +"properties": { +"extension": { +"description": "Version for Hierarchy Controller extension.", +"type": "string" +}, +"hnc": { +"description": "Version for open source HNC.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementInstallError": { +"description": "Errors pertaining to the installation of ACM.", +"id": "ConfigManagementInstallError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementOciConfig": { +"description": "OCI repo configuration for a single cluster.", +"id": "ConfigManagementOciConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", +"type": "string" +}, +"secretType": { +"description": "Optional. Type of secret configured for access to the Git repo.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementOperatorState": { +"description": "State information for an ACM's Operator.", +"id": "ConfigManagementOperatorState", +"properties": { +"deploymentState": { +"description": "The state of the Operator's deployment.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"errors": { +"description": "Install errors.", +"items": { +"$ref": "ConfigManagementInstallError" +}, +"type": "array" +}, +"version": { +"description": "The semenatic version number of the operator.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyController": { +"description": "Configuration for Policy Controller", +"id": "ConfigManagementPolicyController", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"enabled": { +"description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", +"type": "boolean" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "ConfigManagementPolicyControllerMonitoring", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", +"type": "boolean" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +}, +"templateLibraryInstalled": { +"description": "Installs the default template library along with Policy Controller.", +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Last time this membership spec was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMigration": { +"description": "State for the migration of PolicyController from ACM -> PoCo Hub.", +"id": "ConfigManagementPolicyControllerMigration", +"properties": { +"copyTime": { +"description": "Last time this membership spec was copied to PoCo feature.", +"format": "google-datetime", +"type": "string" +}, +"stage": { +"description": "Stage of the migration.", +"enum": [ +"STAGE_UNSPECIFIED", +"ACM_MANAGED", +"POCO_MANAGED" +], +"enumDescriptions": [ +"Unknown state of migration.", +"ACM Hub/Operator manages policycontroller. No migration yet completed.", +"All migrations steps complete; Poco Hub now manages policycontroller." +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMonitoring": { +"description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "ConfigManagementPolicyControllerMonitoring", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerState": { +"description": "State for PolicyControllerState.", +"id": "ConfigManagementPolicyControllerState", +"properties": { +"deploymentState": { +"$ref": "ConfigManagementGatekeeperDeploymentState", +"description": "The state about the policy controller installation." +}, +"migration": { +"$ref": "ConfigManagementPolicyControllerMigration", +"description": "Record state of ACM -> PoCo Hub migration for this feature." +}, +"version": { +"$ref": "ConfigManagementPolicyControllerVersion", +"description": "The version of Gatekeeper Policy Controller deployed." +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerVersion": { +"description": "The build version of Gatekeeper Policy Controller is using.", +"id": "ConfigManagementPolicyControllerVersion", +"properties": { +"version": { +"description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementSpec": { +"description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", +"id": "ConfigManagementSpec", +"properties": { +"binauthz": { +"$ref": "ConfigManagementBinauthzConfig", +"deprecated": true, +"description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." +}, +"cluster": { +"description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", +"type": "string" +}, +"configSync": { +"$ref": "ConfigManagementConfigSync", +"description": "Optional. Config Sync configuration for the cluster." +}, +"hierarchyController": { +"$ref": "ConfigManagementHierarchyControllerConfig", +"deprecated": true, +"description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." +}, +"management": { +"description": "Optional. Enables automatic Feature management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google will manage the Feature for the cluster.", +"User will manually manage the Feature for the cluster." +], +"type": "string" +}, +"policyController": { +"$ref": "ConfigManagementPolicyController", +"deprecated": true, +"description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." +}, +"version": { +"description": "Optional. Version of ACM installed.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementState": { +"description": "**Anthos Config Management**: State for a single cluster.", +"id": "ConfigManagementState", +"properties": { +"binauthzState": { +"$ref": "ConfigManagementBinauthzState", +"description": "Output only. Binauthz status.", +"readOnly": true +}, +"clusterName": { +"description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", +"readOnly": true, +"type": "string" +}, +"configSyncState": { +"$ref": "ConfigManagementConfigSyncState", +"description": "Output only. Current sync status.", +"readOnly": true +}, +"hierarchyControllerState": { +"$ref": "ConfigManagementHierarchyControllerState", +"description": "Output only. Hierarchy Controller status.", +"readOnly": true +}, +"membershipSpec": { +"$ref": "ConfigManagementSpec", +"description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state.", +"readOnly": true +}, +"operatorState": { +"$ref": "ConfigManagementOperatorState", +"description": "Output only. Current install status of ACM's Operator.", +"readOnly": true +}, +"policyControllerState": { +"$ref": "ConfigManagementPolicyControllerState", +"description": "Output only. PolicyController status.", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementSyncError": { +"description": "An ACM created error representing a problem syncing configurations.", +"id": "ConfigManagementSyncError", +"properties": { +"code": { +"description": "An ACM defined error code", +"type": "string" +}, +"errorMessage": { +"description": "A description of the error", +"type": "string" +}, +"errorResources": { +"description": "A list of config(s) associated with the error, if any", +"items": { +"$ref": "ConfigManagementErrorResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementSyncState": { +"description": "State indicating an ACM's progress syncing configurations to a cluster.", +"id": "ConfigManagementSyncState", +"properties": { +"code": { +"description": "Sync status code.", +"enum": [ +"SYNC_CODE_UNSPECIFIED", +"SYNCED", +"PENDING", +"ERROR", +"NOT_CONFIGURED", +"NOT_INSTALLED", +"UNAUTHORIZED", +"UNREACHABLE" +], +"enumDescriptions": [ +"Config Sync cannot determine a sync code", +"Config Sync successfully synced the git Repo with the cluster", +"Config Sync is in the progress of syncing a new change", +"Indicates an error configuring Config Sync, and user action is required", +"Config Sync has been installed but not configured", +"Config Sync has not been installed", +"Error authorizing with the cluster", +"Cluster could not be reached" +], +"type": "string" +}, +"errors": { +"description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", +"items": { +"$ref": "ConfigManagementSyncError" +}, +"type": "array" +}, +"importToken": { +"description": "Token indicating the state of the importer.", +"type": "string" +}, +"lastSync": { +"deprecated": true, +"description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String", +"type": "string" +}, +"lastSyncTime": { +"description": "Timestamp type of when ACM last successfully synced the repo.", +"format": "google-datetime", +"type": "string" +}, +"sourceToken": { +"description": "Token indicating the state of the repo.", +"type": "string" +}, +"syncToken": { +"description": "Token indicating the state of the syncer.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FeatureSpec": { +"description": "FeatureSpec contains user input per-feature spec information.", +"id": "FeatureSpec", +"properties": { +"cloudbuild": { +"$ref": "CloudBuildSpec", +"description": "Cloudbuild-specific FeatureSpec." +}, +"configmanagement": { +"$ref": "ConfigManagementSpec", +"description": "Config Management FeatureSpec." +}, +"identityservice": { +"$ref": "IdentityServiceSpec", +"description": "IdentityService FeatureSpec." +}, +"origin": { +"$ref": "Origin", +"description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." +}, +"policycontroller": { +"$ref": "PolicyControllerSpec", +"description": "Policycontroller-specific FeatureSpec." +}, +"servicemesh": { +"$ref": "ServiceMeshSpec", +"description": "ServiceMesh Feature Spec." +}, +"workloadcertificate": { +"$ref": "WorkloadCertificateSpec", +"description": "Workloadcertificate-specific FeatureSpec." +} +}, +"type": "object" +}, +"FeatureState": { +"description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", +"id": "FeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeState", +"description": "Cluster upgrade state." +}, +"configmanagement": { +"$ref": "ConfigManagementState", +"description": "Config Management state" +}, +"identityservice": { +"$ref": "IdentityServiceState", +"description": "Identity service state" +}, +"metering": { +"$ref": "MeteringState", +"description": "Metering state" +}, +"policycontroller": { +"$ref": "PolicyControllerState", +"description": "Policy Controller state" +}, +"servicemesh": { +"$ref": "ServiceMeshState", +"description": "Service mesh state" +}, +"state": { +"$ref": "State", +"description": "The high-level state of this MembershipFeature." +} +}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"IdentityServiceAuthMethod": { +"description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", +"id": "IdentityServiceAuthMethod", +"properties": { +"azureadConfig": { +"$ref": "IdentityServiceAzureADConfig", +"description": "AzureAD specific Configuration." +}, +"googleConfig": { +"$ref": "IdentityServiceGoogleConfig", +"description": "GoogleConfig specific configuration" +}, +"ldapConfig": { +"$ref": "IdentityServiceLdapConfig", +"description": "LDAP specific configuration." +}, +"name": { +"description": "Identifier for auth config.", +"type": "string" +}, +"oidcConfig": { +"$ref": "IdentityServiceOidcConfig", +"description": "OIDC specific configuration." +}, +"proxy": { +"description": "Proxy server address to use for auth method.", +"type": "string" +}, +"samlConfig": { +"$ref": "IdentityServiceSamlConfig", +"description": "SAML specific configuration." +} +}, +"type": "object" +}, +"IdentityServiceAzureADConfig": { +"description": "Configuration for the AzureAD Auth flow.", +"id": "IdentityServiceAzureADConfig", +"properties": { +"clientId": { +"description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted AzureAD client secret.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"groupFormat": { +"description": "Optional. Format of the AzureAD groups that the client wants for auth.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "The redirect URL that kubectl uses for authorization.", +"type": "string" +}, +"tenant": { +"description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", +"type": "string" +}, +"userClaim": { +"description": "Optional. Claim in the AzureAD ID Token that holds the user details.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceDiagnosticInterface": { +"description": "Configuration options for the AIS diagnostic interface.", +"id": "IdentityServiceDiagnosticInterface", +"properties": { +"enabled": { +"description": "Determines whether to enable the diagnostic interface.", +"type": "boolean" +}, +"expirationTime": { +"description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceGoogleConfig": { +"description": "Configuration for the Google Plugin Auth flow.", +"id": "IdentityServiceGoogleConfig", +"properties": { +"disable": { +"description": "Disable automatic configuration of Google Plugin on supported platforms.", +"type": "boolean" +} +}, +"type": "object" +}, +"IdentityServiceGroupConfig": { +"description": "Contains the properties for locating and authenticating groups in the directory.", +"id": "IdentityServiceGroupConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for group entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceIdentityServiceOptions": { +"description": "Holds non-protocol-related configuration options.", +"id": "IdentityServiceIdentityServiceOptions", +"properties": { +"diagnosticInterface": { +"$ref": "IdentityServiceDiagnosticInterface", +"description": "Configuration options for the AIS diagnostic interface." +}, +"sessionDuration": { +"description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceLdapConfig": { +"description": "Configuration for the LDAP Auth flow.", +"id": "IdentityServiceLdapConfig", +"properties": { +"group": { +"$ref": "IdentityServiceGroupConfig", +"description": "Optional. Contains the properties for locating and authenticating groups in the directory." +}, +"server": { +"$ref": "IdentityServiceServerConfig", +"description": "Required. Server settings for the external LDAP server." +}, +"serviceAccount": { +"$ref": "IdentityServiceServiceAccountConfig", +"description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." +}, +"user": { +"$ref": "IdentityServiceUserConfig", +"description": "Required. Defines where users exist in the LDAP directory." +} +}, +"type": "object" +}, +"IdentityServiceOidcConfig": { +"description": "Configuration for OIDC Auth flow.", +"id": "IdentityServiceOidcConfig", +"properties": { +"certificateAuthorityData": { +"description": "PEM-encoded CA for OIDC provider.", +"type": "string" +}, +"clientId": { +"description": "ID for OIDC client application.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"deployCloudConsoleProxy": { +"description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", +"type": "boolean" +}, +"enableAccessToken": { +"description": "Enable access token.", +"type": "boolean" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted OIDC Client secret", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"extraParams": { +"description": "Comma-separated list of key-value pairs.", +"type": "string" +}, +"groupPrefix": { +"description": "Prefix to prepend to group name.", +"type": "string" +}, +"groupsClaim": { +"description": "Claim in OIDC ID token that holds group information.", +"type": "string" +}, +"issuerUri": { +"description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", +"type": "string" +}, +"scopes": { +"description": "Comma-separated list of identifiers.", +"type": "string" +}, +"userClaim": { +"description": "Claim in OIDC ID token that holds username.", +"type": "string" +}, +"userPrefix": { +"description": "Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceSamlConfig": { +"description": "Configuration for the SAML Auth flow.", +"id": "IdentityServiceSamlConfig", +"properties": { +"attributeMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", +"type": "object" +}, +"groupPrefix": { +"description": "Optional. Prefix to prepend to group name.", +"type": "string" +}, +"groupsAttribute": { +"description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", +"type": "string" +}, +"identityProviderCertificates": { +"description": "Required. The list of IdP certificates to validate the SAML response against.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityProviderId": { +"description": "Required. The entity ID of the SAML IdP.", +"type": "string" +}, +"identityProviderSsoUri": { +"description": "Required. The URI where the SAML IdP exposes the SSO service.", +"type": "string" +}, +"userAttribute": { +"description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", +"type": "string" +}, +"userPrefix": { +"description": "Optional. Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServerConfig": { +"description": "Server settings for the external LDAP server.", +"id": "IdentityServiceServerConfig", +"properties": { +"certificateAuthorityData": { +"description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", +"format": "byte", +"type": "string" +}, +"connectionType": { +"description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", +"type": "string" +}, +"host": { +"description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServiceAccountConfig": { +"description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", +"id": "IdentityServiceServiceAccountConfig", +"properties": { +"simpleBindCredentials": { +"$ref": "IdentityServiceSimpleBindCredentials", +"description": "Credentials for basic auth." +} +}, +"type": "object" +}, +"IdentityServiceSimpleBindCredentials": { +"description": "The structure holds the LDAP simple binding credential.", +"id": "IdentityServiceSimpleBindCredentials", +"properties": { +"dn": { +"description": "Required. The distinguished name(DN) of the service account object/user.", +"type": "string" +}, +"encryptedPassword": { +"description": "Output only. The encrypted password of the service account object/user.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"password": { +"description": "Required. Input only. The password of the service account object/user.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceSpec": { +"description": "**IdentityService**: Configuration for a single membership.", +"id": "IdentityServiceSpec", +"properties": { +"authMethods": { +"description": "A member may support multiple auth methods.", +"items": { +"$ref": "IdentityServiceAuthMethod" +}, +"type": "array" +}, +"identityServiceOptions": { +"$ref": "IdentityServiceIdentityServiceOptions", +"description": "Optional. non-protocol-related configuration options." +} +}, +"type": "object" +}, +"IdentityServiceState": { +"description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", +"id": "IdentityServiceState", +"properties": { +"failureReason": { +"description": "The reason of the failure.", +"type": "string" +}, +"installedVersion": { +"description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", +"type": "string" +}, +"memberConfig": { +"$ref": "IdentityServiceSpec", +"description": "Last reconciled membership configuration" +}, +"state": { +"description": "Deployment state on this member", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"OK", +"ERROR" +], +"enumDescriptions": [ +"Unspecified state", +"deployment succeeds", +"Failure with error." +], +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceUserConfig": { +"description": "Defines where users exist in the LDAP directory.", +"id": "IdentityServiceUserConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for user entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", +"type": "string" +}, +"loginAttribute": { +"description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", +"type": "string" +} +}, +"type": "object" +}, +"LifecycleState": { +"description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", +"id": "LifecycleState", +"properties": { +"state": { +"description": "Output only. The current state of the Feature resource in the Hub API.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLING", +"ACTIVE", +"DISABLING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"State is unknown or not set.", +"The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", +"The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", +"The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", +"The MembershipFeature resource is being updated.", +"The MembershipFeature resource is being updated by the Hub Service." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListMembershipFeaturesResponse": { +"description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", +"id": "ListMembershipFeaturesResponse", +"properties": { +"membershipFeatures": { +"description": "The list of matching MembershipFeatures.", +"items": { +"$ref": "MembershipFeature" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MembershipFeature": { +"description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", +"id": "MembershipFeature", +"properties": { +"createTime": { +"description": "Output only. When the MembershipFeature resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the MembershipFeature resource was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "GCP labels for this MembershipFeature.", +"type": "object" +}, +"lifecycleState": { +"$ref": "LifecycleState", +"description": "Output only. Lifecycle information of the resource itself.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", +"readOnly": true, +"type": "string" +}, +"spec": { +"$ref": "FeatureSpec", +"description": "Optional. Spec of this membershipFeature." +}, +"state": { +"$ref": "FeatureState", +"description": "Output only. State of the this membershipFeature.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. When the MembershipFeature resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MeteringState": { +"description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", +"id": "MeteringState", +"properties": { +"lastMeasurementTime": { +"description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", +"format": "google-datetime", +"type": "string" +}, +"preciseLastMeasuredClusterVcpuCapacity": { +"description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"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" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"Origin": { +"description": "Origin defines where this FeatureSpec originated from.", +"id": "Origin", +"properties": { +"type": { +"description": "Type specifies which type of origin is set.", +"enum": [ +"TYPE_UNSPECIFIED", +"FLEET", +"FLEET_OUT_OF_SYNC", +"USER" +], +"enumDescriptions": [ +"Type is unknown or not set.", +"Per-Feature spec was inherited from the fleet-level default.", +"Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", +"Per-Feature spec was inherited from a user specification." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerBundleInstallSpec": { +"description": "BundleInstallSpec is the specification configuration for a single managed bundle.", +"id": "PolicyControllerBundleInstallSpec", +"properties": { +"exemptedNamespaces": { +"description": "the set of namespaces to be exempted from the bundle", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerHubConfig": { +"description": "Configuration for Policy Controller", +"id": "PolicyControllerHubConfig", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"constraintViolationLimit": { +"description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", +"format": "int64", +"type": "string" +}, +"deploymentConfigs": { +"additionalProperties": { +"$ref": "PolicyControllerPolicyControllerDeploymentConfig" +}, +"description": "Map of deployment configs to deployments (\u201cadmission\u201d, \u201caudit\u201d, \u201cmutation\u201d).", +"type": "object" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"installSpec": { +"description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", +"enum": [ +"INSTALL_SPEC_UNSPECIFIED", +"INSTALL_SPEC_NOT_INSTALLED", +"INSTALL_SPEC_ENABLED", +"INSTALL_SPEC_SUSPENDED", +"INSTALL_SPEC_DETACHED" +], +"enumDescriptions": [ +"Spec is unknown.", +"Request to uninstall Policy Controller.", +"Request to install and enable Policy Controller.", +"Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", +"Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." +], +"type": "string" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "PolicyControllerMonitoringConfig", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enables the ability to mutate resources using Policy Controller.", +"type": "boolean" +}, +"policyContent": { +"$ref": "PolicyControllerPolicyContentSpec", +"description": "Specifies the desired policy content on the cluster" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +} +}, +"type": "object" +}, +"PolicyControllerMonitoringConfig": { +"description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "PolicyControllerMonitoringConfig", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerOnClusterState": { +"description": "OnClusterState represents the state of a sub-component of Policy Controller.", +"id": "PolicyControllerOnClusterState", +"properties": { +"details": { +"description": "Surface potential errors or information logs.", +"type": "string" +}, +"state": { +"description": "The lifecycle state of this component.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentSpec": { +"description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", +"id": "PolicyControllerPolicyContentSpec", +"properties": { +"bundles": { +"additionalProperties": { +"$ref": "PolicyControllerBundleInstallSpec" +}, +"description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", +"type": "object" +}, +"templateLibrary": { +"$ref": "PolicyControllerTemplateLibraryConfig", +"description": "Configures the installation of the Template Library." +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentState": { +"description": "The state of the policy controller policy content", +"id": "PolicyControllerPolicyContentState", +"properties": { +"bundleStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "The state of the any bundles included in the chosen version of the manifest", +"type": "object" +}, +"referentialSyncConfigState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." +}, +"templateLibraryState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the template library" +} +}, +"type": "object" +}, +"PolicyControllerPolicyControllerDeploymentConfig": { +"description": "Deployment-specific configuration.", +"id": "PolicyControllerPolicyControllerDeploymentConfig", +"properties": { +"containerResources": { +"$ref": "PolicyControllerResourceRequirements", +"description": "Container resource requirements." +}, +"podAffinity": { +"description": "Pod affinity configuration.", +"enum": [ +"AFFINITY_UNSPECIFIED", +"NO_AFFINITY", +"ANTI_AFFINITY" +], +"enumDescriptions": [ +"No affinity configuration has been specified.", +"Affinity configurations will be removed from the deployment.", +"Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." +], +"type": "string" +}, +"podAntiAffinity": { +"deprecated": true, +"description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", +"type": "boolean" +}, +"podTolerations": { +"description": "Pod tolerations of node taints.", +"items": { +"$ref": "PolicyControllerToleration" +}, +"type": "array" +}, +"replicaCount": { +"description": "Pod replica count.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceList": { +"description": "ResourceList contains container resource requirements.", +"id": "PolicyControllerResourceList", +"properties": { +"cpu": { +"description": "CPU requirement expressed in Kubernetes resource units.", +"type": "string" +}, +"memory": { +"description": "Memory requirement expressed in Kubernetes resource units.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceRequirements": { +"description": "ResourceRequirements describes the compute resource requirements.", +"id": "PolicyControllerResourceRequirements", +"properties": { +"limits": { +"$ref": "PolicyControllerResourceList", +"description": "Limits describes the maximum amount of compute resources allowed for use by the running container." +}, +"requests": { +"$ref": "PolicyControllerResourceList", +"description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." +} +}, +"type": "object" +}, +"PolicyControllerSpec": { +"description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", +"id": "PolicyControllerSpec", +"properties": { +"policyControllerHubConfig": { +"$ref": "PolicyControllerHubConfig", +"description": "Policy Controller configuration for the cluster." +}, +"version": { +"description": "Version of Policy Controller installed.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerState": { +"description": "**Policy Controller**: State for a single cluster.", +"id": "PolicyControllerState", +"properties": { +"componentStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", +"type": "object" +}, +"policyContentState": { +"$ref": "PolicyControllerPolicyContentState", +"description": "The overall content state observed by the Hub Feature controller." +}, +"state": { +"description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerTemplateLibraryConfig": { +"description": "The config specifying which default library templates to install.", +"id": "PolicyControllerTemplateLibraryConfig", +"properties": { +"installation": { +"description": "Configures the manner in which the template library is installed on the cluster.", +"enum": [ +"INSTALLATION_UNSPECIFIED", +"NOT_INSTALLED", +"ALL" +], +"enumDescriptions": [ +"No installation strategy has been specified.", +"Do not install the template library.", +"Install the entire template library." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerToleration": { +"description": "Toleration of a node taint.", +"id": "PolicyControllerToleration", +"properties": { +"effect": { +"description": "Matches a taint effect.", +"type": "string" +}, +"key": { +"description": "Matches a taint key (not necessarily unique).", +"type": "string" +}, +"operator": { +"description": "Matches a taint operator.", +"type": "string" +}, +"value": { +"description": "Matches a taint value.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshAnalysisMessage": { +"description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", +"id": "ServiceMeshAnalysisMessage", +"properties": { +"args": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", +"type": "object" +}, +"description": { +"description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", +"type": "string" +}, +"messageBase": { +"$ref": "ServiceMeshAnalysisMessageBase", +"description": "Details common to all types of Istio and ServiceMesh analysis messages." +}, +"resourcePaths": { +"description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceMeshAnalysisMessageBase": { +"description": "AnalysisMessageBase describes some common information that is needed for all messages.", +"id": "ServiceMeshAnalysisMessageBase", +"properties": { +"documentationUrl": { +"description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", +"type": "string" +}, +"level": { +"description": "Represents how severe a message is.", +"enum": [ +"LEVEL_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", +"ERROR represents a misconfiguration that must be fixed.", +"WARNING represents a misconfiguration that should be fixed.", +"INFO represents an informational finding." +], +"type": "string" +}, +"type": { +"$ref": "ServiceMeshType", +"description": "Represents the specific type of a message." +} +}, +"type": "object" +}, +"ServiceMeshCondition": { +"description": "Condition being reported.", +"id": "ServiceMeshCondition", +"properties": { +"code": { +"description": "Unique identifier of the condition which describes the condition recognizable to the user.", +"enum": [ +"CODE_UNSPECIFIED", +"MESH_IAM_PERMISSION_DENIED", +"MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", +"CNI_CONFIG_UNSUPPORTED", +"GKE_SANDBOX_UNSUPPORTED", +"NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", +"CNI_INSTALLATION_FAILED", +"CNI_POD_UNSCHEDULABLE", +"CLUSTER_HAS_ZERO_NODES", +"UNSUPPORTED_MULTIPLE_CONTROL_PLANES", +"VPCSC_GA_SUPPORTED", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", +"CONFIG_APPLY_INTERNAL_ERROR", +"CONFIG_VALIDATION_ERROR", +"CONFIG_VALIDATION_WARNING", +"QUOTA_EXCEEDED_BACKEND_SERVICES", +"QUOTA_EXCEEDED_HEALTH_CHECKS", +"QUOTA_EXCEEDED_HTTP_ROUTES", +"QUOTA_EXCEEDED_TCP_ROUTES", +"QUOTA_EXCEEDED_TLS_ROUTES", +"QUOTA_EXCEEDED_TRAFFIC_POLICIES", +"QUOTA_EXCEEDED_ENDPOINT_POLICIES", +"QUOTA_EXCEEDED_GATEWAYS", +"QUOTA_EXCEEDED_MESHES", +"QUOTA_EXCEEDED_SERVER_TLS_POLICIES", +"QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", +"QUOTA_EXCEEDED_SERVICE_LB_POLICIES", +"QUOTA_EXCEEDED_HTTP_FILTERS", +"QUOTA_EXCEEDED_TCP_FILTERS", +"QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", +"MODERNIZATION_SCHEDULED", +"MODERNIZATION_IN_PROGRESS", +"MODERNIZATION_COMPLETED", +"MODERNIZATION_ABORTED" +], +"enumDescriptions": [ +"Default Unspecified code", +"Mesh IAM permission denied error code", +"Permission denied error code for cross-project", +"CNI config unsupported error code", +"GKE sandbox unsupported error code", +"Nodepool workload identity federation required error code", +"CNI installation failed error code", +"CNI pod unschedulable error code", +"Cluster has zero node code", +"Multiple control planes unsupported error code", +"VPC-SC GA is supported for this control plane.", +"User is using deprecated ControlPlaneManagement and they have not yet set Management.", +"User is using deprecated ControlPlaneManagement and they have already set Management.", +"Configuration (Istio/k8s resources) failed to apply due to internal error.", +"Configuration failed to be applied due to being invalid.", +"Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", +"BackendService quota exceeded error code.", +"HealthCheck quota exceeded error code.", +"HTTPRoute quota exceeded error code.", +"TCPRoute quota exceeded error code.", +"TLS routes quota exceeded error code.", +"TrafficPolicy quota exceeded error code.", +"EndpointPolicy quota exceeded error code.", +"Gateway quota exceeded error code.", +"Mesh quota exceeded error code.", +"ServerTLSPolicy quota exceeded error code.", +"ClientTLSPolicy quota exceeded error code.", +"ServiceLBPolicy quota exceeded error code.", +"HTTPFilter quota exceeded error code.", +"TCPFilter quota exceeded error code.", +"NetworkEndpointGroup quota exceeded error code.", +"Modernization is scheduled for a cluster.", +"Modernization is in progress for a cluster.", +"Modernization is completed for a cluster.", +"Modernization is aborted for a cluster." +], +"type": "string" +}, +"details": { +"description": "A short summary about the issue.", +"type": "string" +}, +"documentationLink": { +"description": "Links contains actionable information.", +"type": "string" +}, +"severity": { +"description": "Severity level of the condition.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Unspecified severity", +"Indicates an issue that prevents the mesh from operating correctly", +"Indicates a setting is likely wrong, but the mesh is still able to operate", +"An informational message, not requiring any action" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshControlPlaneManagement": { +"description": "Status of control plane management.", +"id": "ServiceMeshControlPlaneManagement", +"properties": { +"details": { +"description": "Explanation of state.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"implementation": { +"description": "Output only. Implementation of managed control plane.", +"enum": [ +"IMPLEMENTATION_UNSPECIFIED", +"ISTIOD", +"TRAFFIC_DIRECTOR", +"UPDATING" +], +"enumDescriptions": [ +"Unspecified", +"A Google build of istiod is used for the managed control plane.", +"Traffic director is used for the managed control plane.", +"The control plane implementation is being updated." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "LifecycleState of control plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshDataPlaneManagement": { +"description": "Status of data plane management. Only reported per-member.", +"id": "ServiceMeshDataPlaneManagement", +"properties": { +"details": { +"description": "Explanation of the status.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"state": { +"description": "Lifecycle status of data plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshSpec": { +"description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", +"id": "ServiceMeshSpec", +"properties": { +"configApi": { +"description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", +"enum": [ +"CONFIG_API_UNSPECIFIED", +"CONFIG_API_ISTIO", +"CONFIG_API_GATEWAY" +], +"enumDescriptions": [ +"Unspecified", +"Use the Istio API for configuration.", +"Use the K8s Gateway API for configuration." +], +"type": "string" +}, +"controlPlane": { +"deprecated": true, +"description": "Deprecated: use `management` instead Enables automatic control plane management.", +"enum": [ +"CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", +"User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" +], +"type": "string" +}, +"defaultChannel": { +"deprecated": true, +"description": "Determines which release channel to use for default injection and service mesh APIs.", +"enum": [ +"CHANNEL_UNSPECIFIED", +"RAPID", +"REGULAR", +"STABLE" +], +"enumDescriptions": [ +"Unspecified", +"RAPID channel is offered on an early access basis for customers who want to test new releases.", +"REGULAR channel is intended for production users who want to take advantage of new features.", +"STABLE channel includes versions that are known to be stable and reliable in production." +], +"type": "string" +}, +"management": { +"description": "Optional. Enables automatic Service Mesh management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should manage my Service Mesh for the cluster.", +"User will manually configure their service mesh components." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshState": { +"description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", +"id": "ServiceMeshState", +"properties": { +"analysisMessages": { +"description": "Output only. Results of running Service Mesh analyzers.", +"items": { +"$ref": "ServiceMeshAnalysisMessage" +}, +"readOnly": true, +"type": "array" +}, +"conditions": { +"description": "Output only. List of conditions reported for this membership.", +"items": { +"$ref": "ServiceMeshCondition" +}, +"readOnly": true, +"type": "array" +}, +"configApiVersion": { +"description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", +"type": "string" +}, +"controlPlaneManagement": { +"$ref": "ServiceMeshControlPlaneManagement", +"description": "Output only. Status of control plane management", +"readOnly": true +}, +"dataPlaneManagement": { +"$ref": "ServiceMeshDataPlaneManagement", +"description": "Output only. Status of data plane management.", +"readOnly": true +} +}, +"type": "object" +}, +"ServiceMeshStatusDetails": { +"description": "Structured and human-readable details for a status.", +"id": "ServiceMeshStatusDetails", +"properties": { +"code": { +"description": "A machine-readable code that further describes a broad status.", +"type": "string" +}, +"details": { +"description": "Human-readable explanation of code.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshType": { +"description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", +"id": "ServiceMeshType", +"properties": { +"code": { +"description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", +"type": "string" +}, +"displayName": { +"description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", +"type": "string" +} +}, +"type": "object" +}, +"State": { +"description": "High-level state of a MembershipFeature.", +"id": "State", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this MembershipFeature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The MembershipFeature is operating normally.", +"The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", +"The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." +], +"type": "string" +}, +"description": { +"description": "A human-readable description of the current status.", +"type": "string" +}, +"updateTime": { +"description": "The time this status and any related Feature-specific details were updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"WorkloadCertificateSpec": { +"description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", +"id": "WorkloadCertificateSpec", +"properties": { +"certificateManagement": { +"description": "CertificateManagement specifies workload certificate management.", +"enum": [ +"CERTIFICATE_MANAGEMENT_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Disable workload certificate feature.", +"Disable workload certificate feature.", +"Enable workload certificate feature." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "GKE Hub API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..d842d4f627391d7d08034144743eedce0138365c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json @@ -0,0 +1,549 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/postmaster.readonly": { +"description": "See email traffic metrics for the domains you have registered in Gmail Postmaster Tools" +} +} +} +}, +"basePath": "", +"baseUrl": "https://gmailpostmastertools.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Postmaster Tools", +"description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/gmail/postmaster", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "gmailpostmastertools:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://gmailpostmastertools.mtls.googleapis.com/", +"name": "gmailpostmastertools", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"domains": { +"methods": { +"get": { +"description": "Gets a specific domain registered by the client. Returns NOT_FOUND if the domain does not exist.", +"flatPath": "v1beta1/domains/{domainsId}", +"httpMethod": "GET", +"id": "gmailpostmastertools.domains.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the domain. It should have the form `domains/{domain_name}`, where domain_name is the fully qualified domain name.", +"location": "path", +"pattern": "^domains/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Domain" +}, +"scopes": [ +"https://www.googleapis.com/auth/postmaster.readonly" +] +}, +"list": { +"description": "Lists the domains that have been registered by the client. The order of domains in the response is unspecified and non-deterministic. Newly created domains will not necessarily be added to the end of this list.", +"flatPath": "v1beta1/domains", +"httpMethod": "GET", +"id": "gmailpostmastertools.domains.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer domains than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any. This is the value of ListDomainsResponse.next_page_token returned from the previous call to `ListDomains` method.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/domains", +"response": { +"$ref": "ListDomainsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/postmaster.readonly" +] +} +}, +"resources": { +"trafficStats": { +"methods": { +"get": { +"description": "Get traffic statistics for a domain on a specific date. Returns PERMISSION_DENIED if user does not have permission to access TrafficStats for the domain.", +"flatPath": "v1beta1/domains/{domainsId}/trafficStats/{trafficStatsId}", +"httpMethod": "GET", +"id": "gmailpostmastertools.domains.trafficStats.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the traffic statistics to get. E.g., domains/mymail.mydomain.com/trafficStats/20160807.", +"location": "path", +"pattern": "^domains/[^/]+/trafficStats/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "TrafficStats" +}, +"scopes": [ +"https://www.googleapis.com/auth/postmaster.readonly" +] +}, +"list": { +"description": "List traffic statistics for all available days. Returns PERMISSION_DENIED if user does not have permission to access TrafficStats for the domain.", +"flatPath": "v1beta1/domains/{domainsId}/trafficStats", +"httpMethod": "GET", +"id": "gmailpostmastertools.domains.trafficStats.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"endDate.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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"endDate.month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"endDate.year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer TrafficStats than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any. This is the value of ListTrafficStatsResponse.next_page_token returned from the previous call to `ListTrafficStats` method.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The resource name of the domain whose traffic statistics we'd like to list. It should have the form `domains/{domain_name}`, where domain_name is the fully qualified domain name.", +"location": "path", +"pattern": "^domains/[^/]+$", +"required": true, +"type": "string" +}, +"startDate.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.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"startDate.month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"startDate.year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1beta1/{+parent}/trafficStats", +"response": { +"$ref": "ListTrafficStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/postmaster.readonly" +] +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://gmailpostmastertools.googleapis.com/", +"schemas": { +"DeliveryError": { +"description": "Metric on a particular delivery error type.", +"id": "DeliveryError", +"properties": { +"errorClass": { +"description": "The class of delivery error.", +"enum": [ +"DELIVERY_ERROR_CLASS_UNSPECIFIED", +"PERMANENT_ERROR", +"TEMPORARY_ERROR" +], +"enumDescriptions": [ +"The default value which should never be used explicitly.", +"Delivery of message has been rejected.", +"Temporary failure of message delivery to the recipient." +], +"type": "string" +}, +"errorRatio": { +"description": "The ratio of messages where the error occurred vs all authenticated traffic.", +"format": "double", +"type": "number" +}, +"errorType": { +"description": "The type of delivery error.", +"enum": [ +"DELIVERY_ERROR_TYPE_UNSPECIFIED", +"RATE_LIMIT_EXCEEDED", +"SUSPECTED_SPAM", +"CONTENT_SPAMMY", +"BAD_ATTACHMENT", +"BAD_DMARC_POLICY", +"LOW_IP_REPUTATION", +"LOW_DOMAIN_REPUTATION", +"IP_IN_RBL", +"DOMAIN_IN_RBL", +"BAD_PTR_RECORD" +], +"enumDescriptions": [ +"The default value which should never be used explicitly.", +"The Domain or IP is sending traffic at a suspiciously high rate, due to which temporary rate limits have been imposed. The limit will be lifted when Gmail is confident enough of the nature of the traffic.", +"The traffic is suspected to be spam, by Gmail, for various reasons.", +"The traffic is suspected to be spammy, specific to the content.", +"Traffic contains attachments not supported by Gmail.", +"The sender domain has set up a DMARC rejection policy.", +"The IP reputation of the sending IP is very low.", +"The Domain reputation of the sending domain is very low.", +"The IP is listed in one or more public [Real-time Blackhole Lists](http://en.wikipedia.org/wiki/DNSBL). Work with the RBL to get your IP delisted.", +"The Domain is listed in one or more public [Real-time Blackhole Lists](http://en.wikipedia.org/wiki/DNSBL). Work with the RBL to get your domain delisted.", +"The sending IP is missing a [PTR record](https://support.google.com/domains/answer/3251147#ptr)." +], +"type": "string" +} +}, +"type": "object" +}, +"Domain": { +"description": "A registered domain resource in the Postmaster API.", +"id": "Domain", +"properties": { +"createTime": { +"description": "Timestamp when the user registered this domain. Assigned by the server.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The resource name of the Domain. Domain names have the form `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).", +"type": "string" +}, +"permission": { +"description": "User\u2019s permission for this domain. Assigned by the server.", +"enum": [ +"PERMISSION_UNSPECIFIED", +"OWNER", +"READER", +"NONE" +], +"enumDescriptions": [ +"The default value and should never be used explicitly.", +"User has read access to the domain and can share access with others.", +"User has read access to the domain.", +"User doesn't have permission to access information about the domain. User did not verify ownership of domain nor was access granted by other domain owners." +], +"type": "string" +} +}, +"type": "object" +}, +"FeedbackLoop": { +"description": "[Feedback loop](https://support.google.com/mail/answer/6254652) identifier information.", +"id": "FeedbackLoop", +"properties": { +"id": { +"description": "Feedback loop identifier that uniquely identifies individual campaigns.", +"type": "string" +}, +"spamRatio": { +"description": "The ratio of user marked spam messages with the identifier vs the total number of inboxed messages with that identifier.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"IpReputation": { +"description": "IP Reputation information for a set of IPs in a specific reputation category.", +"id": "IpReputation", +"properties": { +"ipCount": { +"description": "Total number of unique IPs in this reputation category. This metric only pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", +"format": "int64", +"type": "string" +}, +"numIps": { +"deprecated": true, +"description": "Total number of unique IPs in this reputation category. This metric only pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/). Deprecated to be complied with ApiLinter for Quantities. Use ip_count instead.", +"format": "int64", +"type": "string" +}, +"reputation": { +"description": "The reputation category this IP reputation represents.", +"enum": [ +"REPUTATION_CATEGORY_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"BAD" +], +"enumDescriptions": [ +"The default value which should never be used explicitly. This represents the state where no reputation information is available.", +"Has a good track record of a very low spam rate, and complies with Gmail's sender guidelines. Mail will rarely be marked by the spam filter.", +"Known to send good mail, but is prone to sending a low volume of spam intermittently. Most of the email from this entity will have a fair deliverability rate, except when there is a notable increase in spam levels.", +"Known to send a considerable volume of spam regularly, and mail from this sender will likely be marked as spam.", +"History of sending an enormously high volume of spam. Mail coming from this entity will almost always be rejected at SMTP level or marked as spam." +], +"type": "string" +}, +"sampleIps": { +"description": "A sample of IPs in this reputation category.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListDomainsResponse": { +"description": "Response message for ListDomains.", +"id": "ListDomainsResponse", +"properties": { +"domains": { +"description": "The list of domains.", +"items": { +"$ref": "Domain" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListTrafficStatsResponse": { +"description": "Response message for ListTrafficStats.", +"id": "ListTrafficStatsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"trafficStats": { +"description": "The list of TrafficStats.", +"items": { +"$ref": "TrafficStats" +}, +"type": "array" +} +}, +"type": "object" +}, +"TrafficStats": { +"description": "Email traffic statistics pertaining to a specific date.", +"id": "TrafficStats", +"properties": { +"deliveryErrors": { +"description": "Delivery errors for the domain. This metric only pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", +"items": { +"$ref": "DeliveryError" +}, +"type": "array" +}, +"dkimSuccessRatio": { +"description": "The ratio of mail that successfully authenticated with DKIM vs. all mail that attempted to authenticate with [DKIM](http://www.dkim.org/). Spoofed mail is excluded.", +"format": "double", +"type": "number" +}, +"dmarcSuccessRatio": { +"description": "The ratio of mail that passed [DMARC](https://dmarc.org/) alignment checks vs all mail received from the domain that successfully authenticated with either of [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", +"format": "double", +"type": "number" +}, +"domainReputation": { +"description": "Reputation of the domain.", +"enum": [ +"REPUTATION_CATEGORY_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"BAD" +], +"enumDescriptions": [ +"The default value which should never be used explicitly. This represents the state where no reputation information is available.", +"Has a good track record of a very low spam rate, and complies with Gmail's sender guidelines. Mail will rarely be marked by the spam filter.", +"Known to send good mail, but is prone to sending a low volume of spam intermittently. Most of the email from this entity will have a fair deliverability rate, except when there is a notable increase in spam levels.", +"Known to send a considerable volume of spam regularly, and mail from this sender will likely be marked as spam.", +"History of sending an enormously high volume of spam. Mail coming from this entity will almost always be rejected at SMTP level or marked as spam." +], +"type": "string" +}, +"inboundEncryptionRatio": { +"description": "The ratio of incoming mail (to Gmail), that passed secure transport (TLS) vs all mail received from that domain. This metric only pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", +"format": "double", +"type": "number" +}, +"ipReputations": { +"description": "Reputation information pertaining to the IP addresses of the email servers for the domain. There is exactly one entry for each reputation category except REPUTATION_CATEGORY_UNSPECIFIED.", +"items": { +"$ref": "IpReputation" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the traffic statistics. Traffic statistic names have the form `domains/{domain}/trafficStats/{date}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com) of the domain this traffic statistics pertains to and date is the date in yyyymmdd format that these statistics corresponds to. For example: domains/mymail.mydomain.com/trafficStats/20160807", +"type": "string" +}, +"outboundEncryptionRatio": { +"description": "The ratio of outgoing mail (from Gmail) that was accepted over secure transport (TLS).", +"format": "double", +"type": "number" +}, +"spammyFeedbackLoops": { +"description": "Spammy [Feedback loop identifiers] (https://support.google.com/mail/answer/6254652) with their individual spam rates. This metric only pertains to traffic that is authenticated by [DKIM](http://www.dkim.org/).", +"items": { +"$ref": "FeedbackLoop" +}, +"type": "array" +}, +"spfSuccessRatio": { +"description": "The ratio of mail that successfully authenticated with SPF vs. all mail that attempted to authenticate with [SPF](http://www.openspf.org/). Spoofed mail is excluded.", +"format": "double", +"type": "number" +}, +"userReportedSpamRatio": { +"description": "The ratio of user-report spam vs. email that was sent to the inbox. This is potentially inexact -- users may want to refer to the description of the interval fields userReportedSpamRatioLowerBound and userReportedSpamRatioUpperBound for more explicit accuracy guarantees. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", +"format": "double", +"type": "number" +}, +"userReportedSpamRatioLowerBound": { +"description": "The lower bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this lower bound and the corresponding upper bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", +"format": "double", +"type": "number" +}, +"userReportedSpamRatioUpperBound": { +"description": "The upper bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this upper bound and the corresponding lower bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", +"format": "double", +"type": "number" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Gmail Postmaster Tools API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iam.v2beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iam.v2beta.json new file mode 100644 index 0000000000000000000000000000000000000000..e5875c4eee8789cbe7742573b1ea356489b0588a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iam.v2beta.json @@ -0,0 +1,880 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://iam.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Iam", +"description": "Manages identity and access control for Google Cloud resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. Enabling this API also enables the IAM Service Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/iam/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "iam:v2beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://iam.mtls.googleapis.com/", +"name": "iam", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"policies": { +"methods": { +"createPolicy": { +"description": "Creates a policy.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}", +"httpMethod": "POST", +"id": "iam.policies.createPolicy", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource that the policy is attached to, along with the kind of policy to create. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"policyId": { +"description": "The ID to use for this policy, which will become the final component of the policy's resource name. The ID must contain 3 to 63 characters. It can contain lowercase letters and numbers, as well as dashes (`-`) and periods (`.`). The first character must be a lowercase letter.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+parent}", +"request": { +"$ref": "GoogleIamV2betaPolicy" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a policy. This action is permanent.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}/{policiesId2}", +"httpMethod": "DELETE", +"id": "iam.policies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The expected `etag` of the policy to delete. If the value does not match the value that is stored in IAM, the request fails with a `409` error code and `ABORTED` status. If you omit this field, the policy is deleted regardless of its current `etag`.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the policy to delete. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a policy.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}/{policiesId2}", +"httpMethod": "GET", +"id": "iam.policies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy to retrieve. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleIamV2betaPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listPolicies": { +"description": "Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}", +"httpMethod": "GET", +"id": "iam.policies.listPolicies", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of policies to return. IAM ignores this value and uses the value 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received in a ListPoliciesResponse. Provide this token to retrieve the next page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource that the policy is attached to, along with the kind of policy to list. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}", +"response": { +"$ref": "GoogleIamV2betaListPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the specified policy. You can update only the rules and the display name for the policy. To update a policy, you should use a read-modify-write loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}/{policiesId2}", +"httpMethod": "PUT", +"id": "iam.policies.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"request": { +"$ref": "GoogleIamV2betaPolicy" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v2beta/policies/{policiesId}/{policiesId1}/{policiesId2}/operations/{operationsId}", +"httpMethod": "GET", +"id": "iam.policies.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^policies/[^/]+/[^/]+/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20241114", +"rootUrl": "https://iam.googleapis.com/", +"schemas": { +"CloudControl2SharedOperationsReconciliationOperationMetadata": { +"description": "Operation metadata returned by the CLH during resource state reconciliation.", +"id": "CloudControl2SharedOperationsReconciliationOperationMetadata", +"properties": { +"deleteResource": { +"deprecated": true, +"description": "DEPRECATED. Use exclusive_action instead.", +"type": "boolean" +}, +"exclusiveAction": { +"description": "Excluisive action returned by the CLH.", +"enum": [ +"UNKNOWN_REPAIR_ACTION", +"DELETE", +"RETRY" +], +"enumDeprecated": [ +false, +true, +false +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudCommonOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudCommonOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"GoogleIamAdminV1AuditData": { +"description": "Audit log information specific to Cloud IAM admin APIs. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.", +"id": "GoogleIamAdminV1AuditData", +"properties": { +"permissionDelta": { +"$ref": "GoogleIamAdminV1AuditDataPermissionDelta", +"description": "The permission_delta when when creating or updating a Role." +} +}, +"type": "object" +}, +"GoogleIamAdminV1AuditDataPermissionDelta": { +"description": "A PermissionDelta message to record the added_permissions and removed_permissions inside a role.", +"id": "GoogleIamAdminV1AuditDataPermissionDelta", +"properties": { +"addedPermissions": { +"description": "Added permissions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"removedPermissions": { +"description": "Removed permissions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1BindingDelta": { +"description": "One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.", +"id": "GoogleIamV1BindingDelta", +"properties": { +"action": { +"description": "The action that was performed on a Binding. Required", +"enum": [ +"ACTION_UNSPECIFIED", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"Unspecified.", +"Addition of a Binding.", +"Removal of a Binding." +], +"type": "string" +}, +"condition": { +"$ref": "GoogleTypeExpr", +"description": "The condition that is associated with this binding." +}, +"member": { +"description": "A single identity requesting access for a Google Cloud resource. Follows the same format of Binding.members. Required", +"type": "string" +}, +"role": { +"description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1LoggingAuditData": { +"description": "Audit log information specific to Cloud IAM. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.", +"id": "GoogleIamV1LoggingAuditData", +"properties": { +"policyDelta": { +"$ref": "GoogleIamV1PolicyDelta", +"description": "Policy delta between the original policy and the newly set policy." +} +}, +"type": "object" +}, +"GoogleIamV1PolicyDelta": { +"description": "The difference delta between two policies.", +"id": "GoogleIamV1PolicyDelta", +"properties": { +"bindingDeltas": { +"description": "The delta for Bindings between two policies.", +"items": { +"$ref": "GoogleIamV1BindingDelta" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1betaWorkloadIdentityPoolOperationMetadata": { +"description": "Metadata for long-running WorkloadIdentityPool operations.", +"id": "GoogleIamV1betaWorkloadIdentityPoolOperationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleIamV2betaDenyRule": { +"description": "A deny rule in an IAM deny policy.", +"id": "GoogleIamV2betaDenyRule", +"properties": { +"denialCondition": { +"$ref": "GoogleTypeExpr", +"description": "The condition that determines whether this deny rule applies to a request. If the condition expression evaluates to `true`, then the deny rule is applied; otherwise, the deny rule is not applied. Each deny rule is evaluated independently. If this deny rule does not apply to a request, other deny rules might still apply. The condition can use CEL functions that evaluate [resource tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other functions and operators are not supported." +}, +"deniedPermissions": { +"description": "The permissions that are explicitly denied by this rule. Each permission uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` is the fully qualified domain name for the service. For example, `iam.googleapis.com/roles.list`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deniedPrincipals": { +"description": "The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principal://goog/subject/{email_id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `principalSet://goog/public:all`: A special identifier that represents any principal that is on the internet, even if they do not have a Google Account or are not logged in. * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `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:principal://goog/subject/{email_id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"exceptionPermissions": { +"description": "Specifies the permissions that this rule excludes from the set of denied permissions given by `denied_permissions`. If a permission appears in `denied_permissions` _and_ in `exception_permissions` then it will _not_ be denied. The excluded permissions can be specified using the same syntax as `denied_permissions`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"exceptionPrincipals": { +"description": "The identities that are excluded from the deny rule, even if they are listed in the `denied_principals`. For example, you could add a Google group to the `denied_principals`, then exclude specific users who belong to that group. This field can contain the same values as the `denied_principals` field, excluding `principalSet://goog/public:all`, which represents all users on the internet.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV2betaListPoliciesResponse": { +"description": "Response message for `ListPolicies`.", +"id": "GoogleIamV2betaListPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "A page token that you can use in a ListPoliciesRequest to retrieve the next page. If this field is omitted, there are no additional pages.", +"type": "string" +}, +"policies": { +"description": "Metadata for the policies that are attached to the resource.", +"items": { +"$ref": "GoogleIamV2betaPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV2betaPolicy": { +"description": "Data for an IAM policy.", +"id": "GoogleIamV2betaPolicy", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters.", +"type": "object" +}, +"createTime": { +"description": "Output only. The time when the `Policy` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "A user-specified description of the `Policy`. This value can be up to 63 characters.", +"type": "string" +}, +"etag": { +"description": "An opaque tag that identifies the current version of the `Policy`. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored.", +"type": "string" +}, +"kind": { +"description": "Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", +"type": "string" +}, +"rules": { +"description": "A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`.", +"items": { +"$ref": "GoogleIamV2betaPolicyRule" +}, +"type": "array" +}, +"uid": { +"description": "Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the `Policy` was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV2betaPolicyOperationMetadata": { +"description": "Metadata for long-running `Policy` operations.", +"id": "GoogleIamV2betaPolicyOperationMetadata", +"properties": { +"createTime": { +"description": "Timestamp when the `google.longrunning.Operation` was created.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV2betaPolicyRule": { +"description": "A single rule in a `Policy`.", +"id": "GoogleIamV2betaPolicyRule", +"properties": { +"denyRule": { +"$ref": "GoogleIamV2betaDenyRule", +"description": "A rule for a deny policy." +}, +"description": { +"description": "A user-specified description of the rule. This value can be up to 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV3OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleIamV3OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV3alphaOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleIamV3alphaOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV3betaOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleIamV3betaOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV3mainOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleIamV3mainOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"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" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "GoogleTypeExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Identity and Access Management (IAM) API", +"version": "v2beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iap.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iap.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..9e7e53c7dcc0e50739f4b99d47d666bdc177585d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iap.v1.json @@ -0,0 +1,1414 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://iap.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud IAP", +"description": "Controls access to cloud applications running on Google Cloud Platform.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/iap", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "iap:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://iap.mtls.googleapis.com/", +"name": "iap", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"brands": { +"methods": { +"create": { +"description": "Constructs a new OAuth brand for the project if one does not exist. The created brand is \"internal only\", meaning that OAuth clients created under it only accept requests from users who belong to the same Google Workspace organization as the project. The brand is created in an un-reviewed status. NOTE: The \"internal only\" status can be manually changed in the Google Cloud Console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.", +"flatPath": "v1/projects/{projectsId}/brands", +"httpMethod": "POST", +"id": "iap.projects.brands.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. GCP Project number/id under which the brand is to be created. In the following format: projects/{project_number/id}.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/brands", +"request": { +"$ref": "Brand" +}, +"response": { +"$ref": "Brand" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves the OAuth brand of the project.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}", +"httpMethod": "GET", +"id": "iap.projects.brands.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the brand to be fetched. In the following format: projects/{project_number/id}/brands/{brand}.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Brand" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the existing brands for the project.", +"flatPath": "v1/projects/{projectsId}/brands", +"httpMethod": "GET", +"id": "iap.projects.brands.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. GCP Project number/id. In the following format: projects/{project_number/id}.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/brands", +"response": { +"$ref": "ListBrandsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"identityAwareProxyClients": { +"methods": { +"create": { +"description": "Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP. Requires that the brand for the project exists and that it is set for internal-only use.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients", +"httpMethod": "POST", +"id": "iap.projects.brands.identityAwareProxyClients.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Path to create the client in. In the following format: projects/{project_number/id}/brands/{brand}. The project must belong to a G Suite account.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/identityAwareProxyClients", +"request": { +"$ref": "IdentityAwareProxyClient" +}, +"response": { +"$ref": "IdentityAwareProxyClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing obsolete clients, managing the number of clients in a given project, and cleaning up after tests. Requires that the client is owned by IAP.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}", +"httpMethod": "DELETE", +"id": "iap.projects.brands.identityAwareProxyClients.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Identity Aware Proxy client to be deleted. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires that the client is owned by IAP.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}", +"httpMethod": "GET", +"id": "iap.projects.brands.identityAwareProxyClients.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Identity Aware Proxy client to be fetched. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "IdentityAwareProxyClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the existing clients for the brand.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients", +"httpMethod": "GET", +"id": "iap.projects.brands.identityAwareProxyClients.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of clients to return. The service may return fewer than this value. If unspecified, at most 100 clients will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListIdentityAwareProxyClients` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdentityAwareProxyClients` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full brand path. In the following format: projects/{project_number/id}/brands/{brand}.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/identityAwareProxyClients", +"response": { +"$ref": "ListIdentityAwareProxyClientsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resetSecret": { +"description": "Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret was compromised. Requires that the client is owned by IAP.", +"flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}:resetSecret", +"httpMethod": "POST", +"id": "iap.projects.brands.identityAwareProxyClients.resetSecret", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Identity Aware Proxy client to that will have its secret reset. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.", +"location": "path", +"pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resetSecret", +"request": { +"$ref": "ResetIdentityAwareProxyClientSecretRequest" +}, +"response": { +"$ref": "IdentityAwareProxyClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"iap_tunnel": { +"resources": { +"locations": { +"resources": { +"destGroups": { +"methods": { +"create": { +"description": "Creates a new TunnelDestGroup.", +"flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups", +"httpMethod": "POST", +"id": "iap.projects.iap_tunnel.locations.destGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", +"required": true, +"type": "string" +}, +"tunnelDestGroupId": { +"description": "Required. The ID to use for the TunnelDestGroup, which becomes the final component of the resource name. This value must be 4-63 characters, and valid characters are `[a-z]-`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/destGroups", +"request": { +"$ref": "TunnelDestGroup" +}, +"response": { +"$ref": "TunnelDestGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TunnelDestGroup.", +"flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups/{destGroupsId}", +"httpMethod": "DELETE", +"id": "iap.projects.iap_tunnel.locations.destGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the TunnelDestGroup to delete. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", +"location": "path", +"pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves an existing TunnelDestGroup.", +"flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups/{destGroupsId}", +"httpMethod": "GET", +"id": "iap.projects.iap_tunnel.locations.destGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the TunnelDestGroup to be fetched. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", +"location": "path", +"pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "TunnelDestGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: `/v1/projects/123/iap_tunnel/locations/-/destGroups`", +"flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups", +"httpMethod": "GET", +"id": "iap.projects.iap_tunnel.locations.destGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 100 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTunnelDestGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTunnelDestGroups` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`. A `-` can be used for the location to group across all locations.", +"location": "path", +"pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/destGroups", +"response": { +"$ref": "ListTunnelDestGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TunnelDestGroup.", +"flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups/{destGroupsId}", +"httpMethod": "PATCH", +"id": "iap.projects.iap_tunnel.locations.destGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Identifier for the TunnelDestGroup. Must be unique within the project and contain only lower case letters (a-z) and dashes (-).", +"location": "path", +"pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "A field mask that specifies which IAP settings to update. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "TunnelDestGroup" +}, +"response": { +"$ref": "TunnelDestGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"v1": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api", +"flatPath": "v1/{v1Id}:getIamPolicy", +"httpMethod": "POST", +"id": "iap.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIapSettings": { +"description": "Gets the IAP settings on a particular IAP protected resource.", +"flatPath": "v1/{v1Id}:iapSettings", +"httpMethod": "GET", +"id": "iap.getIapSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for which to retrieve the settings. Authorization: Requires the `getSettings` permission for the associated resource.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:iapSettings", +"response": { +"$ref": "IapSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api", +"flatPath": "v1/{v1Id}:setIamPolicy", +"httpMethod": "POST", +"id": "iap.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api", +"flatPath": "v1/{v1Id}:testIamPermissions", +"httpMethod": "POST", +"id": "iap.testIamPermissions", +"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.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateIapSettings": { +"description": "Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the `update_mask` is set.", +"flatPath": "v1/{v1Id}:iapSettings", +"httpMethod": "PATCH", +"id": "iap.updateIapSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the IAP protected resource.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The field mask specifying which IAP settings should be updated. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Note: All IAP reauth settings must always be set together, using the field mask: `iapSettings.accessSettings.reauthSettings`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:iapSettings", +"request": { +"$ref": "IapSettings" +}, +"response": { +"$ref": "IapSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"validateAttributeExpression": { +"description": "Validates that a given CEL expression conforms to IAP restrictions.", +"flatPath": "v1/{v1Id}:validateAttributeExpression", +"httpMethod": "POST", +"id": "iap.validateAttributeExpression", +"parameterOrder": [ +"name" +], +"parameters": { +"expression": { +"description": "Required. User input string expression. Should be of the form `attributes.saml_attributes.filter(attribute, attribute.name in ['{attribute_name}', '{attribute_name}'])`", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the IAP protected resource.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:validateAttributeExpression", +"response": { +"$ref": "ValidateIapAttributeExpressionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241202", +"rootUrl": "https://iap.googleapis.com/", +"schemas": { +"AccessDeniedPageSettings": { +"description": "Custom content configuration for access denied page. IAP allows customers to define a custom URI to use as the error page when access is denied to users. If IAP prevents access to this page, the default IAP error page will be displayed instead.", +"id": "AccessDeniedPageSettings", +"properties": { +"accessDeniedPageUri": { +"description": "The URI to be redirected to when access is denied.", +"type": "string" +}, +"generateTroubleshootingUri": { +"description": "Whether to generate a troubleshooting URL on access denied events to this application.", +"type": "boolean" +}, +"remediationTokenGenerationEnabled": { +"description": "Whether to generate remediation token on access denied events to this application.", +"type": "boolean" +} +}, +"type": "object" +}, +"AccessSettings": { +"description": "Access related settings for IAP protected apps.", +"id": "AccessSettings", +"properties": { +"allowedDomainsSettings": { +"$ref": "AllowedDomainsSettings", +"description": "Optional. Settings to configure and enable allowed domains." +}, +"corsSettings": { +"$ref": "CorsSettings", +"description": "Optional. Configuration to allow cross-origin requests via IAP." +}, +"gcipSettings": { +"$ref": "GcipSettings", +"description": "Optional. GCIP claims and endpoint configurations for 3p identity providers." +}, +"identitySources": { +"description": "Optional. Identity sources that IAP can use to authenticate the end user. Only one identity source can be configured.", +"items": { +"enum": [ +"IDENTITY_SOURCE_UNSPECIFIED", +"WORKFORCE_IDENTITY_FEDERATION" +], +"enumDescriptions": [ +"IdentitySource Unspecified. When selected, IAP relies on which identity settings are fully configured to redirect the traffic to. The precedence order is WorkforceIdentitySettings > GcipSettings. If none is set, default to use Google identity.", +"Use external identities set up on Google Cloud Workforce Identity Federation." +], +"type": "string" +}, +"type": "array" +}, +"oauthSettings": { +"$ref": "OAuthSettings", +"description": "Optional. Settings to configure IAP's OAuth behavior." +}, +"policyDelegationSettings": { +"$ref": "PolicyDelegationSettings", +"description": "Optional. Settings to allow google-internal teams to use IAP for apps hosted in a tenant project." +}, +"reauthSettings": { +"$ref": "ReauthSettings", +"description": "Optional. Settings to configure reauthentication policies in IAP." +}, +"workforceIdentitySettings": { +"$ref": "WorkforceIdentitySettings", +"description": "Optional. Settings to configure the workforce identity federation, including workforce pools and OAuth 2.0 settings." +} +}, +"type": "object" +}, +"AllowedDomainsSettings": { +"description": "Configuration for IAP allowed domains. Lets you to restrict access to an app and allow access to only the domains that you list.", +"id": "AllowedDomainsSettings", +"properties": { +"domains": { +"description": "Optional. List of trusted domains.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enable": { +"description": "Optional. Configuration for customers to opt in for the feature.", +"type": "boolean" +} +}, +"type": "object" +}, +"ApplicationSettings": { +"description": "Wrapper over application specific settings for IAP.", +"id": "ApplicationSettings", +"properties": { +"accessDeniedPageSettings": { +"$ref": "AccessDeniedPageSettings", +"description": "Optional. Customization for Access Denied page." +}, +"attributePropagationSettings": { +"$ref": "AttributePropagationSettings", +"description": "Optional. Settings to configure attribute propagation." +}, +"cookieDomain": { +"description": "The Domain value to set for cookies generated by IAP. This value is not validated by the API, but will be ignored at runtime if invalid.", +"type": "string" +}, +"csmSettings": { +"$ref": "CsmSettings", +"description": "Optional. Settings to configure IAP's behavior for a service mesh." +} +}, +"type": "object" +}, +"AttributePropagationSettings": { +"description": "Configuration for propagating attributes to applications protected by IAP.", +"id": "AttributePropagationSettings", +"properties": { +"enable": { +"description": "Optional. Whether the provided attribute propagation settings should be evaluated on user requests. If set to true, attributes returned from the expression will be propagated in the set output credentials.", +"type": "boolean" +}, +"expression": { +"description": "Optional. Raw string CEL expression. Must return a list of attributes. A maximum of 45 attributes can be selected. Expressions can select different attribute types from `attributes`: `attributes.saml_attributes`, `attributes.iap_attributes`. The following functions are supported: - filter `.filter(, )`: Returns a subset of `` where `` is true for every item. - in ` in `: Returns true if `` contains ``. - selectByName `.selectByName()`: Returns the attribute in `` with the given `` name, otherwise returns empty. - emitAs `.emitAs()`: Sets the `` name field to the given `` for propagation in selected output credentials. - strict `.strict()`: Ignores the `x-goog-iap-attr-` prefix for the provided `` when propagating with the `HEADER` output credential, such as request headers. - append `.append()` OR `.append()`: Appends the provided `` or `` to the end of ``. Example expression: `attributes.saml_attributes.filter(x, x.name in ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`", +"type": "string" +}, +"outputCredentials": { +"description": "Optional. Which output credentials attributes selected by the CEL expression should be propagated in. All attributes will be fully duplicated in each selected output credential.", +"items": { +"enum": [ +"OUTPUT_CREDENTIALS_UNSPECIFIED", +"HEADER", +"JWT", +"RCTOKEN" +], +"enumDescriptions": [ +"An output credential is required.", +"Propagate attributes in the headers with \"x-goog-iap-attr-\" prefix.", +"Propagate attributes in the JWT of the form: `\"additional_claims\": { \"my_attribute\": [\"value1\", \"value2\"] }`", +"Propagate attributes in the RCToken of the form: `\"additional_claims\": { \"my_attribute\": [\"value1\", \"value2\"] }`" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Brand": { +"description": "OAuth brand data. NOTE: Only contains a portion of the data that describes a brand.", +"id": "Brand", +"properties": { +"applicationTitle": { +"description": "Application name displayed on OAuth consent screen.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier of the brand. NOTE: GCP project number achieves the same brand identification purpose as only one brand per project can be created.", +"readOnly": true, +"type": "string" +}, +"orgInternalOnly": { +"description": "Output only. Whether the brand is only intended for usage inside the G Suite organization only.", +"readOnly": true, +"type": "boolean" +}, +"supportEmail": { +"description": "Support email displayed on the OAuth consent screen.", +"type": "string" +} +}, +"type": "object" +}, +"CorsSettings": { +"description": "Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS call to bypass authentication and authorization.", +"id": "CorsSettings", +"properties": { +"allowHttpOptions": { +"description": "Configuration to allow HTTP OPTIONS calls to skip authorization. If undefined, IAP will not apply any special logic to OPTIONS requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"CsmSettings": { +"description": "Configuration for RCToken generated for service mesh workloads protected by IAP. RCToken are IAP generated JWTs that can be verified at the application. The RCToken is primarily used for service mesh deployments, and can be scoped to a single mesh by configuring the audience field accordingly.", +"id": "CsmSettings", +"properties": { +"rctokenAud": { +"description": "Audience claim set in the generated RCToken. This value is not validated by IAP.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GcipSettings": { +"description": "Allows customers to configure tenant_id for GCIP instance per-app.", +"id": "GcipSettings", +"properties": { +"loginPageUri": { +"description": "Login page URI associated with the GCIP tenants. Typically, all resources within the same project share the same login page, though it could be overridden at the sub resource level.", +"type": "string" +}, +"tenantIds": { +"description": "Optional. GCIP tenant ids that are linked to the IAP resource. tenant_ids could be a string beginning with a number character to indicate authenticating with GCIP tenant flow, or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow is used, tenant_ids should only contain one single element, while for tenant flow, tenant_ids can contain multiple elements.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"IapSettings": { +"description": "The IAP configurable settings.", +"id": "IapSettings", +"properties": { +"accessSettings": { +"$ref": "AccessSettings", +"description": "Optional. Top level wrapper for all access related setting in IAP" +}, +"applicationSettings": { +"$ref": "ApplicationSettings", +"description": "Optional. Top level wrapper for all application related settings in IAP" +}, +"name": { +"description": "Required. The resource name of the IAP protected resource.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityAwareProxyClient": { +"description": "Contains the data that describes an Identity Aware Proxy owned client.", +"id": "IdentityAwareProxyClient", +"properties": { +"displayName": { +"description": "Human-friendly name given to the OAuth client.", +"type": "string" +}, +"name": { +"description": "Output only. Unique identifier of the OAuth client.", +"readOnly": true, +"type": "string" +}, +"secret": { +"description": "Output only. Client secret of the OAuth client.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListBrandsResponse": { +"description": "Response message for ListBrands.", +"id": "ListBrandsResponse", +"properties": { +"brands": { +"description": "Brands existing in the project.", +"items": { +"$ref": "Brand" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListIdentityAwareProxyClientsResponse": { +"description": "Response message for ListIdentityAwareProxyClients.", +"id": "ListIdentityAwareProxyClientsResponse", +"properties": { +"identityAwareProxyClients": { +"description": "Clients existing in the brand.", +"items": { +"$ref": "IdentityAwareProxyClient" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListTunnelDestGroupsResponse": { +"description": "The response from ListTunnelDestGroups.", +"id": "ListTunnelDestGroupsResponse", +"properties": { +"nextPageToken": { +"description": "A token that you can send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tunnelDestGroups": { +"description": "TunnelDestGroup existing in the project.", +"items": { +"$ref": "TunnelDestGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"NextStateOfTags": { +"description": "Used for calculating the next state of tags on the resource being passed for the CheckCustomConstraints RPC call. The detail evaluation of each field is described in go/op-create-update-time-tags and go/tags-in-orgpolicy-requests.", +"id": "NextStateOfTags", +"properties": { +"tagsFullState": { +"$ref": "TagsFullState" +}, +"tagsFullStateForChildResource": { +"$ref": "TagsFullStateForChildResource" +}, +"tagsPartialState": { +"$ref": "TagsPartialState" +} +}, +"type": "object" +}, +"OAuth2": { +"description": "The OAuth 2.0 Settings", +"id": "OAuth2", +"properties": { +"clientId": { +"description": "The OAuth 2.0 client ID registered in the workforce identity federation OAuth 2.0 Server.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. The OAuth 2.0 client secret created while registering the client ID.", +"type": "string" +}, +"clientSecretSha256": { +"description": "Output only. SHA256 hash value for the client secret. This field is returned by IAP when the settings are retrieved.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OAuthSettings": { +"description": "Configuration for OAuth login&consent flow behavior as well as for OAuth Credentials.", +"id": "OAuthSettings", +"properties": { +"loginHint": { +"description": "Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies.", +"type": "string" +}, +"programmaticClients": { +"description": "Optional. List of client ids allowed to use IAP programmatically.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PolicyDelegationSettings": { +"description": "PolicyDelegationConfig allows google-internal teams to use IAP for apps hosted in a tenant project. Using these settings, the app can delegate permission check to happen against the linked customer project. This is only ever supposed to be used by google internal teams, hence the restriction on the proto.", +"id": "PolicyDelegationSettings", +"properties": { +"iamPermission": { +"description": "Permission to check in IAM.", +"type": "string" +}, +"iamServiceName": { +"description": "The DNS name of the service (e.g. \"resourcemanager.googleapis.com\"). This should be the domain name part of the full resource names (see https://aip.dev/122#full-resource-names), which is usually the same as IamServiceSpec.service of the service where the resource type is defined.", +"type": "string" +}, +"policyName": { +"$ref": "PolicyName", +"description": "Policy name to be checked" +}, +"resource": { +"$ref": "Resource", +"description": "IAM resource to check permission on" +} +}, +"type": "object" +}, +"PolicyName": { +"description": "An internal name for an IAM policy, based on the resource to which the policy applies. Not to be confused with a resource's external full resource name. For more information on this distinction, see go/iam-full-resource-names.", +"id": "PolicyName", +"properties": { +"id": { +"description": "Identifies an instance of the type. ID format varies by type. The ID format is defined in the IAM .service file that defines the type, either in path_mapping or in a comment.", +"type": "string" +}, +"region": { +"description": "For Cloud IAM: The location of the Policy. Must be empty or \"global\" for Policies owned by global IAM. Must name a region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see go/iam-faq#where-is-iam-currently-deployed. For Local IAM: This field should be set to \"local\".", +"type": "string" +}, +"type": { +"description": "Resource type. Types are defined in IAM's .service files. Valid values for type might be 'storage_buckets', 'compute_instances', 'resourcemanager_customers', 'billing_accounts', etc.", +"type": "string" +} +}, +"type": "object" +}, +"ReauthSettings": { +"description": "Configuration for IAP reauthentication policies.", +"id": "ReauthSettings", +"properties": { +"maxAge": { +"description": "Optional. Reauth session lifetime, how long before a user has to reauthenticate again.", +"format": "google-duration", +"type": "string" +}, +"method": { +"description": "Optional. Reauth method requested.", +"enum": [ +"METHOD_UNSPECIFIED", +"LOGIN", +"PASSWORD", +"SECURE_KEY", +"ENROLLED_SECOND_FACTORS" +], +"enumDeprecated": [ +false, +false, +true, +false, +false +], +"enumDescriptions": [ +"Reauthentication disabled.", +"Prompts the user to log in again.", +"", +"User must use their secure key 2nd factor device.", +"User can use any enabled 2nd factor." +], +"type": "string" +}, +"policyType": { +"description": "Optional. How IAP determines the effective policy in cases of hierarchical policies. Policies are merged from higher in the hierarchy to lower in the hierarchy.", +"enum": [ +"POLICY_TYPE_UNSPECIFIED", +"MINIMUM", +"DEFAULT" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"This policy acts as a minimum to other policies, lower in the hierarchy. Effective policy may only be the same or stricter.", +"This policy acts as a default if no other reauth policy is set." +], +"type": "string" +} +}, +"type": "object" +}, +"ResetIdentityAwareProxyClientSecretRequest": { +"description": "The request sent to ResetIdentityAwareProxyClientSecret.", +"id": "ResetIdentityAwareProxyClientSecretRequest", +"properties": {}, +"type": "object" +}, +"Resource": { +"id": "Resource", +"properties": { +"expectedNextState": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated. Services not integrated with custom org policy can omit this field. Services integrated with custom org policy must populate this field for all requests where the API call changes the state of the resource. Custom org policy backend uses these attributes to enforce custom org policies. For create operations, GCP service is expected to pass resource from customer request as is. For update/patch operations, GCP service is expected to compute the next state with the patch provided by the user. See go/custom-constraints-org-policy-integration-guide for additional details.", +"type": "object" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The service defined labels of the resource on which the conditions will be evaluated. The semantics - including the key names - are vague to IAM. If the effective condition has a reference to a `resource.labels[foo]` construct, IAM consults with this map to retrieve the values associated with `foo` key for Conditions evaluation. If the provided key is not found in the labels map, the condition would evaluate to false. This field is in limited use. If your intended use case is not expected to express resource.labels attribute in IAM Conditions, leave this field empty. Before planning on using this attribute please: * Read go/iam-conditions-labels-comm and ensure your service can meet the data availability and management requirements. * Talk to iam-conditions-eng@ about your use case.", +"type": "object" +}, +"name": { +"description": "The **relative** name of the resource, which is the URI path of the resource without the leading \"/\". See https://cloud.google.com/iam/docs/conditions-resource-attributes#resource-name for examples used by other GCP Services. This field is **required** for services integrated with resource-attribute-based IAM conditions and/or CustomOrgPolicy. This field requires special handling for parents-only permissions such as `create` and `list`. See the document linked below for further details. See go/iam-conditions-sig-g3#populate-resource-attributes for specific details on populating this field.", +"type": "string" +}, +"nextStateOfTags": { +"$ref": "NextStateOfTags", +"description": "Used for calculating the next state of tags on the resource being passed for Custom Org Policy enforcement. NOTE: Only one of the tags representations (i.e. numeric or namespaced) should be populated. The input tags will be converted to the same representation before the calculation. This behavior intentionally may differ from other tags related fields in CheckPolicy request, which may require both formats to be passed in. IMPORTANT: If tags are unchanged, this field should not be set." +}, +"service": { +"description": "The name of the service this resource belongs to. It is configured using the official_service_name of the Service as defined in service configurations under //configs/cloud/resourcetypes. For example, the official_service_name of cloud resource manager service is set as 'cloudresourcemanager.googleapis.com' according to //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml This field is **required** for services integrated with resource-attribute-based IAM conditions and/or CustomOrgPolicy. This field requires special handling for parents-only permissions such as `create` and `list`. See the document linked below for further details. See go/iam-conditions-sig-g3#populate-resource-attributes for specific details on populating this field.", +"type": "string" +}, +"type": { +"description": "The public resource type name of the resource. It is configured using the official_name of the ResourceType as defined in service configurations under //configs/cloud/resourcetypes. For example, the official_name for GCP projects is set as 'cloudresourcemanager.googleapis.com/Project' according to //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml This field is **required** for services integrated with resource-attribute-based IAM conditions and/or CustomOrgPolicy. This field requires special handling for parents-only permissions such as `create` and `list`. See the document linked below for further details. See go/iam-conditions-sig-g3#populate-resource-attributes for specific details on populating this field.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +} +}, +"type": "object" +}, +"TagsFullState": { +"id": "TagsFullState", +"properties": { +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "If TagsFullState is initialized, the values in this field fully represent all the tags in the next state (the current tag values are not used). If tags.size() == 0, the next state of tags would be no tags for evaluation purposes. Only one type of tags reference (numeric or namespace) is required to be passed.", +"type": "object" +} +}, +"type": "object" +}, +"TagsFullStateForChildResource": { +"id": "TagsFullStateForChildResource", +"properties": { +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "If TagsFullStateForChildResource is initialized, the values in this field represent all the tags in the next state for the child resource. Only one type of tags reference (numeric or namespace) is required to be passed. IMPORTANT: This field should only be used when the target resource IAM policy name is UNKNOWN and the resource's parent IAM policy name is being passed in the request.", +"type": "object" +} +}, +"type": "object" +}, +"TagsPartialState": { +"id": "TagsPartialState", +"properties": { +"tagKeysToRemove": { +"description": "Keys of the tags that should be removed for evaluation purposes. IMPORTANT: Currently only numeric references are supported. Once support for namespace references is added, both the tag references (numeric and namespace) will be removed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tagsToUpsert": { +"additionalProperties": { +"type": "string" +}, +"description": "Tags that\u2019ll be updated or added to the current state of tags for evaluation purposes. If a key exists in both \"tags_to_upsert\" and \"tag_keys_to_remove\", the one in \"tag_keys_to_remove\" is ignored. Only one type of tags reference (numeric or namespace) is required to be passed.", +"type": "object" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TunnelDestGroup": { +"description": "A TunnelDestGroup.", +"id": "TunnelDestGroup", +"properties": { +"cidrs": { +"description": "Optional. Unordered list. List of CIDRs that this group applies to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fqdns": { +"description": "Optional. Unordered list. List of FQDNs that this group applies to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Identifier for the TunnelDestGroup. Must be unique within the project and contain only lower case letters (a-z) and dashes (-).", +"type": "string" +} +}, +"type": "object" +}, +"ValidateIapAttributeExpressionResponse": { +"description": "IAP Expression Linter endpoint returns empty response body.", +"id": "ValidateIapAttributeExpressionResponse", +"properties": {}, +"type": "object" +}, +"WorkforceIdentitySettings": { +"description": "WorkforceIdentitySettings allows customers to configure workforce pools and OAuth 2.0 settings to gate their applications using a third-party IdP with access control.", +"id": "WorkforceIdentitySettings", +"properties": { +"oauth2": { +"$ref": "OAuth2", +"description": "OAuth 2.0 settings for IAP to perform OIDC flow with workforce identity federation services." +}, +"workforcePools": { +"description": "The workforce pool resources. Only one workforce pool is accepted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Identity-Aware Proxy API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/looker.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/looker.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..a0121965bf11d8e96c6a07e82b24ce5ec1faae2e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/looker.v1.json @@ -0,0 +1,1694 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://looker.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Looker", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/looker/docs/reference/rest/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "looker:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://looker.mtls.googleapis.com/", +"name": "looker", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "looker.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "looker.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"create": { +"description": "Creates a new Instance in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. The unique instance identifier. Must contain only lowercase letters, numbers, or hyphens, with the first character a letter and the last a letter or a number. 63 characters maximum.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "looker.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Whether to force cascading delete.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Export instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:export", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:export", +"request": { +"$ref": "ExportInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "looker.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", +"httpMethod": "GET", +"id": "looker.projects.locations.instances.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:import", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:import", +"request": { +"$ref": "ImportInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Instances in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "looker.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of instances to return. If unspecified at most 256 will be returned. The maximum possible value is 2048.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous ListInstancesRequest.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "looker.projects.locations.instances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask used to specify the fields to be overwritten in the Instance resource by the update. The fields specified in the mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restart": { +"description": "Restart instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:restart", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.restart", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restart", +"request": { +"$ref": "RestartInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"backups": { +"methods": { +"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}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy", +"httpMethod": "GET", +"id": "looker.projects.locations.instances.backups.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.backups.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "looker.projects.locations.instances.backups.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "looker.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "looker.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "looker.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "looker.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://looker.googleapis.com/", +"schemas": { +"AdminSettings": { +"description": "Looker instance Admin settings fields.", +"id": "AdminSettings", +"properties": { +"allowedEmailDomains": { +"description": "Email domain allowlist for the instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CustomDomain": { +"description": "Custom domain information.", +"id": "CustomDomain", +"properties": { +"domain": { +"description": "Domain name.", +"type": "string" +}, +"state": { +"description": "Domain state.", +"enum": [ +"CUSTOM_DOMAIN_STATE_UNSPECIFIED", +"UNVERIFIED", +"VERIFIED", +"MODIFYING", +"AVAILABLE", +"UNAVAILABLE", +"UNKNOWN" +], +"enumDescriptions": [ +"Unspecified state.", +"DNS record is not created.", +"DNS record is created.", +"Calling SLM to update.", +"ManagedCertificate is ready.", +"ManagedCertificate is not ready.", +"Status is not known." +], +"type": "string" +} +}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DenyMaintenancePeriod": { +"description": "Specifies the maintenance denial period.", +"id": "DenyMaintenancePeriod", +"properties": { +"endDate": { +"$ref": "Date", +"description": "Required. End date of the deny maintenance period." +}, +"startDate": { +"$ref": "Date", +"description": "Required. Start date of the deny maintenance period." +}, +"time": { +"$ref": "TimeOfDay", +"description": "Required. Time in UTC when the period starts and ends." +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Encryption configuration (i.e. CMEK).", +"id": "EncryptionConfig", +"properties": { +"kmsKeyName": { +"description": "Name of the CMEK key in KMS (input parameter).", +"type": "string" +}, +"kmsKeyNameVersion": { +"description": "Output only. Full name and version of the CMEK key currently in use to encrypt Looker data. Format: `projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. Empty if CMEK is not configured in this instance.", +"readOnly": true, +"type": "string" +}, +"kmsKeyState": { +"description": "Output only. Status of the CMEK key.", +"enum": [ +"KMS_KEY_STATE_UNSPECIFIED", +"VALID", +"REVOKED" +], +"enumDescriptions": [ +"CMEK status not specified.", +"CMEK key is currently valid.", +"CMEK key is currently revoked (instance should in restricted mode)." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExportEncryptionConfig": { +"description": "Configuration for Encryption - e.g. CMEK.", +"id": "ExportEncryptionConfig", +"properties": { +"kmsKeyName": { +"description": "Required. Name of the CMEK key in KMS.", +"type": "string" +} +}, +"type": "object" +}, +"ExportInstanceRequest": { +"description": "Request options for exporting data of an Instance.", +"id": "ExportInstanceRequest", +"properties": { +"encryptionConfig": { +"$ref": "ExportEncryptionConfig", +"description": "Required. Encryption configuration (CMEK). For CMEK enabled instances it should be same as looker CMEK." +}, +"gcsUri": { +"description": "The path to the folder in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/folderName`.", +"type": "string" +} +}, +"type": "object" +}, +"ExportMetadata": { +"description": "ExportMetadata represents the metadata of the exported artifacts. The metadata.json file in export artifact can be parsed as this message", +"id": "ExportMetadata", +"properties": { +"exportEncryptionKey": { +"$ref": "ExportMetadataEncryptionKey", +"description": "Encryption key that was used to encrypt the export artifacts." +}, +"filePaths": { +"description": "List of files created as part of export artifact (excluding the metadata). The paths are relative to the folder containing the metadata.", +"items": { +"type": "string" +}, +"type": "array" +}, +"lookerEncryptionKey": { +"description": "Looker encryption key, encrypted with the provided export encryption key. This value will only be populated if the looker instance uses Looker managed encryption instead of CMEK.", +"type": "string" +}, +"lookerInstance": { +"description": "Name of the exported instance. Format: projects/{project}/locations/{location}/instances/{instance}", +"type": "string" +}, +"lookerPlatformEdition": { +"description": "Platform edition of the exported instance.", +"type": "string" +}, +"lookerVersion": { +"description": "Version of instance when the export was created.", +"type": "string" +}, +"source": { +"description": "The source type of the migration.", +"enum": [ +"SOURCE_UNSPECIFIED", +"LOOKER_CORE", +"LOOKER_ORIGINAL" +], +"enumDescriptions": [ +"Source not specified", +"Source of export is Looker Core", +"Source of export is Looker Original" +], +"type": "string" +} +}, +"type": "object" +}, +"ExportMetadataEncryptionKey": { +"description": "Encryption key details for the exported artifact.", +"id": "ExportMetadataEncryptionKey", +"properties": { +"cmek": { +"description": "Name of the CMEK.", +"type": "string" +}, +"version": { +"description": "Version of the CMEK.", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"ImportInstanceRequest": { +"description": "Requestion options for importing looker data to an Instance", +"id": "ImportInstanceRequest", +"properties": { +"gcsUri": { +"description": "Path to the import folder in Google Cloud Storage, in the form `gs://bucketName/folderName`.", +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "A Looker instance.", +"id": "Instance", +"properties": { +"adminSettings": { +"$ref": "AdminSettings", +"description": "Looker Instance Admin settings." +}, +"consumerNetwork": { +"description": "Network name in the consumer project. Format: `projects/{project}/global/networks/{network}`. Note that the consumer network may be in a different GCP project than the consumer project that is hosting the Looker Instance.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the Looker instance provisioning was first requested.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customDomain": { +"$ref": "CustomDomain" +}, +"denyMaintenancePeriod": { +"$ref": "DenyMaintenancePeriod", +"description": "Maintenance denial period for this instance." +}, +"egressPublicIp": { +"description": "Output only. Public Egress IP (IPv4).", +"readOnly": true, +"type": "string" +}, +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Encryption configuration (CMEK). Only set if CMEK has been enabled on the instance." +}, +"fipsEnabled": { +"description": "Optional. Whether FIPS is enabled on the Looker instance.", +"type": "boolean" +}, +"geminiEnabled": { +"description": "Optional. Whether Gemini feature is enabled on the Looker instance or not.", +"type": "boolean" +}, +"ingressPrivateIp": { +"description": "Output only. Private Ingress IP (IPv4).", +"readOnly": true, +"type": "string" +}, +"ingressPublicIp": { +"description": "Output only. Public Ingress IP (IPv4).", +"readOnly": true, +"type": "string" +}, +"lastDenyMaintenancePeriod": { +"$ref": "DenyMaintenancePeriod", +"description": "Output only. Last computed maintenance denial period for this instance.", +"readOnly": true +}, +"linkedLspProjectNumber": { +"description": "Optional. Linked Google Cloud Project Number for Looker Studio Pro.", +"format": "int64", +"type": "string" +}, +"lookerUri": { +"description": "Output only. Looker instance URI which can be used to access the Looker Instance UI.", +"readOnly": true, +"type": "string" +}, +"lookerVersion": { +"description": "Output only. The Looker version that the instance is using.", +"readOnly": true, +"type": "string" +}, +"maintenanceSchedule": { +"$ref": "MaintenanceSchedule", +"description": "Maintenance schedule for this instance." +}, +"maintenanceWindow": { +"$ref": "MaintenanceWindow", +"description": "Maintenance window for this instance." +}, +"name": { +"description": "Output only. Format: `projects/{project}/locations/{location}/instances/{instance}`.", +"readOnly": true, +"type": "string" +}, +"oauthConfig": { +"$ref": "OAuthConfig", +"description": "Looker instance OAuth login settings." +}, +"platformEdition": { +"description": "Platform edition.", +"enum": [ +"PLATFORM_EDITION_UNSPECIFIED", +"LOOKER_CORE_TRIAL", +"LOOKER_CORE_STANDARD", +"LOOKER_CORE_STANDARD_ANNUAL", +"LOOKER_CORE_ENTERPRISE_ANNUAL", +"LOOKER_CORE_EMBED_ANNUAL", +"LOOKER_CORE_NONPROD_STANDARD_ANNUAL", +"LOOKER_CORE_NONPROD_ENTERPRISE_ANNUAL", +"LOOKER_CORE_NONPROD_EMBED_ANNUAL" +], +"enumDescriptions": [ +"Platform edition is unspecified.", +"Trial.", +"Standard.", +"Subscription Standard.", +"Subscription Enterprise.", +"Subscription Embed.", +"Nonprod Subscription Standard.", +"Nonprod Subscription Enterprise.", +"Nonprod Subscription Embed." +], +"type": "string" +}, +"privateIpEnabled": { +"description": "Whether private IP is enabled on the Looker instance.", +"type": "boolean" +}, +"pscConfig": { +"$ref": "PscConfig", +"description": "Optional. PSC configuration. Used when `psc_enabled` is true." +}, +"pscEnabled": { +"description": "Optional. Whether to use Private Service Connect (PSC) for private IP connectivity. If true, neither `public_ip_enabled` nor `private_ip_enabled` can be true.", +"type": "boolean" +}, +"publicIpEnabled": { +"description": "Whether public IP is enabled on the Looker instance.", +"type": "boolean" +}, +"reservedRange": { +"description": "Name of a reserved IP address range within the Instance.consumer_network, to be used for private services access connection. May or may not be specified in a create request.", +"type": "string" +}, +"state": { +"description": "Output only. The state of the instance.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"CREATING", +"FAILED", +"SUSPENDED", +"UPDATING", +"DELETING", +"EXPORTING", +"IMPORTING" +], +"enumDescriptions": [ +"State is unspecified.", +"Instance is active and ready for use.", +"Instance provisioning is in progress.", +"Instance is in a failed state.", +"Instance was suspended.", +"Instance update is in progress.", +"Instance delete is in progress.", +"Instance is being exported.", +"Instance is importing data." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the Looker instance was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"userMetadata": { +"$ref": "UserMetadata", +"description": "Optional. User metadata." +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response from ListInstances.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "The list of instances matching the request filters, up to the requested ListInstancesRequest.pageSize.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If provided, a page token that can look up the next ListInstancesRequest.pageSize results. If empty, the results list is exhausted.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceSchedule": { +"description": "Published upcoming future maintenance schedule.", +"id": "MaintenanceSchedule", +"properties": { +"endTime": { +"description": "The scheduled end time for the maintenance.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The scheduled start time for the maintenance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "Specifies the recurring maintenance window.", +"id": "MaintenanceWindow", +"properties": { +"dayOfWeek": { +"description": "Required. Day of the week for this MaintenanceWindow (in UTC).", +"enum": [ +"DAY_OF_WEEK_UNSPECIFIED", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"The day of the week is unspecified.", +"Monday", +"Tuesday", +"Wednesday", +"Thursday", +"Friday", +"Saturday", +"Sunday" +], +"type": "string" +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "Required. Time in UTC when the period starts. Maintenance will be scheduled within 60 minutes." +} +}, +"type": "object" +}, +"OAuthConfig": { +"description": "Looker instance OAuth login settings.", +"id": "OAuthConfig", +"properties": { +"clientId": { +"description": "Input only. Client ID from an external OAuth application. This is an input-only field, and thus will not be set in any responses.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Client secret from an external OAuth application. This is an input-only field, and thus will not be set in any responses.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version used to start the operation.", +"type": "string" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"requestedCancellation": { +"description": "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`.", +"type": "boolean" +}, +"statusMessage": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Server-defined resource path for the target of the operation.", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PscConfig": { +"description": "Information for Private Service Connect (PSC) setup for a Looker instance.", +"id": "PscConfig", +"properties": { +"allowedVpcs": { +"description": "Optional. List of VPCs that are allowed ingress into looker. Format: projects/{project}/global/networks/{network}", +"items": { +"type": "string" +}, +"type": "array" +}, +"lookerServiceAttachmentUri": { +"description": "Output only. URI of the Looker service attachment.", +"readOnly": true, +"type": "string" +}, +"serviceAttachments": { +"description": "Optional. List of egress service attachment configurations.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +} +}, +"type": "object" +}, +"RestartInstanceRequest": { +"description": "Request options for restarting an instance.", +"id": "RestartInstanceRequest", +"properties": {}, +"type": "object" +}, +"ServiceAttachment": { +"description": "Service attachment configuration.", +"id": "ServiceAttachment", +"properties": { +"connectionStatus": { +"description": "Output only. Connection status.", +"enum": [ +"UNKNOWN", +"ACCEPTED", +"PENDING", +"REJECTED", +"NEEDS_ATTENTION", +"CLOSED" +], +"enumDescriptions": [ +"Connection status is unspecified.", +"Connection is established and functioning normally.", +"Connection is not established (Looker tenant project hasn't been allowlisted).", +"Connection is not established (Looker tenant project is explicitly in reject list).", +"Issue with target service attachment, e.g. NAT subnet is exhausted.", +"Target service attachment does not exist. This status is a terminal state." +], +"readOnly": true, +"type": "string" +}, +"localFqdn": { +"description": "Required. Fully qualified domain name that will be used in the private DNS record created for the service attachment.", +"type": "string" +}, +"targetServiceAttachmentUri": { +"description": "Required. URI of the service attachment to connect to. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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`.", +"id": "TimeOfDay", +"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.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UserMetadata": { +"description": "Metadata about users for a Looker instance.", +"id": "UserMetadata", +"properties": { +"additionalDeveloperUserCount": { +"description": "Optional. The number of additional developer users the instance owner has purchased.", +"format": "int32", +"type": "integer" +}, +"additionalStandardUserCount": { +"description": "Optional. The number of additional standard users the instance owner has purchased.", +"format": "int32", +"type": "integer" +}, +"additionalViewerUserCount": { +"description": "Optional. The number of additional viewer users the instance owner has purchased.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Looker (Google Cloud core) API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..382382a7445acf3dd78b9ec1b79ce86c1874d97f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json @@ -0,0 +1,3526 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/content": { +"description": "Manage your product listings and accounts for Google Shopping" +} +} +} +}, +"basePath": "", +"baseUrl": "https://merchantapi.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Merchant", +"description": "Programmatically manage your Merchant Center Accounts.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.devsite.corp.google.com/merchant/api", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "merchantapi:accounts_v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", +"name": "merchantapi", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"createAndConfigure": { +"description": "Creates a standalone Merchant Center account with additional configuration. Adds the user that makes the request as an admin for the new account.", +"flatPath": "accounts/v1beta/accounts:createAndConfigure", +"httpMethod": "POST", +"id": "merchantapi.accounts.createAndConfigure", +"parameterOrder": [], +"parameters": {}, +"path": "accounts/v1beta/accounts:createAndConfigure", +"request": { +"$ref": "CreateAndConfigureAccountRequest" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"delete": { +"description": "Deletes the specified account regardless of its type: standalone, MCA or sub-account. Deleting an MCA leads to the deletion of all of its sub-accounts. Executing this method requires admin access. The deletion succeeds only if the account does not provide services to any other account and has no processed offers. You can use the `force` parameter to override this.", +"flatPath": "accounts/v1beta/accounts/{accountsId}", +"httpMethod": "DELETE", +"id": "merchantapi.accounts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to `true`, the account is deleted even if it provides services to other accounts or has processed offers.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the account to delete. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves an account from your Merchant Center account. After inserting, updating, or deleting an account, it may take several minutes before changes take effect.", +"flatPath": "accounts/v1beta/accounts/{accountsId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the account to retrieve. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists accounts accessible to the calling user and matching the constraints of the request such as page size or filters. This is not just listing the sub-accounts of an MCA, but all accounts the calling user has access to including other MCAs, linked accounts, standalone accounts and so on. If no filter is provided, then it returns accounts the user is directly added to.", +"flatPath": "accounts/v1beta/accounts", +"httpMethod": "GET", +"id": "merchantapi.accounts.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Optional. Returns only accounts that match the [filter](/merchant/api/guides/accounts/filter). For more details, see the [filter syntax reference](/merchant/api/guides/accounts/filter-syntax).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/accounts", +"response": { +"$ref": "ListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"listSubaccounts": { +"description": "List all sub-accounts for a given multi client account. This is a convenience wrapper for the more powerful `ListAccounts` method. This method will produce the same results as calling `ListsAccounts` with the following filter: `relationship(providerId={parent} AND service(type=\"ACCOUNT_AGGREGATION\"))`", +"flatPath": "accounts/v1beta/accounts/{accountsId}:listSubaccounts", +"httpMethod": "GET", +"id": "merchantapi.accounts.listSubaccounts", +"parameterOrder": [ +"provider" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"provider": { +"description": "Required. The aggregation service provider. Format: `providers/{providerId}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+provider}:listSubaccounts", +"response": { +"$ref": "ListSubAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"patch": { +"description": "Updates an account regardless of its type: standalone, MCA or sub-account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the account. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +}, +"resources": { +"autofeedSettings": { +"methods": { +"getAutofeedSettings": { +"description": "Retrieves the autofeed settings of an account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/autofeedSettings", +"httpMethod": "GET", +"id": "merchantapi.accounts.autofeedSettings.getAutofeedSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`", +"location": "path", +"pattern": "^accounts/[^/]+/autofeedSettings$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "AutofeedSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"updateAutofeedSettings": { +"description": "Updates the autofeed settings of an account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/autofeedSettings", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.autofeedSettings.updateAutofeedSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`.", +"location": "path", +"pattern": "^accounts/[^/]+/autofeedSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields being updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "AutofeedSettings" +}, +"response": { +"$ref": "AutofeedSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"businessIdentity": { +"methods": { +"getBusinessIdentity": { +"description": "Retrieves the business identity of an account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/businessIdentity", +"httpMethod": "GET", +"id": "merchantapi.accounts.businessIdentity.getBusinessIdentity", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`", +"location": "path", +"pattern": "^accounts/[^/]+/businessIdentity$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "BusinessIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"updateBusinessIdentity": { +"description": "Updates the business identity of an account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/businessIdentity", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.businessIdentity.updateBusinessIdentity", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`", +"location": "path", +"pattern": "^accounts/[^/]+/businessIdentity$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "BusinessIdentity" +}, +"response": { +"$ref": "BusinessIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"businessInfo": { +"methods": { +"getBusinessInfo": { +"description": "Retrieves the business info of an account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/businessInfo", +"httpMethod": "GET", +"id": "merchantapi.accounts.businessInfo.getBusinessInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the business info. Format: `accounts/{account}/businessInfo`", +"location": "path", +"pattern": "^accounts/[^/]+/businessInfo$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "BusinessInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"updateBusinessInfo": { +"description": "Updates the business info of an account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/businessInfo", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.businessInfo.updateBusinessInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the business info. Format: `accounts/{account}/businessInfo`", +"location": "path", +"pattern": "^accounts/[^/]+/businessInfo$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "BusinessInfo" +}, +"response": { +"$ref": "BusinessInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"emailPreferences": { +"methods": { +"getEmailPreferences": { +"description": "Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}/emailPreferences", +"httpMethod": "GET", +"id": "merchantapi.accounts.emailPreferences.getEmailPreferences", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the `EmailPreferences` resource. Format: `accounts/{account}/users/{email}/emailPreferences`", +"location": "path", +"pattern": "^accounts/[^/]+/users/[^/]+/emailPreferences$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "EmailPreferences" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"updateEmailPreferences": { +"description": "Updates the email preferences for a Merchant Center account user. MCA users should specify the MCA account rather than a sub-account of the MCA. Preferences which are not explicitly selected in the update mask will not be updated. It is invalid for updates to specify an UNCONFIRMED opt-in status value. Use the name=accounts/*/users/me/emailPreferences alias to update preferences for the authenticated user.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}/emailPreferences", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.emailPreferences.updateEmailPreferences", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user.", +"location": "path", +"pattern": "^accounts/[^/]+/users/[^/]+/emailPreferences$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "EmailPreferences" +}, +"response": { +"$ref": "EmailPreferences" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"homepage": { +"methods": { +"claim": { +"description": "Claims a store's homepage. Executing this method requires admin access. If the homepage is already claimed, this will recheck the verification (unless the merchant is exempted from claiming, which also exempts from verification) and return a successful response. If ownership can no longer be verified, it will return an error, but it won't clear the claim. In case of failure, a canonical error message will be returned: * PERMISSION_DENIED: user doesn't have the necessary permissions on this MC account; * FAILED_PRECONDITION: - The account is not a Merchant Center account; - MC account doesn't have a homepage; - claiming failed (in this case the error message will contain more details).", +"flatPath": "accounts/v1beta/accounts/{accountsId}/homepage:claim", +"httpMethod": "POST", +"id": "merchantapi.accounts.homepage.claim", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the homepage to claim. Format: `accounts/{account}/homepage`", +"location": "path", +"pattern": "^accounts/[^/]+/homepage$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}:claim", +"request": { +"$ref": "ClaimHomepageRequest" +}, +"response": { +"$ref": "Homepage" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"getHomepage": { +"description": "Retrieves a store's homepage.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/homepage", +"httpMethod": "GET", +"id": "merchantapi.accounts.homepage.getHomepage", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the homepage to retrieve. Format: `accounts/{account}/homepage`", +"location": "path", +"pattern": "^accounts/[^/]+/homepage$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Homepage" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"unclaim": { +"description": "Unclaims a store's homepage. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/homepage:unclaim", +"httpMethod": "POST", +"id": "merchantapi.accounts.homepage.unclaim", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the homepage to unclaim. Format: `accounts/{account}/homepage`", +"location": "path", +"pattern": "^accounts/[^/]+/homepage$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}:unclaim", +"request": { +"$ref": "UnclaimHomepageRequest" +}, +"response": { +"$ref": "Homepage" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"updateHomepage": { +"description": "Updates a store's homepage. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/homepage", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.homepage.updateHomepage", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the store's homepage. Format: `accounts/{account}/homepage`", +"location": "path", +"pattern": "^accounts/[^/]+/homepage$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "Homepage" +}, +"response": { +"$ref": "Homepage" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"issues": { +"methods": { +"list": { +"description": "Lists all account issues of a Merchant Center account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/issues", +"httpMethod": "GET", +"id": "merchantapi.accounts.issues.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "Optional. The issues in the response will have human-readable fields in the given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of issues to return. The service may return fewer than this value. If unspecified, at most 50 users will be returned. The maximum value is 100; values above 100 will be coerced to 100", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccountIssues` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountIssues` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of issues. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"timeZone": { +"description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in human-readable fields. For example 'America/Los_Angeles'. If not set, 'America/Los_Angeles' will be used.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/issues", +"response": { +"$ref": "ListAccountIssuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"onlineReturnPolicies": { +"methods": { +"get": { +"description": "Gets an existing return policy for a given merchant.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/onlineReturnPolicies/{onlineReturnPoliciesId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.onlineReturnPolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the return policy to retrieve. Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`", +"location": "path", +"pattern": "^accounts/[^/]+/onlineReturnPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "OnlineReturnPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists all existing return policies for a given merchant.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/onlineReturnPolicies", +"httpMethod": "GET", +"id": "merchantapi.accounts.onlineReturnPolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of `OnlineReturnPolicy` resources to return. The service returns fewer than this value if the number of return policies for the given merchant is less that than the `pageSize`. The default value is 10. The maximum value is 100; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListOnlineReturnPolicies` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListOnlineReturnPolicies` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The merchant account for which to list return policies. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/onlineReturnPolicies", +"response": { +"$ref": "ListOnlineReturnPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"programs": { +"methods": { +"disable": { +"description": "Disable participation in the specified program for the account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/programs/{programsId}:disable", +"httpMethod": "POST", +"id": "merchantapi.accounts.programs.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the program for which to disable participation for the given account. Format: `accounts/{account}/programs/{program}`", +"location": "path", +"pattern": "^accounts/[^/]+/programs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}:disable", +"request": { +"$ref": "DisableProgramRequest" +}, +"response": { +"$ref": "Program" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"enable": { +"description": "Enable participation in the specified program for the account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/programs/{programsId}:enable", +"httpMethod": "POST", +"id": "merchantapi.accounts.programs.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the program for which to enable participation for the given account. Format: `accounts/{account}/programs/{program}`", +"location": "path", +"pattern": "^accounts/[^/]+/programs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}:enable", +"request": { +"$ref": "EnableProgramRequest" +}, +"response": { +"$ref": "Program" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves the specified program for the account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/programs/{programsId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.programs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the program to retrieve. Format: `accounts/{account}/programs/{program}`", +"location": "path", +"pattern": "^accounts/[^/]+/programs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Program" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Retrieves all programs for the account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/programs", +"httpMethod": "GET", +"id": "merchantapi.accounts.programs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of programs to return in a single response. If unspecified (or 0), a default size of 1000 is used. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A continuation token, received from a previous `ListPrograms` call. Provide this to retrieve the next page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the account for which to retrieve all programs. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/programs", +"response": { +"$ref": "ListProgramsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"regions": { +"methods": { +"create": { +"description": "Creates a region definition in your Merchant Center account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/regions", +"httpMethod": "POST", +"id": "merchantapi.accounts.regions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account to create a region for. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"regionId": { +"description": "Required. The identifier for the region, unique over all regions of the same account.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/regions", +"request": { +"$ref": "Region" +}, +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"delete": { +"description": "Deletes a region definition from your Merchant Center account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/regions/{regionsId}", +"httpMethod": "DELETE", +"id": "merchantapi.accounts.regions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the region to delete. Format: `accounts/{account}/regions/{region}`", +"location": "path", +"pattern": "^accounts/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves a region defined in your Merchant Center account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/regions/{regionsId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.regions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the region to retrieve. Format: `accounts/{account}/regions/{region}`", +"location": "path", +"pattern": "^accounts/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists the regions in your Merchant Center account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/regions", +"httpMethod": "GET", +"id": "merchantapi.accounts.regions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 regions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account to list regions for. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/regions", +"response": { +"$ref": "ListRegionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"patch": { +"description": "Updates a region definition in your Merchant Center account. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/regions/{regionsId}", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.regions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the region. Format: `accounts/{account}/regions/{region}`", +"location": "path", +"pattern": "^accounts/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The comma-separated field mask indicating the fields to update. Example: `\"displayName,postalCodeArea.regionCode\"`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "Region" +}, +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"shippingSettings": { +"methods": { +"getShippingSettings": { +"description": "Retrieve shipping setting information.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/shippingSettings", +"httpMethod": "GET", +"id": "merchantapi.accounts.shippingSettings.getShippingSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the shipping setting to retrieve. Format: `accounts/{account}/shippingsetting`", +"location": "path", +"pattern": "^accounts/[^/]+/shippingSettings$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "ShippingSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"insert": { +"description": "Replace the shipping setting of a merchant with the request shipping setting. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/shippingSettings:insert", +"httpMethod": "POST", +"id": "merchantapi.accounts.shippingSettings.insert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account where this product will be inserted. Format: accounts/{account}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/shippingSettings:insert", +"request": { +"$ref": "ShippingSettings" +}, +"response": { +"$ref": "ShippingSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"termsOfServiceAgreementStates": { +"methods": { +"get": { +"description": "Returns the state of a terms of service agreement.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/termsOfServiceAgreementStates/{termsOfServiceAgreementStatesId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.termsOfServiceAgreementStates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the terms of service version. Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}` The identifier format is: `{TermsOfServiceKind}-{country}`", +"location": "path", +"pattern": "^accounts/[^/]+/termsOfServiceAgreementStates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "TermsOfServiceAgreementState" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"retrieveForApplication": { +"description": "Retrieves the state of the agreement for the application terms of service.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/termsOfServiceAgreementStates:retrieveForApplication", +"httpMethod": "GET", +"id": "merchantapi.accounts.termsOfServiceAgreementStates.retrieveForApplication", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account for which to get a TermsOfServiceAgreementState Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/termsOfServiceAgreementStates:retrieveForApplication", +"response": { +"$ref": "TermsOfServiceAgreementState" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"users": { +"methods": { +"create": { +"description": "Creates a Merchant Center account user. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users", +"httpMethod": "POST", +"id": "merchantapi.accounts.users.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the account for which a user will be created. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"userId": { +"description": "Required. The email address of the user (for example, `john.doe@gmail.com`).", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"delete": { +"description": "Deletes a Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager\"", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}", +"httpMethod": "DELETE", +"id": "merchantapi.accounts.users.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the user to delete. Format: `accounts/{account}/users/{email}` It is also possible to delete the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account}/users/me`.", +"location": "path", +"pattern": "^accounts/[^/]+/users/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves a Merchant Center account user.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.users.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the user to retrieve. Format: `accounts/{account}/users/{email}` It is also possible to retrieve the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account}/users/me`.", +"location": "path", +"pattern": "^accounts/[^/]+/users/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists all users of a Merchant Center account.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users", +"httpMethod": "GET", +"id": "merchantapi.accounts.users.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of users to return. The service may return fewer than this value. If unspecified, at most 50 users will be returned. The maximum value is 100; values above 100 will be coerced to 100", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUsers` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of users. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+parent}/users", +"response": { +"$ref": "ListUsersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"patch": { +"description": "Updates a Merchant Center account user. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}", +"httpMethod": "PATCH", +"id": "merchantapi.accounts.users.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the user. Format: `accounts/{account}/user/{email}` Use `me` to refer to your own email address, for example `accounts/{account}/users/me`.", +"location": "path", +"pattern": "^accounts/[^/]+/users/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +} +} +}, +"termsOfService": { +"methods": { +"accept": { +"description": "Accepts a `TermsOfService`. Executing this method requires admin access.", +"flatPath": "accounts/v1beta/termsOfService/{termsOfServiceId}:accept", +"httpMethod": "GET", +"id": "merchantapi.termsOfService.accept", +"parameterOrder": [ +"name" +], +"parameters": { +"account": { +"description": "Required. The account for which to accept the ToS.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the terms of service version. Format: `termsOfService/{version}`", +"location": "path", +"pattern": "^termsOfService/[^/]+$", +"required": true, +"type": "string" +}, +"regionCode": { +"description": "Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}:accept", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves the `TermsOfService` associated with the provided version.", +"flatPath": "accounts/v1beta/termsOfService/{termsOfServiceId}", +"httpMethod": "GET", +"id": "merchantapi.termsOfService.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the terms of service version. Format: `termsOfService/{version}`", +"location": "path", +"pattern": "^termsOfService/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "accounts/v1beta/{+name}", +"response": { +"$ref": "TermsOfService" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"retrieveLatest": { +"description": "Retrieves the latest version of the `TermsOfService` for a given `kind` and `region_code`.", +"flatPath": "accounts/v1beta/termsOfService:retrieveLatest", +"httpMethod": "GET", +"id": "merchantapi.termsOfService.retrieveLatest", +"parameterOrder": [], +"parameters": { +"kind": { +"description": "Required. The Kind this terms of service version applies to.", +"enum": [ +"TERMS_OF_SERVICE_KIND_UNSPECIFIED", +"MERCHANT_CENTER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Merchant Center application." +], +"location": "query", +"type": "string" +}, +"regionCode": { +"description": "Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/v1beta/termsOfService:retrieveLatest", +"response": { +"$ref": "TermsOfService" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +} +}, +"revision": "20241210", +"rootUrl": "https://merchantapi.googleapis.com/", +"schemas": { +"Accepted": { +"description": "Describes the accepted terms of service.", +"id": "Accepted", +"properties": { +"acceptedBy": { +"description": "The account where the acceptance was recorded. This can be the account itself or, in the case of subaccounts, the MCA account.", +"type": "string" +}, +"termsOfService": { +"description": "The accepted [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService).", +"type": "string" +}, +"validUntil": { +"$ref": "Date", +"description": "When set, it states that the accepted [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService) is only valid until the end of this date (in UTC). A new one must be accepted before then. The information of the required [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService) is found in the [Required](Required) message." +} +}, +"type": "object" +}, +"Account": { +"description": "The `Account` message represents a merchant's account within Shopping Ads. It's the primary entity for managing product data, settings, and interactions with Google's services and external providers. Accounts can operate as standalone entities or be part of a multi-client account (MCA) structure. In an MCA setup the parent account manages multiple sub-accounts. Establishing an account involves configuring attributes like the account name, time zone, and language preferences. The `Account` message is the parent entity for many other resources, for example, `AccountRelationship`, `Homepage`, `BusinessInfo` and so on.", +"id": "Account", +"properties": { +"accountId": { +"description": "Output only. The ID of the account.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"accountName": { +"description": "Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information.", +"type": "string" +}, +"adultContent": { +"description": "Whether this account contains adult content.", +"type": "boolean" +}, +"languageCode": { +"description": "Required. The account's [BCP-47 language code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the account. Format: `accounts/{account}`", +"type": "string" +}, +"testAccount": { +"description": "Output only. Whether this is a test account.", +"readOnly": true, +"type": "boolean" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "Required. The time zone of the account. On writes, `time_zone` sets both the `reporting_time_zone` and the `display_time_zone`. For reads, `time_zone` always returns the `display_time_zone`. If `display_time_zone` doesn't exist for your account, `time_zone` is empty." +} +}, +"type": "object" +}, +"AccountAggregation": { +"description": "`AccountAggregation` payload.", +"id": "AccountAggregation", +"properties": {}, +"type": "object" +}, +"AccountIssue": { +"description": "An [`AccountIssue`](https://support.google.com/merchants/answer/12153802?sjid=17798438912526418908-EU#account).", +"id": "AccountIssue", +"properties": { +"detail": { +"description": "Further localized details about the issue.", +"type": "string" +}, +"documentationUri": { +"description": "Link to Merchant Center Help Center providing further information about the issue and how to fix it.", +"type": "string" +}, +"impactedDestinations": { +"description": "The impact this issue has on various destinations.", +"items": { +"$ref": "ImpactedDestination" +}, +"type": "array" +}, +"name": { +"description": "Identifier. The resource name of the account issue. Format: `accounts/{account}/issues/{id}`", +"type": "string" +}, +"severity": { +"description": "The overall severity of the issue.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"ERROR", +"SUGGESTION" +], +"enumDescriptions": [ +"The severity is unknown.", +"The issue causes offers to not serve.", +"The issue might affect offers (in the future) or might be an indicator of issues with offers.", +"The issue is a suggestion for improvement." +], +"type": "string" +}, +"title": { +"description": "The localized title of the issue.", +"type": "string" +} +}, +"type": "object" +}, +"AddAccountService": { +"description": "Additional instructions to add account services during creation of the account.", +"id": "AddAccountService", +"properties": { +"accountAggregation": { +"$ref": "AccountAggregation", +"description": "The provider is an [aggregator](https://support.google.com/merchants/answer/188487) for the account. Payload for service type Account Aggregation." +}, +"provider": { +"description": "Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", +"type": "string" +} +}, +"type": "object" +}, +"Address": { +"description": "Shipping address of the warehouse.", +"id": "Address", +"properties": { +"administrativeArea": { +"description": "Required. Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", +"type": "string" +}, +"city": { +"description": "Required. City, town or commune. May also include dependent localities or sublocalities (For example neighborhoods or suburbs).", +"type": "string" +}, +"postalCode": { +"description": "Required. Postal code or ZIP (For example \"94043\").", +"type": "string" +}, +"regionCode": { +"description": "Required. [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (For example \"US\").", +"type": "string" +}, +"streetAddress": { +"description": "Street-level part of the address. For example: `111w 31st Street`.", +"type": "string" +} +}, +"type": "object" +}, +"AutofeedSettings": { +"description": "Collection of information related to the [autofeed](https://support.google.com/merchants/answer/7538732) settings.", +"id": "AutofeedSettings", +"properties": { +"eligible": { +"description": "Output only. Determines whether merchant is eligible for being enrolled into an autofeed.", +"readOnly": true, +"type": "boolean" +}, +"enableProducts": { +"description": "Required. Enables or disables product crawling through the autofeed for the given account. Autofeed accounts must meet [certain conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience), which can be checked through the `eligible` field. The account must **not** be a marketplace. When the autofeed is enabled for the first time, the products usually appear instantly. When re-enabling, it might take up to 24 hours for products to appear.", +"type": "boolean" +}, +"name": { +"description": "Identifier. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`.", +"type": "string" +} +}, +"type": "object" +}, +"BusinessDayConfig": { +"description": "Business days of the warehouse.", +"id": "BusinessDayConfig", +"properties": { +"businessDays": { +"description": "Required. Regular business days. May not be empty.", +"items": { +"enum": [ +"WEEKDAY_UNSPECIFIED", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BusinessIdentity": { +"description": "Collection of information related to the [identity of a business](https://support.google.com/merchants/answer/12564247).", +"id": "BusinessIdentity", +"properties": { +"blackOwned": { +"$ref": "IdentityAttribute", +"description": "Optional. Specifies whether the business identifies itself as being black-owned. This optional field will only be available for merchants with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." +}, +"latinoOwned": { +"$ref": "IdentityAttribute", +"description": "Optional. Specifies whether the business identifies itself as being latino-owned. This optional field will only be available for merchants with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." +}, +"name": { +"description": "Identifier. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`", +"type": "string" +}, +"promotionsConsent": { +"description": "Required. Whether the identity attributes may be used for promotions.", +"enum": [ +"PROMOTIONS_CONSENT_UNSPECIFIED", +"PROMOTIONS_CONSENT_GIVEN", +"PROMOTIONS_CONSENT_DENIED" +], +"enumDescriptions": [ +"Default value indicating that no selection was made.", +"Indicates that the account consented to having their business identity used for promotions.", +"Indicates that the account did not consent to having their business identity used for promotions." +], +"type": "string" +}, +"smallBusiness": { +"$ref": "IdentityAttribute", +"description": "Optional. Specifies whether the business identifies itself as a small business. This optional field will only be available for merchants with a business country set to `US`. It is also not applicable for marketplaces." +}, +"veteranOwned": { +"$ref": "IdentityAttribute", +"description": "Optional. Specifies whether the business identifies itself as being veteran-owned. This optional field will only be available for merchants with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." +}, +"womenOwned": { +"$ref": "IdentityAttribute", +"description": "Optional. Specifies whether the business identifies itself as being women-owned. This optional field will only be available for merchants with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." +} +}, +"type": "object" +}, +"BusinessInfo": { +"description": "The `BusinessInfo` message contains essential information about a merchant's business. This message captures key business details such as physical address, customer service contacts, and region-specific identifiers.", +"id": "BusinessInfo", +"properties": { +"address": { +"$ref": "PostalAddress", +"description": "Optional. The address of the business. Only `region_code`, `address_lines`, `postal_code`, `administrative_area` and `locality` fields are supported. All other fields are ignored." +}, +"customerService": { +"$ref": "CustomerService", +"description": "Optional. The customer service of the business." +}, +"koreanBusinessRegistrationNumber": { +"description": "Optional. The 10-digit [Korean business registration number](https://support.google.com/merchants/answer/9037766) separated with dashes in the format: XXX-XX-XXXXX.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the business info. Format: `accounts/{account}/businessInfo`", +"type": "string" +}, +"phone": { +"$ref": "PhoneNumber", +"description": "Output only. The phone number of the business.", +"readOnly": true +}, +"phoneVerificationState": { +"description": "Output only. The phone verification state of the business.", +"enum": [ +"PHONE_VERIFICATION_STATE_UNSPECIFIED", +"PHONE_VERIFICATION_STATE_VERIFIED", +"PHONE_VERIFICATION_STATE_UNVERIFIED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The phone is verified.", +"The phone is unverified" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CarrierRate": { +"description": "A list of carrier rates that can be referred to by `main_table` or `single_value`. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only.", +"id": "CarrierRate", +"properties": { +"carrier": { +"description": "Required. Carrier service, such as `\"UPS\"` or `\"Fedex\"`.", +"type": "string" +}, +"carrierService": { +"description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`.", +"type": "string" +}, +"flatAdjustment": { +"$ref": "Price", +"description": "Optional. Additive shipping rate modifier. Can be negative. For example `{ \"amount_micros\": 1, \"currency_code\" : \"USD\" }` adds $1 to the rate, `{ \"amount_micros\": -3, \"currency_code\" : \"USD\" }` removes $3 from the rate." +}, +"name": { +"description": "Required. Name of the carrier rate. Must be unique per rate group.", +"type": "string" +}, +"originPostalCode": { +"description": "Required. Shipping origin for this carrier rate.", +"type": "string" +}, +"percentageAdjustment": { +"description": "Optional. Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `\"5.4\"` increases the rate by 5.4%, `\"-3\"` decreases the rate by 3%.", +"type": "string" +} +}, +"type": "object" +}, +"ClaimHomepageRequest": { +"description": "Request message for the `ClaimHomepage` method.", +"id": "ClaimHomepageRequest", +"properties": { +"overwrite": { +"description": "Optional. When set to `true`, this option removes any existing claim on the requested website and replaces it with a claim from the account that makes the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"CreateAndConfigureAccountRequest": { +"description": "Request message for the `CreateAndConfigureAccount` method.", +"id": "CreateAndConfigureAccountRequest", +"properties": { +"account": { +"$ref": "Account", +"description": "Required. The account to be created." +}, +"service": { +"description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation`, which means you can only create sub accounts, not standalone account through this method. Additional `account_management` or `product_management` services may be provided.", +"items": { +"$ref": "AddAccountService" +}, +"type": "array" +}, +"users": { +"description": "Optional. Users to be added to the account.", +"items": { +"$ref": "CreateUserRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateUserRequest": { +"description": "Request message for the `CreateUser` method.", +"id": "CreateUserRequest", +"properties": { +"parent": { +"description": "Required. The resource name of the account for which a user will be created. Format: `accounts/{account}`", +"type": "string" +}, +"user": { +"$ref": "User", +"description": "Required. The user to create." +}, +"userId": { +"description": "Required. The email address of the user (for example, `john.doe@gmail.com`).", +"type": "string" +} +}, +"type": "object" +}, +"CustomerService": { +"description": "Customer service information.", +"id": "CustomerService", +"properties": { +"email": { +"description": "Optional. The email address where customer service may be reached.", +"type": "string" +}, +"phone": { +"$ref": "PhoneNumber", +"description": "Optional. The phone number where customer service may be called." +}, +"uri": { +"description": "Optional. The URI where customer service may be found.", +"type": "string" +} +}, +"type": "object" +}, +"CutoffConfig": { +"description": "Configs related to local delivery ends for the day.", +"id": "CutoffConfig", +"properties": { +"localCutoffTime": { +"$ref": "LocalCutoffTime", +"description": "Time that local delivery ends for the day." +}, +"noDeliveryPostCutoff": { +"description": "Merchants can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to `true` results in the calculated shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false` results in the calculated shipping time being one day. This is only for local delivery.", +"type": "boolean" +}, +"storeCloseOffsetHours": { +"description": "Only valid with local delivery fulfillment. Represents cutoff time as the number of hours before store closing. Mutually exclusive with `local_cutoff_time`.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CutoffTime": { +"description": "Business days cutoff time definition.", +"id": "CutoffTime", +"properties": { +"hour": { +"description": "Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day.", +"format": "int32", +"type": "integer" +}, +"minute": { +"description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"description": "Required. [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example \"Europe/Zurich\".", +"type": "string" +} +}, +"type": "object" +}, +"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", +"id": "Date", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DeliveryTime": { +"description": "Time spent in various aspects from order to the delivery of the product.", +"id": "DeliveryTime", +"properties": { +"cutoffTime": { +"$ref": "CutoffTime", +"description": "Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST." +}, +"handlingBusinessDayConfig": { +"$ref": "BusinessDayConfig", +"description": "The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed." +}, +"maxHandlingDays": { +"description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `min_handling_days`. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time.", +"format": "int32", +"type": "integer" +}, +"maxTransitDays": { +"description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `min_transit_days`.", +"format": "int32", +"type": "integer" +}, +"minHandlingDays": { +"description": "Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time.", +"format": "int32", +"type": "integer" +}, +"minTransitDays": { +"description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `min_transit_days`, `max_transit_days` or `transit_time_table` must be set, but not both.", +"format": "int32", +"type": "integer" +}, +"transitBusinessDayConfig": { +"$ref": "BusinessDayConfig", +"description": "The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed." +}, +"transitTimeTable": { +"$ref": "TransitTable", +"description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both." +}, +"warehouseBasedDeliveryTimes": { +"description": "Optional. Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in delivery time should be set.", +"items": { +"$ref": "WarehouseBasedDeliveryTime" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisableProgramRequest": { +"description": "Request message for the DisableProgram method.", +"id": "DisableProgramRequest", +"properties": {}, +"type": "object" +}, +"Distance": { +"description": "Maximum delivery radius. This is only required for the local delivery shipment type.", +"id": "Distance", +"properties": { +"unit": { +"description": "Unit can differ based on country, it is parameterized to include miles and kilometers.", +"enum": [ +"UNIT_UNSPECIFIED", +"MILES", +"KILOMETERS" +], +"enumDescriptions": [ +"Unit unspecified", +"Unit in miles", +"Unit in kilometers" +], +"type": "string" +}, +"value": { +"description": "Integer value of distance.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EmailPreferences": { +"description": "The categories of notifications the user opted into / opted out of. The email preferences do not include mandatory announcements as users can't opt out of them.", +"id": "EmailPreferences", +"properties": { +"name": { +"description": "Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user.", +"type": "string" +}, +"newsAndTips": { +"description": "Optional. Updates on new features, tips and best practices.", +"enum": [ +"OPT_IN_STATE_UNSPECIFIED", +"OPTED_OUT", +"OPTED_IN", +"UNCONFIRMED" +], +"enumDescriptions": [ +"Opt-in status is not specified.", +"User has opted out of receiving this type of email.", +"User has opted in to receiving this type of email.", +"User has opted in to receiving this type of email and the confirmation email has been sent, but user has not yet confirmed the opt in (applies only to certain countries)." +], +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EnableProgramRequest": { +"description": "Request message for the EnableProgram method.", +"id": "EnableProgramRequest", +"properties": {}, +"type": "object" +}, +"GeoTargetArea": { +"description": "A list of geotargets that defines the region area.", +"id": "GeoTargetArea", +"properties": { +"geotargetCriteriaIds": { +"description": "Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (for example, state).", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Headers": { +"description": "A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `num_items`, `postal_code_group_names`, or `location` must be set.", +"id": "Headers", +"properties": { +"locations": { +"description": "Required. A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.", +"items": { +"$ref": "LocationIdSet" +}, +"type": "array" +}, +"numberOfItems": { +"description": "Required. A list of inclusive number of items upper bounds. The last value can be `\"infinity\"`. For example `[\"10\", \"50\", \"infinity\"]` represents the headers \"<= 10 items\", \"<= 50 items\", and \"> 50 items\". Must be non-empty. Can only be set if all other fields are not set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"postalCodeGroupNames": { +"description": "Required. A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"prices": { +"description": "Required. A list of inclusive order price upper bounds. The last price's value can be infinity by setting price amount_micros = -1. For example `[{\"amount_micros\": 10000000, \"currency_code\": \"USD\"}, {\"amount_micros\": 500000000, \"currency_code\": \"USD\"}, {\"amount_micros\": -1, \"currency_code\": \"USD\"}]` represents the headers \"<= $10\", \"<= $500\", and \"> $500\". All prices within a service must have the same currency. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set.", +"items": { +"$ref": "Price" +}, +"type": "array" +}, +"weights": { +"description": "Required. A list of inclusive order weight upper bounds. The last weight's value can be infinity by setting price amount_micros = -1. For example `[{\"amount_micros\": 10000000, \"unit\": \"kg\"}, {\"amount_micros\": 50000000, \"unit\": \"kg\"}, {\"amount_micros\": -1, \"unit\": \"kg\"}]` represents the headers \"<= 10kg\", \"<= 50kg\", and \"> 50kg\". All weights within a service must have the same unit. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set.", +"items": { +"$ref": "Weight" +}, +"type": "array" +} +}, +"type": "object" +}, +"Homepage": { +"description": "The `Homepage` message represents a merchant's store homepage within the system. A merchant's homepage is the primary domain where customers interact with their store. The homepage can be claimed and verified as a proof of ownership and allows the merchant to unlock features that require a verified website. For more information, see [Understanding online store URL verification](//support.google.com/merchants/answer/176793).", +"id": "Homepage", +"properties": { +"claimed": { +"description": "Output only. Whether the homepage is claimed. See https://support.google.com/merchants/answer/176793.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Identifier. The resource name of the store's homepage. Format: `accounts/{account}/homepage`", +"type": "string" +}, +"uri": { +"description": "Required. The URI (typically a URL) of the store's homepage.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityAttribute": { +"description": "All information related to an identity attribute.", +"id": "IdentityAttribute", +"properties": { +"identityDeclaration": { +"description": "Required. The declaration of identity for this attribute.", +"enum": [ +"IDENTITY_DECLARATION_UNSPECIFIED", +"SELF_IDENTIFIES_AS", +"DOES_NOT_SELF_IDENTIFY_AS" +], +"enumDescriptions": [ +"Default value indicating that no selection was made.", +"Indicates that the account identifies with the attribute.", +"Indicates that the account does not identify with the attribute." +], +"type": "string" +} +}, +"type": "object" +}, +"Impact": { +"description": "The impact of the issue on a region.", +"id": "Impact", +"properties": { +"regionCode": { +"description": "The [CLDR region code](https://cldr.unicode.org/) where this issue applies.", +"type": "string" +}, +"severity": { +"description": "The severity of the issue on the destination and region.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"ERROR", +"SUGGESTION" +], +"enumDescriptions": [ +"The severity is unknown.", +"The issue causes offers to not serve.", +"The issue might affect offers (in the future) or might be an indicator of issues with offers.", +"The issue is a suggestion for improvement." +], +"type": "string" +} +}, +"type": "object" +}, +"ImpactedDestination": { +"description": "The impact of the issue on a destination.", +"id": "ImpactedDestination", +"properties": { +"impacts": { +"description": "The (negative) impact for various regions on the given destination.", +"items": { +"$ref": "Impact" +}, +"type": "array" +}, +"reportingContext": { +"description": "The impacted reporting context.", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"type": "string" +} +}, +"type": "object" +}, +"ListAccountIssuesResponse": { +"description": "Response message for the `ListAccountIssues` method.", +"id": "ListAccountIssuesResponse", +"properties": { +"accountIssues": { +"description": "The issues from the specified account.", +"items": { +"$ref": "AccountIssue" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "Response message for the `ListAccounts` method.", +"id": "ListAccountsResponse", +"properties": { +"accounts": { +"description": "The accounts matching the `ListAccountsRequest`.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ListOnlineReturnPoliciesResponse": { +"description": "Response message for the `ListOnlineReturnPolicies` method.", +"id": "ListOnlineReturnPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"onlineReturnPolicies": { +"description": "The retrieved return policies.", +"items": { +"$ref": "OnlineReturnPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListProgramsResponse": { +"description": "Response message for the ListPrograms method.", +"id": "ListProgramsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"programs": { +"description": "The programs for the given account.", +"items": { +"$ref": "Program" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRegionsResponse": { +"description": "Response message for the `ListRegions` method.", +"id": "ListRegionsResponse", +"properties": { +"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" +}, +"regions": { +"description": "The regions from the specified merchant.", +"items": { +"$ref": "Region" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSubAccountsResponse": { +"description": "Response message for the `ListSubAccounts` method.", +"id": "ListSubAccountsResponse", +"properties": { +"accounts": { +"description": "The accounts for which the given parent account is an aggregator.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ListUsersResponse": { +"description": "Response message for the `ListUsers` method.", +"id": "ListUsersResponse", +"properties": { +"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" +}, +"users": { +"description": "The users from the specified account.", +"items": { +"$ref": "User" +}, +"type": "array" +} +}, +"type": "object" +}, +"LocalCutoffTime": { +"description": "Time that local delivery ends for the day.", +"id": "LocalCutoffTime", +"properties": { +"hour": { +"description": "Hour local delivery orders must be placed by to process the same day.", +"format": "int64", +"type": "string" +}, +"minute": { +"description": "Minute local delivery orders must be placed by to process the same day.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"LocationIdSet": { +"description": "A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.", +"id": "LocationIdSet", +"properties": { +"locationIds": { +"description": "Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (For example, state).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoyaltyProgram": { +"description": "[Loyalty program](https://support.google.com/merchants/answer/12922446) provided by a merchant.", +"id": "LoyaltyProgram", +"properties": { +"loyaltyProgramTiers": { +"description": "Optional. Loyalty program tier of this shipping service.", +"items": { +"$ref": "LoyaltyProgramTiers" +}, +"type": "array" +}, +"programLabel": { +"description": "This is the loyalty program label set in your loyalty program settings in Merchant Center. This sub-attribute allows Google to map your loyalty program to eligible offers.", +"type": "string" +} +}, +"type": "object" +}, +"LoyaltyProgramTiers": { +"description": "Subset of a merchants loyalty program.", +"id": "LoyaltyProgramTiers", +"properties": { +"tierLabel": { +"description": "The tier label [tier_label] sub-attribute differentiates offer level benefits between each tier. This value is also set in your program settings in Merchant Center, and is required for data source changes even if your loyalty program only has 1 tier.", +"type": "string" +} +}, +"type": "object" +}, +"MinimumOrderValueTable": { +"description": "Table of per store minimum order values for the pickup fulfillment type.", +"id": "MinimumOrderValueTable", +"properties": { +"storeCodeSetWithMovs": { +"description": "Required. A list of store code sets sharing the same minimum order value (MOV). At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", +"items": { +"$ref": "StoreCodeSetWithMov" +}, +"type": "array" +} +}, +"type": "object" +}, +"OnlineReturnPolicy": { +"description": "[Online return policy](https://support.google.com/merchants/answer/10220642) object. This is currently used to represent return policies for ads and free listings programs.", +"id": "OnlineReturnPolicy", +"properties": { +"acceptDefectiveOnly": { +"description": "This field specifies if merchant only accepts defective products for returns, and this field is required.", +"type": "boolean" +}, +"acceptExchange": { +"description": "This field specifies if merchant allows customers to exchange products, this field is required.", +"type": "boolean" +}, +"countries": { +"description": "Required. Immutable. The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code.", +"items": { +"type": "string" +}, +"type": "array" +}, +"itemConditions": { +"description": "The item conditions accepted for returns must not be empty unless the type of return policy is 'noReturns'.", +"items": { +"enum": [ +"ITEM_CONDITION_UNSPECIFIED", +"NEW", +"USED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"New.", +"Used." +], +"type": "string" +}, +"type": "array" +}, +"label": { +"description": "Required. Immutable. This field represents the unique user-defined label of the return policy. It is important to note that the same label cannot be used in different return policies for the same country. Unless a product specifies a specific label attribute, policies will be automatically labeled as 'default'. To assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The name of the `OnlineReturnPolicy` resource. Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`", +"type": "string" +}, +"policy": { +"$ref": "Policy", +"description": "The return policy." +}, +"processRefundDays": { +"description": "The field specifies the number of days it takes for merchants to process refunds, field is optional.", +"format": "int32", +"type": "integer" +}, +"restockingFee": { +"$ref": "RestockingFee", +"description": "The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set." +}, +"returnMethods": { +"description": "The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns.", +"items": { +"enum": [ +"RETURN_METHOD_UNSPECIFIED", +"BY_MAIL", +"IN_STORE", +"AT_A_KIOSK" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Return by mail.", +"Return in store.", +"Return at a kiosk." +], +"type": "string" +}, +"type": "array" +}, +"returnPolicyId": { +"description": "Output only. Return policy ID generated by Google.", +"readOnly": true, +"type": "string" +}, +"returnPolicyUri": { +"description": "Required. The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL.", +"type": "string" +}, +"returnShippingFee": { +"$ref": "ReturnShippingFee", +"description": "The return shipping fee. Should be set only when customer need to download and print the return label." +} +}, +"type": "object" +}, +"PhoneNumber": { +"description": "An object representing a phone number, suitable as an API wire format. This representation: - should not be used for locale-specific formatting of a phone number, such as \"+1 (650) 253-0000 ext. 123\" - is not designed for efficient storage - may not be suitable for dialing - specialized libraries (see references) should be used to parse the number for that purpose To do something meaningful with this number, such as format it for various use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance, in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), \"ZZ\"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); } Reference(s): - https://github.com/google/libphonenumber", +"id": "PhoneNumber", +"properties": { +"e164Number": { +"description": "The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting. For example: - correct: \"+15552220123\" - incorrect: \"+1 (555) 222-01234 x123\". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes", +"type": "string" +}, +"extension": { +"description": "The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future.", +"type": "string" +}, +"shortCode": { +"$ref": "ShortCode", +"description": "A short code. Reference(s): - https://en.wikipedia.org/wiki/Short_code" +} +}, +"type": "object" +}, +"Policy": { +"description": "The available policies.", +"id": "Policy", +"properties": { +"days": { +"description": "The number of days items can be returned after delivery, where one day is defined as 24 hours after the delivery timestamp. Required for `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Policy type.", +"enum": [ +"TYPE_UNSPECIFIED", +"NUMBER_OF_DAYS_AFTER_DELIVERY", +"NO_RETURNS", +"LIFETIME_RETURNS" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The number of days within which a return is valid after delivery.", +"No returns.", +"Life time returns." +], +"type": "string" +} +}, +"type": "object" +}, +"PostalAddress": { +"description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", +"id": "PostalAddress", +"properties": { +"addressLines": { +"description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", +"items": { +"type": "string" +}, +"type": "array" +}, +"administrativeArea": { +"description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", +"type": "string" +}, +"languageCode": { +"description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", +"type": "string" +}, +"locality": { +"description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", +"type": "string" +}, +"organization": { +"description": "Optional. The name of the organization at the address.", +"type": "string" +}, +"postalCode": { +"description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", +"type": "string" +}, +"recipients": { +"description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regionCode": { +"description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", +"type": "string" +}, +"revision": { +"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", +"format": "int32", +"type": "integer" +}, +"sortingCode": { +"description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example C\u00f4te d'Ivoire).", +"type": "string" +}, +"sublocality": { +"description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", +"type": "string" +} +}, +"type": "object" +}, +"PostalCodeArea": { +"description": "A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible through the account's `ShippingSettings.postalCodeGroups` resource.", +"id": "PostalCodeArea", +"properties": { +"postalCodes": { +"description": "Required. A range of postal codes.", +"items": { +"$ref": "PostalCodeRange" +}, +"type": "array" +}, +"regionCode": { +"description": "Required. [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) or the country the postal code group applies to.", +"type": "string" +} +}, +"type": "object" +}, +"PostalCodeRange": { +"description": "A range of postal codes that defines the region area.", +"id": "PostalCodeRange", +"properties": { +"begin": { +"description": "Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: `94108`, `9410*`, `9*`.", +"type": "string" +}, +"end": { +"description": "Optional. A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.", +"type": "string" +} +}, +"type": "object" +}, +"Price": { +"description": "The price represented as a number and currency.", +"id": "Price", +"properties": { +"amountMicros": { +"description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", +"format": "int64", +"type": "string" +}, +"currencyCode": { +"description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", +"type": "string" +} +}, +"type": "object" +}, +"ProductChange": { +"description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", +"id": "ProductChange", +"properties": { +"newValue": { +"description": "The new value of the changed resource or attribute.", +"type": "string" +}, +"oldValue": { +"description": "The old value of the changed resource or attribute.", +"type": "string" +}, +"regionCode": { +"description": "Countries that have the change (if applicable)", +"type": "string" +}, +"reportingContext": { +"description": "Reporting contexts that have the change (if applicable)", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"type": "string" +} +}, +"type": "object" +}, +"ProductStatusChangeMessage": { +"description": "The message that the merchant will receive to notify about product status change event", +"id": "ProductStatusChangeMessage", +"properties": { +"account": { +"description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", +"type": "string" +}, +"attribute": { +"description": "The attribute in the resource that changed, in this case it will be always `Status`.", +"enum": [ +"ATTRIBUTE_UNSPECIFIED", +"STATUS" +], +"enumDescriptions": [ +"Unspecified attribute", +"Status of the changed entity" +], +"type": "string" +}, +"changes": { +"description": "A message to describe the change that happened to the product", +"items": { +"$ref": "ProductChange" +}, +"type": "array" +}, +"expirationTime": { +"description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", +"format": "google-datetime", +"type": "string" +}, +"managingAccount": { +"description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", +"type": "string" +}, +"resource": { +"description": "The product name. Format: `{product.name=accounts/{account}/products/{product}}`", +"type": "string" +}, +"resourceId": { +"description": "The product id.", +"type": "string" +}, +"resourceType": { +"description": "The resource that changed, in this case it will always be `Product`.", +"enum": [ +"RESOURCE_UNSPECIFIED", +"PRODUCT" +], +"enumDescriptions": [ +"Unspecified resource", +"Resource type : product" +], +"type": "string" +} +}, +"type": "object" +}, +"Program": { +"description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to merchant accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/topic/9240261?ref_topic=7257954,7259405,&sjid=796648681813264022-EU) program, which enables products from a merchant's store to be shown across Google for free.", +"id": "Program", +"properties": { +"activeRegionCodes": { +"description": "Output only. The regions in which the account is actively participating in the program. Active regions are defined as those where all program requirements affecting the regions have been met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"documentationUri": { +"description": "Output only. The URL of a Merchant Center help page describing the program.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the program. Format: `accounts/{account}/programs/{program}`", +"type": "string" +}, +"state": { +"description": "Output only. The participation state of the account in the program.", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_ELIGIBLE", +"ELIGIBLE", +"ENABLED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The account is not eligible to participate in the program.", +"The account is eligible to participate in the program.", +"The program is enabled for the account." +], +"readOnly": true, +"type": "string" +}, +"unmetRequirements": { +"description": "Output only. The requirements that the account has not yet satisfied that are affecting participation in the program.", +"items": { +"$ref": "Requirement" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"RateGroup": { +"description": "Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means \"everything else\". The other `applicable_shipping_labels` must not overlap.", +"id": "RateGroup", +"properties": { +"applicableShippingLabels": { +"description": "Required. A list of [shipping labels](https://support.google.com/merchants/answer/6324504) defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service.", +"items": { +"type": "string" +}, +"type": "array" +}, +"carrierRates": { +"description": "Optional. A list of carrier rates that can be referred to by `main_table` or `single_value`.", +"items": { +"$ref": "CarrierRate" +}, +"type": "array" +}, +"mainTable": { +"$ref": "Table", +"description": "A table defining the rate group, when `single_value` is not expressive enough. Can only be set if `single_value` is not set." +}, +"name": { +"description": "Optional. Name of the rate group. If set has to be unique within shipping service.", +"type": "string" +}, +"singleValue": { +"$ref": "Value", +"description": "The value of the rate group (For example flat rate $10). Can only be set if `main_table` and `subtables` are not set." +}, +"subtables": { +"description": "Optional. A list of subtables referred to by `main_table`. Can only be set if `main_table` is set.", +"items": { +"$ref": "Table" +}, +"type": "array" +} +}, +"type": "object" +}, +"Region": { +"description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", +"id": "Region", +"properties": { +"displayName": { +"description": "Optional. The display name of the region.", +"type": "string" +}, +"geotargetArea": { +"$ref": "GeoTargetArea", +"description": "Optional. A list of geotargets that defines the region area." +}, +"name": { +"description": "Identifier. The resource name of the region. Format: `accounts/{account}/regions/{region}`", +"type": "string" +}, +"postalCodeArea": { +"$ref": "PostalCodeArea", +"description": "Optional. A list of postal codes that defines the region area." +}, +"regionalInventoryEligible": { +"description": "Output only. Indicates if the region is eligible for use in the Regional Inventory configuration.", +"readOnly": true, +"type": "boolean" +}, +"shippingEligible": { +"description": "Output only. Indicates if the region is eligible for use in the Shipping Services configuration.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"Required": { +"description": "Describes the terms of service which are required to be accepted.", +"id": "Required", +"properties": { +"termsOfService": { +"description": "The [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService) that need to be accepted.", +"type": "string" +}, +"tosFileUri": { +"description": "Full URL to the terms of service file. This field is the same as [TermsOfService.file_uri](TermsOfService.file_uri), it is added here for convenience only.", +"type": "string" +} +}, +"type": "object" +}, +"Requirement": { +"description": "Defines a requirement specified for participation in the program.", +"id": "Requirement", +"properties": { +"affectedRegionCodes": { +"description": "Output only. The regions that are currently affected by this requirement not being met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"documentationUri": { +"description": "Output only. The URL of a help page describing the requirement.", +"readOnly": true, +"type": "string" +}, +"title": { +"description": "Output only. Name of the requirement.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RestockingFee": { +"description": "The restocking fee. This can be a flat fee or a micro percent.", +"id": "RestockingFee", +"properties": { +"fixedFee": { +"$ref": "Price", +"description": "Fixed restocking fee." +}, +"microPercent": { +"description": "Percent of total price in micros. 15,000,000 means 15% of the total price would be charged.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ReturnShippingFee": { +"description": "The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost.", +"id": "ReturnShippingFee", +"properties": { +"fixedFee": { +"$ref": "Price", +"description": "Fixed return shipping fee amount. This value is only applicable when type is `FIXED`. We will treat the return shipping fee as free if type is `FIXED` and this value is not set." +}, +"type": { +"description": "Required. Type of return shipping fee.", +"enum": [ +"TYPE_UNSPECIFIED", +"FIXED", +"CUSTOMER_PAYING_ACTUAL_FEE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The return shipping fee is a fixed value.", +"Customers will pay the actual return shipping fee." +], +"type": "string" +} +}, +"type": "object" +}, +"Row": { +"description": "Include a list of cells.", +"id": "Row", +"properties": { +"cells": { +"description": "Required. The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables.", +"items": { +"$ref": "Value" +}, +"type": "array" +} +}, +"type": "object" +}, +"Service": { +"description": "Shipping service.", +"id": "Service", +"properties": { +"active": { +"description": "Required. A boolean exposing the active status of the shipping service.", +"type": "boolean" +}, +"currencyCode": { +"description": "The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.", +"type": "string" +}, +"deliveryCountries": { +"description": "Required. The CLDR territory code of the countries to which the service applies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deliveryTime": { +"$ref": "DeliveryTime", +"description": "Required. Time spent in various aspects from order to the delivery of the product." +}, +"loyaltyPrograms": { +"description": "Optional. Loyalty programs that this shipping service is limited to.", +"items": { +"$ref": "LoyaltyProgram" +}, +"type": "array" +}, +"minimumOrderValue": { +"$ref": "Price", +"description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table." +}, +"minimumOrderValueTable": { +"$ref": "MinimumOrderValueTable", +"description": "Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimum_order_value." +}, +"rateGroups": { +"description": "Optional. Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means \"everything else\". The other `applicable_shipping_labels` must not overlap.", +"items": { +"$ref": "RateGroup" +}, +"type": "array" +}, +"serviceName": { +"description": "Required. Free-form name of the service. Must be unique within target account.", +"type": "string" +}, +"shipmentType": { +"description": "Type of locations this service ships orders to.", +"enum": [ +"SHIPMENT_TYPE_UNSPECIFIED", +"DELIVERY", +"LOCAL_DELIVERY", +"COLLECTION_POINT" +], +"enumDescriptions": [ +"This service did not specify shipment type.", +"This service ships orders to an address chosen by the customer.", +"This service ships orders to an address chosen by the customer. The order is shipped from a local store near by.", +"This service ships orders to an address chosen by the customer. The order is shipped from a collection point." +], +"type": "string" +}, +"storeConfig": { +"$ref": "StoreConfig", +"description": "A list of stores your products are delivered from. This is only valid for the local delivery shipment type." +} +}, +"type": "object" +}, +"ShippingSettings": { +"description": "The merchant account's [shipping setting](https://support.google.com/merchants/answer/6069284).", +"id": "ShippingSettings", +"properties": { +"etag": { +"description": "Required. This field is used for avoid async issue. Make sure shipping setting data didn't change between get call and insert call. The user should do following steps\uff1a 1. Set etag field as empty string for initial shipping setting creation. 2. After initial creation, call get method to obtain an etag and current shipping setting data before call insert. 3. Modify to wanted shipping setting information. 4. Call insert method with the wanted shipping setting information with the etag obtained from step 2. 5. If shipping setting data changed between step 2 and step 4. Insert request will fail because the etag changes every time the shipping setting data changes. User should repeate step 2-4 with the new etag.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the shipping setting. Format: `accounts/{account}/shippingSetting`", +"type": "string" +}, +"services": { +"description": "Optional. The target account's list of services.", +"items": { +"$ref": "Service" +}, +"type": "array" +}, +"warehouses": { +"description": "Optional. A list of warehouses which can be referred to in `services`.", +"items": { +"$ref": "Warehouse" +}, +"type": "array" +} +}, +"type": "object" +}, +"ShortCode": { +"description": "An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (For example \"Text 611 to see how many minutes you have remaining on your plan.\"). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (For example: US and CA).", +"id": "ShortCode", +"properties": { +"number": { +"description": "Required. The short code digits, without a leading plus ('+') or country calling code. For example \"611\".", +"type": "string" +}, +"regionCode": { +"description": "Required. The BCP-47 region code of the location where calls to this short code can be made, such as \"US\" and \"BB\". Reference(s): - http://www.unicode.org/reports/tr35/#unicode_region_subtag", +"type": "string" +} +}, +"type": "object" +}, +"StoreCodeSetWithMov": { +"description": "A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", +"id": "StoreCodeSetWithMov", +"properties": { +"storeCodes": { +"description": "Optional. A list of unique store codes or empty for the catch all.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"$ref": "Price", +"description": "The minimum order value for the given stores." +} +}, +"type": "object" +}, +"StoreConfig": { +"description": "A list of stores your products are delivered from. This is only valid for the local delivery shipment type.", +"id": "StoreConfig", +"properties": { +"cutoffConfig": { +"$ref": "CutoffConfig", +"description": "Configs related to local delivery ends for the day." +}, +"serviceRadius": { +"$ref": "Distance", +"description": "Maximum delivery radius. This is only required for the local delivery shipment type." +}, +"storeCodes": { +"description": "Optional. A list of store codes that provide local delivery. If empty, then `all_stores` must be true.", +"items": { +"type": "string" +}, +"type": "array" +}, +"storeServiceType": { +"description": "Indicates whether all stores, or selected stores, listed by this merchant provide local delivery.", +"enum": [ +"STORE_SERVICE_TYPE_UNSPECIFIED", +"ALL_STORES", +"SELECTED_STORES" +], +"enumDescriptions": [ +"Did not specify store service type.", +"Indicates whether all stores, current and future, listed by this merchant provide local delivery.", +"Indicates that only the stores listed in `store_codes` are eligible for local delivery." +], +"type": "string" +} +}, +"type": "object" +}, +"Table": { +"description": "A table defining the rate group, when `single_value` is not expressive enough.", +"id": "Table", +"properties": { +"columnHeaders": { +"$ref": "Headers", +"description": "Headers of the table's columns. Optional: if not set then the table has only one dimension." +}, +"name": { +"description": "Name of the table. Required for subtables, ignored for the main table.", +"type": "string" +}, +"rowHeaders": { +"$ref": "Headers", +"description": "Required. Headers of the table's rows." +}, +"rows": { +"description": "Required. The list of rows that constitute the table. Must have the same length as `row_headers`.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"TermsOfService": { +"description": "The `TermsOfService` message represents a specific version of the terms of service that merchants must accept to access certain features or services (see https://support.google.com/merchants/answer/160173). This message is important for the onboarding process, ensuring that merchants agree to the necessary legal agreements for using the service. Merchants can retrieve the latest terms of service for a given `kind` and `region` through `RetrieveLatestTermsOfService`, and accept them as required through `AcceptTermsOfService`.", +"id": "TermsOfService", +"properties": { +"external": { +"description": "Whether this terms of service version is external. External terms of service versions can only be agreed through external processes and not directly by the merchant through UI or API.", +"type": "boolean" +}, +"fileUri": { +"description": "URI for terms of service file that needs to be displayed to signing users.", +"type": "string" +}, +"kind": { +"description": "The Kind this terms of service version applies to.", +"enum": [ +"TERMS_OF_SERVICE_KIND_UNSPECIFIED", +"MERCHANT_CENTER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Merchant Center application." +], +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the terms of service version. Format: `termsOfService/{version}`", +"type": "string" +}, +"regionCode": { +"description": "Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country where the ToS applies specifically to that country or `001` when the same `TermsOfService` can be signed in any country. However note that when signing a ToS that applies globally we still expect that a specific country is provided (this should be merchant business country or program country of participation).", +"type": "string" +} +}, +"type": "object" +}, +"TermsOfServiceAgreementState": { +"description": "This resource represents the agreement state for a given account and terms of service kind. The state is as follows: * If the merchant has accepted a terms of service: [accepted](TermsOfServiceAggrementState.accepted) will be populated, otherwise it will be empty * If the merchant must sign a terms of service: [required](TermsOfServiceAggrementState.required) will be populated, otherwise it will be empty. Note that both [required](TermsOfServiceAggrementState.required) and [accepted](TermsOfServiceAggrementState.accepted) can be present. In this case the `accepted` terms of services will have an expiration date set in the [valid_until](Accepted.valid_until) field. The `required` terms of services need to be accepted before `valid_until` in order for the account to continue having a valid agreement. When accepting new terms of services we expect 3Ps to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as [tos_file_uri](Accepted.tos_file_uri). The actual acceptance of the terms of service is done by calling accept on the [TermsOfService](TermsOfService) resource.", +"id": "TermsOfServiceAgreementState", +"properties": { +"accepted": { +"$ref": "Accepted", +"description": "The accepted terms of service of this kind and for the associated region_code" +}, +"name": { +"description": "Identifier. The resource name of the terms of service version. Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}` The identifier format is: `{TermsOfServiceKind}-{country}` For example, an identifier could be: `MERCHANT_CENTER-US`", +"type": "string" +}, +"regionCode": { +"description": "Region code as defined by https://cldr.unicode.org/. This is the country the current state applies to.", +"type": "string" +}, +"required": { +"$ref": "Required", +"description": "The required terms of service" +}, +"termsOfServiceKind": { +"description": "Terms of Service kind associated with the particular version.", +"enum": [ +"TERMS_OF_SERVICE_KIND_UNSPECIFIED", +"MERCHANT_CENTER" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Merchant Center application." +], +"type": "string" +} +}, +"type": "object" +}, +"TimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +}, +"TransitTable": { +"description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both.", +"id": "TransitTable", +"properties": { +"postalCodeGroupNames": { +"description": "Required. A list of region names Region.name . The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rows": { +"description": "Required. If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`.", +"items": { +"$ref": "TransitTimeRow" +}, +"type": "array" +}, +"transitTimeLabels": { +"description": "Required. A list of transit time labels. The last value can be `\"all other labels\"`. Example: `[\"food\", \"electronics\", \"all other labels\"]`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TransitTimeRow": { +"description": "If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`.", +"id": "TransitTimeRow", +"properties": { +"values": { +"description": "Required. Transit time range (min-max) in business days.", +"items": { +"$ref": "TransitTimeValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"TransitTimeValue": { +"description": "Transit time range (min-max) in business days.", +"id": "TransitTimeValue", +"properties": { +"maxTransitDays": { +"description": "Must be greater than or equal to `min_transit_days`.", +"format": "int32", +"type": "integer" +}, +"minTransitDays": { +"description": "Minimum transit time range in business days. 0 means same day delivery, 1 means next day delivery.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UnclaimHomepageRequest": { +"description": "Request message for the `UnclaimHomepage` method.", +"id": "UnclaimHomepageRequest", +"properties": {}, +"type": "object" +}, +"User": { +"description": "The `User` message represents a user associated with a Merchant Center account. It is used to manage user permissions and access rights within the account. For more information, see [Frequently asked questions about people and access levels](//support.google.com/merchants/answer/12160472).", +"id": "User", +"properties": { +"accessRights": { +"description": "Optional. The [access rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes) the user has.", +"items": { +"enum": [ +"ACCESS_RIGHT_UNSPECIFIED", +"STANDARD", +"ADMIN", +"PERFORMANCE_REPORTING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Standard access rights.", +"Admin access rights.", +"Users with this right have access to performance and insights." +], +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Identifier. The resource name of the user. Format: `accounts/{account}/user/{email}` Use `me` to refer to your own email address, for example `accounts/{account}/users/me`.", +"type": "string" +}, +"state": { +"description": "Output only. The state of the user.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"VERIFIED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The user is pending confirmation. In this state, the user first needs to accept the invitation before performing other actions.", +"The user is verified." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Value": { +"description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of `no_shipping`, `flat_rate`, `price_percentage`, `carrier_rateName`, `subtable_name` must be set.", +"id": "Value", +"properties": { +"carrierRate": { +"description": "The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.", +"type": "string" +}, +"flatRate": { +"$ref": "Price", +"description": "A flat rate. Can only be set if all other fields are not set." +}, +"noShipping": { +"description": "If true, then the product can't be shipped. Must be true when set, can only be set if all other fields are not set.", +"type": "boolean" +}, +"pricePercentage": { +"description": "A percentage of the price represented as a number in decimal notation (For example, `\"5.4\"`). Can only be set if all other fields are not set.", +"type": "string" +}, +"subtable": { +"description": "The name of a subtable. Can only be set in table cells (For example, not for single values), and only if all other fields are not set.", +"type": "string" +} +}, +"type": "object" +}, +"Warehouse": { +"description": "A fulfillment warehouse, which stores and handles inventory.", +"id": "Warehouse", +"properties": { +"businessDayConfig": { +"$ref": "BusinessDayConfig", +"description": "Business days of the warehouse. If not set, will be Monday to Friday by default." +}, +"cutoffTime": { +"$ref": "WarehouseCutoffTime", +"description": "Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code." +}, +"handlingDays": { +"description": "Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. The name of the warehouse. Must be unique within account.", +"type": "string" +}, +"shippingAddress": { +"$ref": "Address", +"description": "Required. Shipping address of the warehouse." +} +}, +"type": "object" +}, +"WarehouseBasedDeliveryTime": { +"description": "Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in `delivery_time` should be set.", +"id": "WarehouseBasedDeliveryTime", +"properties": { +"carrier": { +"description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`. [supported carriers](https://support.google.com/merchants/answer/7050921#zippy=%2Ccarrier-rates-au-de-uk-and-us-only)", +"type": "string" +}, +"carrierService": { +"description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`. The name of the service must be in the eddSupportedServices list.", +"type": "string" +}, +"warehouse": { +"description": "Required. Warehouse name. This should match warehouse", +"type": "string" +} +}, +"type": "object" +}, +"WarehouseCutoffTime": { +"description": "The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code.", +"id": "WarehouseCutoffTime", +"properties": { +"hour": { +"description": "Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse.", +"format": "int32", +"type": "integer" +}, +"minute": { +"description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Weight": { +"description": "The weight represented as the value in string and the unit.", +"id": "Weight", +"properties": { +"amountMicros": { +"description": "Required. The weight represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 kg = 1000000 micros). This field can also be set as infinity by setting to -1. This field only support -1 and positive value.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "Required. The weight unit. Acceptable values are: kg and lb", +"enum": [ +"WEIGHT_UNIT_UNSPECIFIED", +"POUND", +"KILOGRAM" +], +"enumDescriptions": [ +"unit unspecified", +"lb unit.", +"kg unit." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Merchant API", +"version": "accounts_v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/networkmanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/networkmanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..38adaf6cfe81334b843000e4522a9aee34e35e10 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/networkmanagement.v1.json @@ -0,0 +1,3498 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://networkmanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Network Management", +"description": "The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "networkmanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://networkmanagement.mtls.googleapis.com/", +"name": "networkmanagement", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"global": { +"resources": { +"connectivityTests": { +"methods": { +"create": { +"description": "Creates a new Connectivity Test. After you create a test, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. If the endpoint specifications in `ConnectivityTest` are invalid (for example, containing non-existent resources in the network, or you don't have read permissions to the network configurations of listed projects), then the reachability result returns a value of `UNKNOWN`. If the endpoint specifications in `ConnectivityTest` are incomplete, the reachability result returns a value of AMBIGUOUS. For more information, see the Connectivity Test documentation.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.global.connectivityTests.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the Connectivity Test to create: `projects/{project_id}/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global$", +"required": true, +"type": "string" +}, +"testId": { +"description": "Required. The logical name of the Connectivity Test in your project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-40 characters. * Must end with a number or a letter. * Must be unique within the customer project", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/connectivityTests", +"request": { +"$ref": "ConnectivityTest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a specific `ConnectivityTest`.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", +"httpMethod": "DELETE", +"id": "networkmanagement.projects.locations.global.connectivityTests.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Connectivity Test resource name using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific Connectivity Test.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.global.connectivityTests.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. `ConnectivityTest` resource name using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ConnectivityTest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/global/connectivityTests/{connectivityTestsId}:getIamPolicy", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.global.connectivityTests.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Connectivity Tests owned by a project.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.global.connectivityTests.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the `ConnectivityTests` that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form ` ` where operators: `<`, `>`, `<=`, `>=`, `!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is roughly synonymous with equality). can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = \"projects/proj-1/locations/global/connectivityTests/test-1 - Filter by labels: - Resources that have a key called `foo` labels.foo:* - Resources that have a key called `foo` whose value is `bar` labels.foo = bar", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Number of `ConnectivityTests` to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token from an earlier query, as returned in `next_page_token`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the Connectivity Tests: `projects/{project_id}/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connectivityTests", +"response": { +"$ref": "ListConnectivityTestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the configuration of an existing `ConnectivityTest`. After you update a test, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. The Reachability state in the test resource is updated with the new result. If the endpoint specifications in `ConnectivityTest` are invalid (for example, they contain non-existent resources in the network, or the user does not have read permissions to the network configurations of listed projects), then the reachability result returns a value of UNKNOWN. If the endpoint specifications in `ConnectivityTest` are incomplete, the reachability result returns a value of `AMBIGUOUS`. See the documentation in `ConnectivityTest` for more details.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", +"httpMethod": "PATCH", +"id": "networkmanagement.projects.locations.global.connectivityTests.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Unique name of the resource using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ConnectivityTest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rerun": { +"description": "Rerun an existing `ConnectivityTest`. After the user triggers the rerun, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. Even though the test configuration remains the same, the reachability result may change due to underlying network configuration changes. If the endpoint specifications in `ConnectivityTest` become invalid (for example, specified resources are deleted in the network, or you lost read permissions to the network configurations of listed projects), then the reachability result returns a value of `UNKNOWN`.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:rerun", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.global.connectivityTests.rerun", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Connectivity Test resource name using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rerun", +"request": { +"$ref": "RerunConnectivityTestRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:setIamPolicy", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.global.connectivityTests.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:testIamPermissions", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.global.connectivityTests.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.global.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "networkmanagement.projects.locations.global.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.global.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/global/operations", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.global.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"vpcFlowLogsConfigs": { +"methods": { +"create": { +"description": "Creates a new `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Creating a configuration with state=DISABLED will fail 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - creating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the VPC Flow Logs configuration to create: `projects/{project_id}/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"vpcFlowLogsConfigId": { +"description": "Required. ID of the `VpcFlowLogsConfig`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/vpcFlowLogsConfigs", +"request": { +"$ref": "VpcFlowLogsConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a specific `VpcFlowLogsConfig`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", +"httpMethod": "DELETE", +"id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific `VpcFlowLogsConfig`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "VpcFlowLogsConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all `VpcFlowLogsConfigs` in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists the `VpcFlowLogsConfigs` that match the filter expression. A filter expression must use the supported [CEL logic operators] (https://cloud.google.com/vpc/docs/about-flow-logs-records#supported_cel_logic_operators).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Number of `VpcFlowLogsConfigs` to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page token from an earlier query, as returned in `next_page_token`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the VpcFlowLogsConfig: `projects/{project_id}/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/vpcFlowLogsConfigs", +"response": { +"$ref": "ListVpcFlowLogsConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Updating a configuration with state=DISABLED will fail. 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - updating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", +"httpMethod": "PATCH", +"id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "VpcFlowLogsConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://networkmanagement.googleapis.com/", +"schemas": { +"AbortInfo": { +"description": "Details of the final state \"abort\" and associated resource.", +"id": "AbortInfo", +"properties": { +"cause": { +"description": "Causes that the analysis is aborted.", +"enum": [ +"CAUSE_UNSPECIFIED", +"UNKNOWN_NETWORK", +"UNKNOWN_PROJECT", +"NO_EXTERNAL_IP", +"UNINTENDED_DESTINATION", +"SOURCE_ENDPOINT_NOT_FOUND", +"MISMATCHED_SOURCE_NETWORK", +"DESTINATION_ENDPOINT_NOT_FOUND", +"MISMATCHED_DESTINATION_NETWORK", +"UNKNOWN_IP", +"GOOGLE_MANAGED_SERVICE_UNKNOWN_IP", +"SOURCE_IP_ADDRESS_NOT_IN_SOURCE_NETWORK", +"PERMISSION_DENIED", +"PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS", +"PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS", +"PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS", +"NO_SOURCE_LOCATION", +"INVALID_ARGUMENT", +"TRACE_TOO_LONG", +"INTERNAL_ERROR", +"UNSUPPORTED", +"MISMATCHED_IP_VERSION", +"GKE_KONNECTIVITY_PROXY_UNSUPPORTED", +"RESOURCE_CONFIG_NOT_FOUND", +"VM_INSTANCE_CONFIG_NOT_FOUND", +"NETWORK_CONFIG_NOT_FOUND", +"FIREWALL_CONFIG_NOT_FOUND", +"ROUTE_CONFIG_NOT_FOUND", +"GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT", +"SOURCE_PSC_CLOUD_SQL_UNSUPPORTED", +"SOURCE_REDIS_CLUSTER_UNSUPPORTED", +"SOURCE_REDIS_INSTANCE_UNSUPPORTED", +"SOURCE_FORWARDING_RULE_UNSUPPORTED", +"NON_ROUTABLE_IP_ADDRESS", +"UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT", +"UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG" +], +"enumDeprecated": [ +false, +true, +true, +true, +true, +true, +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 +], +"enumDescriptions": [ +"Cause is unspecified.", +"Aborted due to unknown network. Deprecated, not used in the new tests.", +"Aborted because no project information can be derived from the test input. Deprecated, not used in the new tests.", +"Aborted because traffic is sent from a public IP to an instance without an external IP. Deprecated, not used in the new tests.", +"Aborted because none of the traces matches destination information specified in the input test request. Deprecated, not used in the new tests.", +"Aborted because the source endpoint could not be found. Deprecated, not used in the new tests.", +"Aborted because the source network does not match the source endpoint. Deprecated, not used in the new tests.", +"Aborted because the destination endpoint could not be found. Deprecated, not used in the new tests.", +"Aborted because the destination network does not match the destination endpoint. Deprecated, not used in the new tests.", +"Aborted because no endpoint with the packet's destination IP address is found.", +"Aborted because no endpoint with the packet's destination IP is found in the Google-managed project.", +"Aborted because the source IP address doesn't belong to any of the subnets of the source VPC network.", +"Aborted because user lacks permission to access all or part of the network configurations required to run the test.", +"Aborted because user lacks permission to access Cloud NAT configs required to run the test.", +"Aborted because user lacks permission to access Network endpoint group endpoint configs required to run the test.", +"Aborted because user lacks permission to access Cloud Router configs required to run the test.", +"Aborted because no valid source or destination endpoint is derived from the input test request.", +"Aborted because the source or destination endpoint specified in the request is invalid. Some examples: - The request might contain malformed resource URI, project ID, or IP address. - The request might contain inconsistent information (for example, the request might include both the instance and the network, but the instance might not have a NIC in that network).", +"Aborted because the number of steps in the trace exceeds a certain limit. It might be caused by a routing loop.", +"Aborted due to internal server error.", +"Aborted because the test scenario is not supported.", +"Aborted because the source and destination resources have no common IP version.", +"Aborted because the connection between the control plane and the node of the source cluster is initiated by the node and managed by the Konnectivity proxy.", +"Aborted because expected resource configuration was missing.", +"Aborted because expected VM instance configuration was missing.", +"Aborted because expected network configuration was missing.", +"Aborted because expected firewall configuration was missing.", +"Aborted because expected route configuration was missing.", +"Aborted because a PSC endpoint selection for the Google-managed service is ambiguous (several PSC endpoints satisfy test input).", +"Aborted because tests with a PSC-based Cloud SQL instance as a source are not supported.", +"Aborted because tests with a Redis Cluster as a source are not supported.", +"Aborted because tests with a Redis Instance as a source are not supported.", +"Aborted because tests with a forwarding rule as a source are not supported.", +"Aborted because one of the endpoints is a non-routable IP address (loopback, link-local, etc).", +"Aborted due to an unknown issue in the Google-managed project.", +"Aborted due to an unsupported configuration of the Google-managed project." +], +"type": "string" +}, +"ipAddress": { +"description": "IP address that caused the abort.", +"type": "string" +}, +"projectsMissingPermission": { +"description": "List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceUri": { +"description": "URI of the resource that caused the abort.", +"type": "string" +} +}, +"type": "object" +}, +"AppEngineVersionEndpoint": { +"description": "Wrapper for the App Engine service version attributes.", +"id": "AppEngineVersionEndpoint", +"properties": { +"uri": { +"description": "An [App Engine](https://cloud.google.com/appengine) [service version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions) name.", +"type": "string" +} +}, +"type": "object" +}, +"AppEngineVersionInfo": { +"description": "For display only. Metadata associated with an App Engine version.", +"id": "AppEngineVersionInfo", +"properties": { +"displayName": { +"description": "Name of an App Engine version.", +"type": "string" +}, +"environment": { +"description": "App Engine execution environment for a version.", +"type": "string" +}, +"runtime": { +"description": "Runtime of the App Engine version.", +"type": "string" +}, +"uri": { +"description": "URI of an App Engine version.", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudFunctionEndpoint": { +"description": "Wrapper for Cloud Function attributes.", +"id": "CloudFunctionEndpoint", +"properties": { +"uri": { +"description": "A [Cloud Function](https://cloud.google.com/functions) name.", +"type": "string" +} +}, +"type": "object" +}, +"CloudFunctionInfo": { +"description": "For display only. Metadata associated with a Cloud Function.", +"id": "CloudFunctionInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud Function.", +"type": "string" +}, +"location": { +"description": "Location in which the Cloud Function is deployed.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud Function.", +"type": "string" +}, +"versionId": { +"description": "Latest successfully deployed version id of the Cloud Function.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CloudRunRevisionEndpoint": { +"description": "Wrapper for Cloud Run revision attributes.", +"id": "CloudRunRevisionEndpoint", +"properties": { +"uri": { +"description": "A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}", +"type": "string" +} +}, +"type": "object" +}, +"CloudRunRevisionInfo": { +"description": "For display only. Metadata associated with a Cloud Run revision.", +"id": "CloudRunRevisionInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud Run revision.", +"type": "string" +}, +"location": { +"description": "Location in which this revision is deployed.", +"type": "string" +}, +"serviceUri": { +"description": "URI of Cloud Run service this revision belongs to.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud Run revision.", +"type": "string" +} +}, +"type": "object" +}, +"CloudSQLInstanceInfo": { +"description": "For display only. Metadata associated with a Cloud SQL instance.", +"id": "CloudSQLInstanceInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud SQL instance.", +"type": "string" +}, +"externalIp": { +"description": "External IP address of a Cloud SQL instance.", +"type": "string" +}, +"internalIp": { +"description": "Internal IP address of a Cloud SQL instance.", +"type": "string" +}, +"networkUri": { +"description": "URI of a Cloud SQL instance network or empty string if the instance does not have one.", +"type": "string" +}, +"region": { +"description": "Region in which the Cloud SQL instance is running.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud SQL instance.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectivityTest": { +"description": "A Connectivity Test for a network reachability analysis.", +"id": "ConnectivityTest", +"properties": { +"bypassFirewallChecks": { +"description": "Whether the test should skip firewall checking. If not provided, we assume false.", +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the test was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The user-supplied description of the Connectivity Test. Maximum of 512 characters.", +"type": "string" +}, +"destination": { +"$ref": "Endpoint", +"description": "Required. Destination specification of the Connectivity Test. You can use a combination of destination IP address, Compute Engine VM instance, or VPC network to uniquely identify the destination location. Even if the destination IP address is not unique, the source IP location is unique. Usually, the analysis can infer the destination endpoint from route information. If the destination you specify is a VM instance and the instance has multiple network interfaces, then you must also specify either a destination IP address or VPC network to identify the destination interface. A reachability analysis proceeds even if the destination location is ambiguous. However, the result can include endpoints that you don't intend to test." +}, +"displayName": { +"description": "Output only. The display name of a Connectivity Test.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user-provided metadata.", +"type": "object" +}, +"name": { +"description": "Identifier. Unique name of the resource using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}`", +"type": "string" +}, +"probingDetails": { +"$ref": "ProbingDetails", +"description": "Output only. The probing details of this test from the latest run, present for applicable tests only. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.", +"readOnly": true +}, +"protocol": { +"description": "IP Protocol of the test. When not provided, \"TCP\" is assumed.", +"type": "string" +}, +"reachabilityDetails": { +"$ref": "ReachabilityDetails", +"description": "Output only. The reachability details of this test from the latest run. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.", +"readOnly": true +}, +"relatedProjects": { +"description": "Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries.", +"items": { +"type": "string" +}, +"type": "array" +}, +"returnReachabilityDetails": { +"$ref": "ReachabilityDetails", +"description": "Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.", +"readOnly": true +}, +"roundTrip": { +"description": "Whether run analysis for the return path from destination to source. Default value is false.", +"type": "boolean" +}, +"source": { +"$ref": "Endpoint", +"description": "Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test." +}, +"updateTime": { +"description": "Output only. The time the test's configuration was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DeliverInfo": { +"description": "Details of the final state \"deliver\" and associated resource.", +"id": "DeliverInfo", +"properties": { +"ipAddress": { +"description": "IP address of the target (if applicable).", +"type": "string" +}, +"pscGoogleApiTarget": { +"description": "PSC Google API target the packet is delivered to (if applicable).", +"type": "string" +}, +"resourceUri": { +"description": "URI of the resource that the packet is delivered to.", +"type": "string" +}, +"storageBucket": { +"description": "Name of the Cloud Storage Bucket the packet is delivered to (if applicable).", +"type": "string" +}, +"target": { +"description": "Target type where the packet is delivered to.", +"enum": [ +"TARGET_UNSPECIFIED", +"INSTANCE", +"INTERNET", +"GOOGLE_API", +"GKE_MASTER", +"CLOUD_SQL_INSTANCE", +"PSC_PUBLISHED_SERVICE", +"PSC_GOOGLE_API", +"PSC_VPC_SC", +"SERVERLESS_NEG", +"STORAGE_BUCKET", +"PRIVATE_NETWORK", +"CLOUD_FUNCTION", +"APP_ENGINE_VERSION", +"CLOUD_RUN_REVISION", +"GOOGLE_MANAGED_SERVICE", +"REDIS_INSTANCE", +"REDIS_CLUSTER" +], +"enumDescriptions": [ +"Target not specified.", +"Target is a Compute Engine instance.", +"Target is the internet.", +"Target is a Google API.", +"Target is a Google Kubernetes Engine cluster master.", +"Target is a Cloud SQL instance.", +"Target is a published service that uses [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).", +"Target is Google APIs that use [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis).", +"Target is a VPC-SC that uses [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis).", +"Target is a serverless network endpoint group.", +"Target is a Cloud Storage bucket.", +"Target is a private network. Used only for return traces.", +"Target is a Cloud Function. Used only for return traces.", +"Target is a App Engine service version. Used only for return traces.", +"Target is a Cloud Run revision. Used only for return traces.", +"Target is a Google-managed service. Used only for return traces.", +"Target is a Redis Instance.", +"Target is a Redis Cluster." +], +"type": "string" +} +}, +"type": "object" +}, +"DropInfo": { +"description": "Details of the final state \"drop\" and associated resource.", +"id": "DropInfo", +"properties": { +"cause": { +"description": "Cause that the packet is dropped.", +"enum": [ +"CAUSE_UNSPECIFIED", +"UNKNOWN_EXTERNAL_ADDRESS", +"FOREIGN_IP_DISALLOWED", +"FIREWALL_RULE", +"NO_ROUTE", +"ROUTE_BLACKHOLE", +"ROUTE_WRONG_NETWORK", +"ROUTE_NEXT_HOP_IP_ADDRESS_NOT_RESOLVED", +"ROUTE_NEXT_HOP_RESOURCE_NOT_FOUND", +"ROUTE_NEXT_HOP_INSTANCE_WRONG_NETWORK", +"ROUTE_NEXT_HOP_INSTANCE_NON_PRIMARY_IP", +"ROUTE_NEXT_HOP_FORWARDING_RULE_IP_MISMATCH", +"ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED", +"ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID", +"NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS", +"VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH", +"VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH", +"PRIVATE_TRAFFIC_TO_INTERNET", +"PRIVATE_GOOGLE_ACCESS_DISALLOWED", +"PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED", +"NO_EXTERNAL_ADDRESS", +"UNKNOWN_INTERNAL_ADDRESS", +"FORWARDING_RULE_MISMATCH", +"FORWARDING_RULE_NO_INSTANCES", +"FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK", +"INSTANCE_NOT_RUNNING", +"GKE_CLUSTER_NOT_RUNNING", +"CLOUD_SQL_INSTANCE_NOT_RUNNING", +"REDIS_INSTANCE_NOT_RUNNING", +"REDIS_CLUSTER_NOT_RUNNING", +"TRAFFIC_TYPE_BLOCKED", +"GKE_MASTER_UNAUTHORIZED_ACCESS", +"CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", +"DROPPED_INSIDE_GKE_SERVICE", +"DROPPED_INSIDE_CLOUD_SQL_SERVICE", +"GOOGLE_MANAGED_SERVICE_NO_PEERING", +"GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT", +"GKE_PSC_ENDPOINT_MISSING", +"CLOUD_SQL_INSTANCE_NO_IP_ADDRESS", +"GKE_CONTROL_PLANE_REGION_MISMATCH", +"PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION", +"GKE_CONTROL_PLANE_NO_ROUTE", +"CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC", +"PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION", +"CLOUD_SQL_INSTANCE_NO_ROUTE", +"CLOUD_SQL_CONNECTOR_REQUIRED", +"CLOUD_FUNCTION_NOT_ACTIVE", +"VPC_CONNECTOR_NOT_SET", +"VPC_CONNECTOR_NOT_RUNNING", +"VPC_CONNECTOR_SERVERLESS_TRAFFIC_BLOCKED", +"VPC_CONNECTOR_HEALTH_CHECK_TRAFFIC_BLOCKED", +"FORWARDING_RULE_REGION_MISMATCH", +"PSC_CONNECTION_NOT_ACCEPTED", +"PSC_ENDPOINT_ACCESSED_FROM_PEERED_NETWORK", +"PSC_NEG_PRODUCER_ENDPOINT_NO_GLOBAL_ACCESS", +"PSC_NEG_PRODUCER_FORWARDING_RULE_MULTIPLE_PORTS", +"CLOUD_SQL_PSC_NEG_UNSUPPORTED", +"NO_NAT_SUBNETS_FOR_PSC_SERVICE_ATTACHMENT", +"PSC_TRANSITIVITY_NOT_PROPAGATED", +"HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED", +"HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED", +"CLOUD_RUN_REVISION_NOT_READY", +"DROPPED_INSIDE_PSC_SERVICE_PRODUCER", +"LOAD_BALANCER_HAS_NO_PROXY_SUBNET", +"CLOUD_NAT_NO_ADDRESSES", +"ROUTING_LOOP", +"DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE", +"LOAD_BALANCER_BACKEND_INVALID_NETWORK", +"BACKEND_SERVICE_NAMED_PORT_NOT_DEFINED", +"DESTINATION_IS_PRIVATE_NAT_IP_RANGE", +"DROPPED_INSIDE_REDIS_INSTANCE_SERVICE", +"REDIS_INSTANCE_UNSUPPORTED_PORT", +"REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS", +"REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK", +"REDIS_INSTANCE_NO_EXTERNAL_IP", +"REDIS_INSTANCE_UNSUPPORTED_PROTOCOL", +"DROPPED_INSIDE_REDIS_CLUSTER_SERVICE", +"REDIS_CLUSTER_UNSUPPORTED_PORT", +"REDIS_CLUSTER_NO_EXTERNAL_IP", +"REDIS_CLUSTER_UNSUPPORTED_PROTOCOL", +"NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION", +"NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION", +"NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION", +"PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED" +], +"enumDescriptions": [ +"Cause is unspecified.", +"Destination external address cannot be resolved to a known target. If the address is used in a Google Cloud project, provide the project ID as test input.", +"A Compute Engine instance can only send or receive a packet with a foreign IP address if ip_forward is enabled.", +"Dropped due to a firewall rule, unless allowed due to connection tracking.", +"Dropped due to no matching routes.", +"Dropped due to invalid route. Route's next hop is a blackhole.", +"Packet is sent to a wrong (unintended) network. Example: you trace a packet from VM1:Network1 to VM2:Network2, however, the route configured in Network1 sends the packet destined for VM2's IP address to Network3.", +"Route's next hop IP address cannot be resolved to a GCP resource.", +"Route's next hop resource is not found.", +"Route's next hop instance doesn't have a NIC in the route's network.", +"Route's next hop IP address is not a primary IP address of the next hop instance.", +"Route's next hop forwarding rule doesn't match next hop IP address.", +"Route's next hop VPN tunnel is down (does not have valid IKE SAs).", +"Route's next hop forwarding rule type is invalid (it's not a forwarding rule of the internal passthrough load balancer).", +"Packet is sent from the Internet to the private IPv6 address.", +"The packet does not match a policy-based VPN tunnel local selector.", +"The packet does not match a policy-based VPN tunnel remote selector.", +"Packet with internal destination address sent to the internet gateway.", +"Instance with only an internal IP address tries to access Google API and services, but private Google access is not enabled in the subnet.", +"Source endpoint tries to access Google API and services through the VPN tunnel to another network, but Private Google Access needs to be enabled in the source endpoint network.", +"Instance with only an internal IP address tries to access external hosts, but Cloud NAT is not enabled in the subnet, unless special configurations on a VM allow this connection.", +"Destination internal address cannot be resolved to a known target. If this is a shared VPC scenario, verify if the service project ID is provided as test input. Otherwise, verify if the IP address is being used in the project.", +"Forwarding rule's protocol and ports do not match the packet header.", +"Forwarding rule does not have backends configured.", +"Firewalls block the health check probes to the backends and cause the backends to be unavailable for traffic from the load balancer. For more details, see [Health check firewall rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules).", +"Packet is sent from or to a Compute Engine instance that is not in a running state.", +"Packet sent from or to a GKE cluster that is not in running state.", +"Packet sent from or to a Cloud SQL instance that is not in running state.", +"Packet sent from or to a Redis Instance that is not in running state.", +"Packet sent from or to a Redis Cluster that is not in running state.", +"The type of traffic is blocked and the user cannot configure a firewall rule to enable it. See [Always blocked traffic](https://cloud.google.com/vpc/docs/firewalls#blockedtraffic) for more details.", +"Access to Google Kubernetes Engine cluster master's endpoint is not authorized. See [Access to the cluster endpoints](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#access_to_the_cluster_endpoints) for more details.", +"Access to the Cloud SQL instance endpoint is not authorized. See [Authorizing with authorized networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for more details.", +"Packet was dropped inside Google Kubernetes Engine Service.", +"Packet was dropped inside Cloud SQL Service.", +"Packet was dropped because there is no peering between the originating network and the Google Managed Services Network.", +"Packet was dropped because the Google-managed service uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", +"Packet was dropped because the GKE cluster uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", +"Packet was dropped because the Cloud SQL instance has neither a private nor a public IP address.", +"Packet was dropped because a GKE cluster private endpoint is unreachable from a region different from the cluster's region.", +"Packet sent from a public GKE cluster control plane to a private IP address.", +"Packet was dropped because there is no route from a GKE cluster control plane to a destination network.", +"Packet sent from a Cloud SQL instance to an external IP address is not allowed. The Cloud SQL instance is not configured to send packets to external IP addresses.", +"Packet sent from a Cloud SQL instance with only a public IP address to a private IP address.", +"Packet was dropped because there is no route from a Cloud SQL instance to a destination network.", +"Packet was dropped because the Cloud SQL instance requires all connections to use Cloud SQL connectors and to target the Cloud SQL proxy port (3307).", +"Packet could be dropped because the Cloud Function is not in an active status.", +"Packet could be dropped because no VPC connector is set.", +"Packet could be dropped because the VPC connector is not in a running state.", +"Packet could be dropped because the traffic from the serverless service to the VPC connector is not allowed.", +"Packet could be dropped because the health check traffic to the VPC connector is not allowed.", +"Packet could be dropped because it was sent from a different region to a regional forwarding without global access.", +"The Private Service Connect endpoint is in a project that is not approved to connect to the service.", +"The packet is sent to the Private Service Connect endpoint over the peering, but [it's not supported](https://cloud.google.com/vpc/docs/configure-private-service-connect-services#on-premises).", +"The packet is sent to the Private Service Connect backend (network endpoint group), but the producer PSC forwarding rule does not have global access enabled.", +"The packet is sent to the Private Service Connect backend (network endpoint group), but the producer PSC forwarding rule has multiple ports specified.", +"The packet is sent to the Private Service Connect backend (network endpoint group) targeting a Cloud SQL service attachment, but this configuration is not supported.", +"No NAT subnets are defined for the PSC service attachment.", +"PSC endpoint is accessed via NCC, but PSC transitivity configuration is not yet propagated.", +"The packet sent from the hybrid NEG proxy matches a non-dynamic route, but such a configuration is not supported.", +"The packet sent from the hybrid NEG proxy matches a dynamic route with a next hop in a different region, but such a configuration is not supported.", +"Packet sent from a Cloud Run revision that is not ready.", +"Packet was dropped inside Private Service Connect service producer.", +"Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", +"Packet sent to Cloud Nat without active NAT IPs.", +"Packet is stuck in a routing loop.", +"Packet is dropped inside a Google-managed service due to being delivered in return trace to an endpoint that doesn't match the endpoint the packet was sent from in forward trace. Used only for return traces.", +"Packet is dropped due to a load balancer backend instance not having a network interface in the network expected by the load balancer.", +"Packet is dropped due to a backend service named port not being defined on the instance group level.", +"Packet is dropped due to a destination IP range being part of a Private NAT IP range.", +"Generic drop cause for a packet being dropped inside a Redis Instance service project.", +"Packet is dropped due to an unsupported port being used to connect to a Redis Instance. Port 6379 should be used to connect to a Redis Instance.", +"Packet is dropped due to connecting from PUPI address to a PSA based Redis Instance.", +"Packet is dropped due to no route to the destination network.", +"Redis Instance does not have an external IP address.", +"Packet is dropped due to an unsupported protocol being used to connect to a Redis Instance. Only TCP connections are accepted by a Redis Instance.", +"Generic drop cause for a packet being dropped inside a Redis Cluster service project.", +"Packet is dropped due to an unsupported port being used to connect to a Redis Cluster. Ports 6379 and 11000 to 13047 should be used to connect to a Redis Cluster.", +"Redis Cluster does not have an external IP address.", +"Packet is dropped due to an unsupported protocol being used to connect to a Redis Cluster. Only TCP connections are accepted by a Redis Cluster.", +"Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix advertised via BGP by the Cloud Router.", +"Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix included to the local traffic selector of the VPN tunnel.", +"Packet from the unknown peered network is dropped due to no known route from the source network to the destination IP address.", +"Sending packets processed by the Private NAT Gateways to the Private Service Connect endpoints is not supported." +], +"type": "string" +}, +"destinationIp": { +"description": "Destination IP address of the dropped packet (if relevant).", +"type": "string" +}, +"region": { +"description": "Region of the dropped packet (if relevant).", +"type": "string" +}, +"resourceUri": { +"description": "URI of the resource that caused the drop.", +"type": "string" +}, +"sourceIp": { +"description": "Source IP address of the dropped packet (if relevant).", +"type": "string" +} +}, +"type": "object" +}, +"EdgeLocation": { +"description": "Representation of a network edge location as per https://cloud.google.com/vpc/docs/edge-locations.", +"id": "EdgeLocation", +"properties": { +"metropolitanArea": { +"description": "Name of the metropolitan area.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Endpoint": { +"description": "Source or destination of the Connectivity Test.", +"id": "Endpoint", +"properties": { +"appEngineVersion": { +"$ref": "AppEngineVersionEndpoint", +"description": "An [App Engine](https://cloud.google.com/appengine) [service version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)." +}, +"cloudFunction": { +"$ref": "CloudFunctionEndpoint", +"description": "A [Cloud Function](https://cloud.google.com/functions)." +}, +"cloudRunRevision": { +"$ref": "CloudRunRevisionEndpoint", +"description": "A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get)" +}, +"cloudSqlInstance": { +"description": "A [Cloud SQL](https://cloud.google.com/sql) instance URI.", +"type": "string" +}, +"forwardingRule": { +"description": "A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Format: projects/{project}/global/forwardingRules/{id} or projects/{project}/regions/{region}/forwardingRules/{id}", +"type": "string" +}, +"forwardingRuleTarget": { +"description": "Output only. Specifies the type of the target of the forwarding rule.", +"enum": [ +"FORWARDING_RULE_TARGET_UNSPECIFIED", +"INSTANCE", +"LOAD_BALANCER", +"VPN_GATEWAY", +"PSC" +], +"enumDescriptions": [ +"Forwarding rule target is unknown.", +"Compute Engine instance for protocol forwarding.", +"Load Balancer. The specific type can be found from load_balancer_type.", +"Classic Cloud VPN Gateway.", +"Forwarding Rule is a Private Service Connect endpoint." +], +"readOnly": true, +"type": "string" +}, +"fqdn": { +"description": "DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.", +"type": "string" +}, +"gkeMasterCluster": { +"description": "A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", +"type": "string" +}, +"instance": { +"description": "A Compute Engine instance URI.", +"type": "string" +}, +"ipAddress": { +"description": "The IP address of the endpoint, which can be an external or internal IP.", +"type": "string" +}, +"loadBalancerId": { +"description": "Output only. ID of the load balancer the forwarding rule points to. Empty for forwarding rules not related to load balancers.", +"readOnly": true, +"type": "string" +}, +"loadBalancerType": { +"description": "Output only. Type of the load balancer the forwarding rule points to.", +"enum": [ +"LOAD_BALANCER_TYPE_UNSPECIFIED", +"HTTPS_ADVANCED_LOAD_BALANCER", +"HTTPS_LOAD_BALANCER", +"REGIONAL_HTTPS_LOAD_BALANCER", +"INTERNAL_HTTPS_LOAD_BALANCER", +"SSL_PROXY_LOAD_BALANCER", +"TCP_PROXY_LOAD_BALANCER", +"INTERNAL_TCP_PROXY_LOAD_BALANCER", +"NETWORK_LOAD_BALANCER", +"LEGACY_NETWORK_LOAD_BALANCER", +"TCP_UDP_INTERNAL_LOAD_BALANCER" +], +"enumDescriptions": [ +"Forwarding rule points to a different target than a load balancer or a load balancer type is unknown.", +"Global external HTTP(S) load balancer.", +"Global external HTTP(S) load balancer (classic)", +"Regional external HTTP(S) load balancer.", +"Internal HTTP(S) load balancer.", +"External SSL proxy load balancer.", +"External TCP proxy load balancer.", +"Internal regional TCP proxy load balancer.", +"External TCP/UDP Network load balancer.", +"Target-pool based external TCP/UDP Network load balancer.", +"Internal TCP/UDP load balancer." +], +"readOnly": true, +"type": "string" +}, +"network": { +"description": "A Compute Engine network URI.", +"type": "string" +}, +"networkType": { +"description": "Type of the network where the endpoint is located. Applicable only to source endpoint, as destination network type can be inferred from the source.", +"enum": [ +"NETWORK_TYPE_UNSPECIFIED", +"GCP_NETWORK", +"NON_GCP_NETWORK" +], +"enumDescriptions": [ +"Default type if unspecified.", +"A network hosted within Google Cloud. To receive more detailed output, specify the URI for the source or destination network.", +"A network hosted outside of Google Cloud. This can be an on-premises network, or a network hosted by another cloud provider." +], +"type": "string" +}, +"port": { +"description": "The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"projectId": { +"description": "Project ID where the endpoint is located. The Project ID can be derived from the URI if you provide a VM instance or network URI. The following are two cases where you must provide the project ID: 1. Only the IP address is specified, and the IP address is within a Google Cloud project. 2. When you are using Shared VPC and the IP address that you provide is from the service project. In this case, the network that the IP address resides in is defined in the host project.", +"type": "string" +}, +"redisCluster": { +"description": "A [Redis Cluster](https://cloud.google.com/memorystore/docs/cluster) URI.", +"type": "string" +}, +"redisInstance": { +"description": "A [Redis Instance](https://cloud.google.com/memorystore/docs/redis) URI.", +"type": "string" +} +}, +"type": "object" +}, +"EndpointInfo": { +"description": "For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model.", +"id": "EndpointInfo", +"properties": { +"destinationIp": { +"description": "Destination IP address.", +"type": "string" +}, +"destinationNetworkUri": { +"description": "URI of the network where this packet is sent to.", +"type": "string" +}, +"destinationPort": { +"description": "Destination port. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"protocol": { +"description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", +"type": "string" +}, +"sourceAgentUri": { +"description": "URI of the source telemetry agent this packet originates from.", +"type": "string" +}, +"sourceIp": { +"description": "Source IP address.", +"type": "string" +}, +"sourceNetworkUri": { +"description": "URI of the network where this packet originates from.", +"type": "string" +}, +"sourcePort": { +"description": "Source port. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"FirewallInfo": { +"description": "For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule.", +"id": "FirewallInfo", +"properties": { +"action": { +"description": "Possible values: ALLOW, DENY, APPLY_SECURITY_PROFILE_GROUP", +"type": "string" +}, +"direction": { +"description": "Possible values: INGRESS, EGRESS", +"type": "string" +}, +"displayName": { +"description": "The display name of the firewall rule. This field might be empty for firewall policy rules.", +"type": "string" +}, +"firewallRuleType": { +"description": "The firewall rule's type.", +"enum": [ +"FIREWALL_RULE_TYPE_UNSPECIFIED", +"HIERARCHICAL_FIREWALL_POLICY_RULE", +"VPC_FIREWALL_RULE", +"IMPLIED_VPC_FIREWALL_RULE", +"SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE", +"NETWORK_FIREWALL_POLICY_RULE", +"NETWORK_REGIONAL_FIREWALL_POLICY_RULE", +"UNSUPPORTED_FIREWALL_POLICY_RULE", +"TRACKING_STATE", +"ANALYSIS_SKIPPED" +], +"enumDescriptions": [ +"Unspecified type.", +"Hierarchical firewall policy rule. For details, see [Hierarchical firewall policies overview](https://cloud.google.com/vpc/docs/firewall-policies).", +"VPC firewall rule. For details, see [VPC firewall rules overview](https://cloud.google.com/vpc/docs/firewalls).", +"Implied VPC firewall rule. For details, see [Implied rules](https://cloud.google.com/vpc/docs/firewalls#default_firewall_rules).", +"Implicit firewall rules that are managed by serverless VPC access to allow ingress access. They are not visible in the Google Cloud console. For details, see [VPC connector's implicit rules](https://cloud.google.com/functions/docs/networking/connecting-vpc#restrict-access).", +"Global network firewall policy rule. For details, see [Network firewall policies](https://cloud.google.com/vpc/docs/network-firewall-policies).", +"Regional network firewall policy rule. For details, see [Regional network firewall policies](https://cloud.google.com/firewall/docs/regional-firewall-policies).", +"Firewall policy rule containing attributes not yet supported in Connectivity tests. Firewall analysis is skipped if such a rule can potentially be matched. Please see the [list of unsupported configurations](https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/concepts/overview#unsupported-configs).", +"Tracking state for response traffic created when request traffic goes through allow firewall rule. For details, see [firewall rules specifications](https://cloud.google.com/firewall/docs/firewalls#specifications)", +"Firewall analysis was skipped due to executing Connectivity Test in the BypassFirewallChecks mode" +], +"type": "string" +}, +"networkUri": { +"description": "The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.", +"type": "string" +}, +"policy": { +"description": "The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.", +"type": "string" +}, +"policyUri": { +"description": "The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.", +"type": "string" +}, +"priority": { +"description": "The priority of the firewall rule.", +"format": "int32", +"type": "integer" +}, +"targetServiceAccounts": { +"description": "The target service accounts specified by the firewall rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetTags": { +"description": "The target tags defined by the VPC firewall rule. This field is not applicable to firewall policy rules.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.", +"type": "string" +} +}, +"type": "object" +}, +"ForwardInfo": { +"description": "Details of the final state \"forward\" and associated resource.", +"id": "ForwardInfo", +"properties": { +"ipAddress": { +"description": "IP address of the target (if applicable).", +"type": "string" +}, +"resourceUri": { +"description": "URI of the resource that the packet is forwarded to.", +"type": "string" +}, +"target": { +"description": "Target type where this packet is forwarded to.", +"enum": [ +"TARGET_UNSPECIFIED", +"PEERING_VPC", +"VPN_GATEWAY", +"INTERCONNECT", +"GKE_MASTER", +"IMPORTED_CUSTOM_ROUTE_NEXT_HOP", +"CLOUD_SQL_INSTANCE", +"ANOTHER_PROJECT", +"NCC_HUB", +"ROUTER_APPLIANCE" +], +"enumDeprecated": [ +false, +false, +false, +false, +true, +false, +true, +false, +false, +false +], +"enumDescriptions": [ +"Target not specified.", +"Forwarded to a VPC peering network.", +"Forwarded to a Cloud VPN gateway.", +"Forwarded to a Cloud Interconnect connection.", +"Forwarded to a Google Kubernetes Engine Container cluster master.", +"Forwarded to the next hop of a custom route imported from a peering VPC.", +"Forwarded to a Cloud SQL instance.", +"Forwarded to a VPC network in another project.", +"Forwarded to an NCC Hub.", +"Forwarded to a router appliance." +], +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleInfo": { +"description": "For display only. Metadata associated with a Compute Engine forwarding rule.", +"id": "ForwardingRuleInfo", +"properties": { +"displayName": { +"description": "Name of the forwarding rule.", +"type": "string" +}, +"loadBalancerName": { +"description": "Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).", +"type": "string" +}, +"matchedPortRange": { +"description": "Port range defined in the forwarding rule that matches the packet.", +"type": "string" +}, +"matchedProtocol": { +"description": "Protocol defined in the forwarding rule that matches the packet.", +"type": "string" +}, +"networkUri": { +"description": "Network URI.", +"type": "string" +}, +"pscGoogleApiTarget": { +"description": "PSC Google API target this forwarding rule targets (if applicable).", +"type": "string" +}, +"pscServiceAttachmentUri": { +"description": "URI of the PSC service attachment this forwarding rule targets (if applicable).", +"type": "string" +}, +"region": { +"description": "Region of the forwarding rule. Set only for regional forwarding rules.", +"type": "string" +}, +"target": { +"description": "Target type of the forwarding rule.", +"type": "string" +}, +"uri": { +"description": "URI of the forwarding rule.", +"type": "string" +}, +"vip": { +"description": "VIP of the forwarding rule.", +"type": "string" +} +}, +"type": "object" +}, +"GKEMasterInfo": { +"description": "For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master.", +"id": "GKEMasterInfo", +"properties": { +"clusterNetworkUri": { +"description": "URI of a GKE cluster network.", +"type": "string" +}, +"clusterUri": { +"description": "URI of a GKE cluster.", +"type": "string" +}, +"dnsEndpoint": { +"description": "DNS endpoint of a GKE cluster control plane.", +"type": "string" +}, +"externalIp": { +"description": "External IP address of a GKE cluster control plane.", +"type": "string" +}, +"internalIp": { +"description": "Internal IP address of a GKE cluster control plane.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleServiceInfo": { +"description": "For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths", +"id": "GoogleServiceInfo", +"properties": { +"googleServiceType": { +"description": "Recognized type of a Google Service.", +"enum": [ +"GOOGLE_SERVICE_TYPE_UNSPECIFIED", +"IAP", +"GFE_PROXY_OR_HEALTH_CHECK_PROBER", +"CLOUD_DNS", +"GOOGLE_API", +"GOOGLE_API_PSC", +"GOOGLE_API_VPC_SC" +], +"enumDescriptions": [ +"Unspecified Google Service.", +"Identity aware proxy. https://cloud.google.com/iap/docs/using-tcp-forwarding", +"One of two services sharing IP ranges: * Load Balancer proxy * Centralized Health Check prober https://cloud.google.com/load-balancing/docs/firewall-rules", +"Connectivity from Cloud DNS to forwarding targets or alternate name servers that use private routing. https://cloud.google.com/dns/docs/zones/forwarding-zones#firewall-rules https://cloud.google.com/dns/docs/policies#firewall-rules", +"private.googleapis.com and restricted.googleapis.com", +"Google API via Private Service Connect. https://cloud.google.com/vpc/docs/configure-private-service-connect-apis", +"Google API via VPC Service Controls. https://cloud.google.com/vpc/docs/configure-private-service-connect-apis" +], +"type": "string" +}, +"sourceIp": { +"description": "Source IP address.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceInfo": { +"description": "For display only. Metadata associated with a Compute Engine instance.", +"id": "InstanceInfo", +"properties": { +"displayName": { +"description": "Name of a Compute Engine instance.", +"type": "string" +}, +"externalIp": { +"description": "External IP address of the network interface.", +"type": "string" +}, +"interface": { +"description": "Name of the network interface of a Compute Engine instance.", +"type": "string" +}, +"internalIp": { +"description": "Internal IP address of the network interface.", +"type": "string" +}, +"networkTags": { +"description": "Network tags configured on the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"networkUri": { +"description": "URI of a Compute Engine network.", +"type": "string" +}, +"pscNetworkAttachmentUri": { +"description": "URI of the PSC network attachment the NIC is attached to (if relevant).", +"type": "string" +}, +"serviceAccount": { +"deprecated": true, +"description": "Service account authorized for the instance.", +"type": "string" +}, +"uri": { +"description": "URI of a Compute Engine instance.", +"type": "string" +} +}, +"type": "object" +}, +"LatencyDistribution": { +"description": "Describes measured latency distribution.", +"id": "LatencyDistribution", +"properties": { +"latencyPercentiles": { +"description": "Representative latency percentiles.", +"items": { +"$ref": "LatencyPercentile" +}, +"type": "array" +} +}, +"type": "object" +}, +"LatencyPercentile": { +"description": "Latency percentile rank and value.", +"id": "LatencyPercentile", +"properties": { +"latencyMicros": { +"description": "percent-th percentile of latency observed, in microseconds. Fraction of percent/100 of samples have latency lower or equal to the value of this field.", +"format": "int64", +"type": "string" +}, +"percent": { +"description": "Percentage of samples this data point applies to.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListConnectivityTestsResponse": { +"description": "Response for the `ListConnectivityTests` method.", +"id": "ListConnectivityTestsResponse", +"properties": { +"nextPageToken": { +"description": "Page token to fetch the next set of Connectivity Tests.", +"type": "string" +}, +"resources": { +"description": "List of Connectivity Tests.", +"items": { +"$ref": "ConnectivityTest" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached (when querying all locations with `-`).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVpcFlowLogsConfigsResponse": { +"description": "Response for the `ListVpcFlowLogsConfigs` method.", +"id": "ListVpcFlowLogsConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Page token to fetch the next set of configurations.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached (when querying all locations with `-`).", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcFlowLogsConfigs": { +"description": "List of VPC Flow Log configurations.", +"items": { +"$ref": "VpcFlowLogsConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoadBalancerBackend": { +"description": "For display only. Metadata associated with a specific load balancer backend.", +"id": "LoadBalancerBackend", +"properties": { +"displayName": { +"description": "Name of a Compute Engine instance or network endpoint.", +"type": "string" +}, +"healthCheckAllowingFirewallRules": { +"description": "A list of firewall rule URIs allowing probes from health check IP ranges.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthCheckBlockingFirewallRules": { +"description": "A list of firewall rule URIs blocking probes from health check IP ranges.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthCheckFirewallState": { +"description": "State of the health check firewall configuration.", +"enum": [ +"HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED", +"CONFIGURED", +"MISCONFIGURED" +], +"enumDescriptions": [ +"State is unspecified. Default state if not populated.", +"There are configured firewall rules to allow health check probes to the backend.", +"There are firewall rules configured to allow partial health check ranges or block all health check ranges. If a health check probe is sent from denied IP ranges, the health check to the backend will fail. Then, the backend will be marked unhealthy and will not receive traffic sent to the load balancer." +], +"type": "string" +}, +"uri": { +"description": "URI of a Compute Engine instance or network endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"LoadBalancerBackendInfo": { +"description": "For display only. Metadata associated with the load balancer backend.", +"id": "LoadBalancerBackendInfo", +"properties": { +"backendBucketUri": { +"description": "URI of the backend bucket this backend targets (if applicable).", +"type": "string" +}, +"backendServiceUri": { +"description": "URI of the backend service this backend belongs to (if applicable).", +"type": "string" +}, +"healthCheckFirewallsConfigState": { +"description": "Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules", +"enum": [ +"HEALTH_CHECK_FIREWALLS_CONFIG_STATE_UNSPECIFIED", +"FIREWALLS_CONFIGURED", +"FIREWALLS_PARTIALLY_CONFIGURED", +"FIREWALLS_NOT_CONFIGURED", +"FIREWALLS_UNSUPPORTED" +], +"enumDescriptions": [ +"Configuration state unspecified. It usually means that the backend has no health check attached, or there was an unexpected configuration error preventing Connectivity tests from verifying health check configuration.", +"Firewall rules (policies) allowing health check traffic from all required IP ranges to the backend are configured.", +"Firewall rules (policies) allow health check traffic only from a part of required IP ranges.", +"Firewall rules (policies) deny health check traffic from all required IP ranges to the backend.", +"The network contains firewall rules of unsupported types, so Connectivity tests were not able to verify health check configuration status. Please refer to the documentation for the list of unsupported configurations: https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/concepts/overview#unsupported-configs" +], +"readOnly": true, +"type": "string" +}, +"healthCheckUri": { +"description": "URI of the health check attached to this backend (if applicable).", +"type": "string" +}, +"instanceGroupUri": { +"description": "URI of the instance group this backend belongs to (if applicable).", +"type": "string" +}, +"instanceUri": { +"description": "URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.", +"type": "string" +}, +"name": { +"description": "Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.", +"type": "string" +}, +"networkEndpointGroupUri": { +"description": "URI of the network endpoint group this backend belongs to (if applicable).", +"type": "string" +}, +"pscGoogleApiTarget": { +"description": "PSC Google API target this PSC NEG backend targets (if applicable).", +"type": "string" +}, +"pscServiceAttachmentUri": { +"description": "URI of the PSC service attachment this PSC NEG backend targets (if applicable).", +"type": "string" +} +}, +"type": "object" +}, +"LoadBalancerInfo": { +"description": "For display only. Metadata associated with a load balancer.", +"id": "LoadBalancerInfo", +"properties": { +"backendType": { +"description": "Type of load balancer's backend configuration.", +"enum": [ +"BACKEND_TYPE_UNSPECIFIED", +"BACKEND_SERVICE", +"TARGET_POOL", +"TARGET_INSTANCE" +], +"enumDescriptions": [ +"Type is unspecified.", +"Backend Service as the load balancer's backend.", +"Target Pool as the load balancer's backend.", +"Target Instance as the load balancer's backend." +], +"type": "string" +}, +"backendUri": { +"description": "Backend configuration URI.", +"type": "string" +}, +"backends": { +"description": "Information for the loadbalancer backends.", +"items": { +"$ref": "LoadBalancerBackend" +}, +"type": "array" +}, +"healthCheckUri": { +"deprecated": true, +"description": "URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.", +"type": "string" +}, +"loadBalancerType": { +"description": "Type of the load balancer.", +"enum": [ +"LOAD_BALANCER_TYPE_UNSPECIFIED", +"INTERNAL_TCP_UDP", +"NETWORK_TCP_UDP", +"HTTP_PROXY", +"TCP_PROXY", +"SSL_PROXY" +], +"enumDescriptions": [ +"Type is unspecified.", +"Internal TCP/UDP load balancer.", +"Network TCP/UDP load balancer.", +"HTTP(S) proxy load balancer.", +"TCP proxy load balancer.", +"SSL proxy load balancer." +], +"type": "string" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"NatInfo": { +"description": "For display only. Metadata associated with NAT.", +"id": "NatInfo", +"properties": { +"natGatewayName": { +"description": "The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.", +"type": "string" +}, +"networkUri": { +"description": "URI of the network where NAT translation takes place.", +"type": "string" +}, +"newDestinationIp": { +"description": "Destination IP address after NAT translation.", +"type": "string" +}, +"newDestinationPort": { +"description": "Destination port after NAT translation. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"newSourceIp": { +"description": "Source IP address after NAT translation.", +"type": "string" +}, +"newSourcePort": { +"description": "Source port after NAT translation. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"oldDestinationIp": { +"description": "Destination IP address before NAT translation.", +"type": "string" +}, +"oldDestinationPort": { +"description": "Destination port before NAT translation. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"oldSourceIp": { +"description": "Source IP address before NAT translation.", +"type": "string" +}, +"oldSourcePort": { +"description": "Source port before NAT translation. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"protocol": { +"description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", +"type": "string" +}, +"routerUri": { +"description": "Uri of the Cloud Router. Only valid when type is CLOUD_NAT.", +"type": "string" +}, +"type": { +"description": "Type of NAT.", +"enum": [ +"TYPE_UNSPECIFIED", +"INTERNAL_TO_EXTERNAL", +"EXTERNAL_TO_INTERNAL", +"CLOUD_NAT", +"PRIVATE_SERVICE_CONNECT" +], +"enumDescriptions": [ +"Type is unspecified.", +"From Compute Engine instance's internal address to external address.", +"From Compute Engine instance's external address to internal address.", +"Cloud NAT Gateway.", +"Private service connect NAT." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkInfo": { +"description": "For display only. Metadata associated with a Compute Engine network. Next ID: 7", +"id": "NetworkInfo", +"properties": { +"displayName": { +"description": "Name of a Compute Engine network.", +"type": "string" +}, +"matchedIpRange": { +"description": "The IP range of the subnet matching the source IP address of the test.", +"type": "string" +}, +"matchedSubnetUri": { +"description": "URI of the subnet matching the source IP address of the test.", +"type": "string" +}, +"region": { +"description": "The region of the subnet matching the source IP address of the test.", +"type": "string" +}, +"uri": { +"description": "URI of a Compute Engine network.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata describing an Operation", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version.", +"type": "string" +}, +"cancelRequested": { +"description": "Specifies if cancellation was requested for the operation.", +"type": "boolean" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"statusDetail": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Target of the operation - for example projects/project-1/locations/global/connectivityTests/test-1", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ProbingDetails": { +"description": "Results of active probing from the last run of the test.", +"id": "ProbingDetails", +"properties": { +"abortCause": { +"description": "The reason probing was aborted.", +"enum": [ +"PROBING_ABORT_CAUSE_UNSPECIFIED", +"PERMISSION_DENIED", +"NO_SOURCE_LOCATION" +], +"enumDescriptions": [ +"No reason was specified.", +"The user lacks permission to access some of the network resources required to run the test.", +"No valid source endpoint could be derived from the request." +], +"type": "string" +}, +"destinationEgressLocation": { +"$ref": "EdgeLocation", +"description": "The EdgeLocation from which a packet destined for/originating from the internet will egress/ingress the Google network. This will only be populated for a connectivity test which has an internet destination/source address. The absence of this field *must not* be used as an indication that the destination/source is part of the Google network." +}, +"endpointInfo": { +"$ref": "EndpointInfo", +"description": "The source and destination endpoints derived from the test input and used for active probing." +}, +"error": { +"$ref": "Status", +"description": "Details about an internal failure or the cancellation of active probing." +}, +"probingLatency": { +"$ref": "LatencyDistribution", +"description": "Latency as measured by active probing in one direction: from the source to the destination endpoint." +}, +"result": { +"description": "The overall result of active probing.", +"enum": [ +"PROBING_RESULT_UNSPECIFIED", +"REACHABLE", +"UNREACHABLE", +"REACHABILITY_INCONSISTENT", +"UNDETERMINED" +], +"enumDescriptions": [ +"No result was specified.", +"At least 95% of packets reached the destination.", +"No packets reached the destination.", +"Less than 95% of packets reached the destination.", +"Reachability could not be determined. Possible reasons are: * The user lacks permission to access some of the network resources required to run the test. * No valid source endpoint could be derived from the request. * An internal error occurred." +], +"type": "string" +}, +"sentProbeCount": { +"description": "Number of probes sent.", +"format": "int32", +"type": "integer" +}, +"successfulProbeCount": { +"description": "Number of probes that reached the destination.", +"format": "int32", +"type": "integer" +}, +"verifyTime": { +"description": "The time that reachability was assessed through active probing.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ProxyConnectionInfo": { +"description": "For display only. Metadata associated with ProxyConnection.", +"id": "ProxyConnectionInfo", +"properties": { +"networkUri": { +"description": "URI of the network where connection is proxied.", +"type": "string" +}, +"newDestinationIp": { +"description": "Destination IP address of a new connection.", +"type": "string" +}, +"newDestinationPort": { +"description": "Destination port of a new connection. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"newSourceIp": { +"description": "Source IP address of a new connection.", +"type": "string" +}, +"newSourcePort": { +"description": "Source port of a new connection. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"oldDestinationIp": { +"description": "Destination IP address of an original connection", +"type": "string" +}, +"oldDestinationPort": { +"description": "Destination port of an original connection. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"oldSourceIp": { +"description": "Source IP address of an original connection.", +"type": "string" +}, +"oldSourcePort": { +"description": "Source port of an original connection. Only valid when protocol is TCP or UDP.", +"format": "int32", +"type": "integer" +}, +"protocol": { +"description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", +"type": "string" +}, +"subnetUri": { +"description": "Uri of proxy subnet.", +"type": "string" +} +}, +"type": "object" +}, +"ReachabilityDetails": { +"description": "Results of the configuration analysis from the last run of the test.", +"id": "ReachabilityDetails", +"properties": { +"error": { +"$ref": "Status", +"description": "The details of a failure or a cancellation of reachability analysis." +}, +"result": { +"description": "The overall result of the test's configuration analysis.", +"enum": [ +"RESULT_UNSPECIFIED", +"REACHABLE", +"UNREACHABLE", +"AMBIGUOUS", +"UNDETERMINED" +], +"enumDescriptions": [ +"No result was specified.", +"Possible scenarios are: * The configuration analysis determined that a packet originating from the source is expected to reach the destination. * The analysis didn't complete because the user lacks permission for some of the resources in the trace. However, at the time the user's permission became insufficient, the trace had been successful so far.", +"A packet originating from the source is expected to be dropped before reaching the destination.", +"The source and destination endpoints do not uniquely identify the test location in the network, and the reachability result contains multiple traces. For some traces, a packet could be delivered, and for others, it would not be. This result is also assigned to configuration analysis of return path if on its own it should be REACHABLE, but configuration analysis of forward path is AMBIGUOUS.", +"The configuration analysis did not complete. Possible reasons are: * A permissions error occurred--for example, the user might not have read permission for all of the resources named in the test. * An internal error occurred. * The analyzer received an invalid or unsupported argument or was unable to identify a known endpoint." +], +"type": "string" +}, +"traces": { +"description": "Result may contain a list of traces if a test has multiple possible paths in the network, such as when destination endpoint is a load balancer with multiple backends.", +"items": { +"$ref": "Trace" +}, +"type": "array" +}, +"verifyTime": { +"description": "The time of the configuration analysis.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RedisClusterInfo": { +"description": "For display only. Metadata associated with a Redis Cluster.", +"id": "RedisClusterInfo", +"properties": { +"discoveryEndpointIpAddress": { +"description": "Discovery endpoint IP address of a Redis Cluster.", +"type": "string" +}, +"displayName": { +"description": "Name of a Redis Cluster.", +"type": "string" +}, +"location": { +"description": "Name of the region in which the Redis Cluster is defined. For example, \"us-central1\".", +"type": "string" +}, +"networkUri": { +"description": "URI of a Redis Cluster network in format \"projects/{project_id}/global/networks/{network_id}\".", +"type": "string" +}, +"secondaryEndpointIpAddress": { +"description": "Secondary endpoint IP address of a Redis Cluster.", +"type": "string" +}, +"uri": { +"description": "URI of a Redis Cluster in format \"projects/{project_id}/locations/{location}/clusters/{cluster_id}\"", +"type": "string" +} +}, +"type": "object" +}, +"RedisInstanceInfo": { +"description": "For display only. Metadata associated with a Cloud Redis Instance.", +"id": "RedisInstanceInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud Redis Instance.", +"type": "string" +}, +"networkUri": { +"description": "URI of a Cloud Redis Instance network.", +"type": "string" +}, +"primaryEndpointIp": { +"description": "Primary endpoint IP address of a Cloud Redis Instance.", +"type": "string" +}, +"readEndpointIp": { +"description": "Read endpoint IP address of a Cloud Redis Instance (if applicable).", +"type": "string" +}, +"region": { +"description": "Region in which the Cloud Redis Instance is defined.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud Redis Instance.", +"type": "string" +} +}, +"type": "object" +}, +"RerunConnectivityTestRequest": { +"description": "Request for the `RerunConnectivityTest` method.", +"id": "RerunConnectivityTestRequest", +"properties": {}, +"type": "object" +}, +"RouteInfo": { +"description": "For display only. Metadata associated with a Compute Engine route.", +"id": "RouteInfo", +"properties": { +"advertisedRouteNextHopUri": { +"deprecated": true, +"description": "For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.", +"type": "string" +}, +"advertisedRouteSourceRouterUri": { +"description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.", +"type": "string" +}, +"destIpRange": { +"description": "Destination IP range of the route.", +"type": "string" +}, +"destPortRanges": { +"description": "Destination port ranges of the route. POLICY_BASED routes only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Name of a route.", +"type": "string" +}, +"instanceTags": { +"description": "Instance tags of the route.", +"items": { +"type": "string" +}, +"type": "array" +}, +"nccHubRouteUri": { +"description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table.", +"type": "string" +}, +"nccHubUri": { +"description": "URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", +"type": "string" +}, +"nccSpokeUri": { +"description": "URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", +"type": "string" +}, +"networkUri": { +"description": "URI of a VPC network where route is located.", +"type": "string" +}, +"nextHop": { +"deprecated": true, +"description": "String type of the next hop of the route (for example, \"VPN tunnel\"). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.", +"type": "string" +}, +"nextHopNetworkUri": { +"description": "URI of a VPC network where the next hop resource is located.", +"type": "string" +}, +"nextHopType": { +"description": "Type of next hop.", +"enum": [ +"NEXT_HOP_TYPE_UNSPECIFIED", +"NEXT_HOP_IP", +"NEXT_HOP_INSTANCE", +"NEXT_HOP_NETWORK", +"NEXT_HOP_PEERING", +"NEXT_HOP_INTERCONNECT", +"NEXT_HOP_VPN_TUNNEL", +"NEXT_HOP_VPN_GATEWAY", +"NEXT_HOP_INTERNET_GATEWAY", +"NEXT_HOP_BLACKHOLE", +"NEXT_HOP_ILB", +"NEXT_HOP_ROUTER_APPLIANCE", +"NEXT_HOP_NCC_HUB" +], +"enumDescriptions": [ +"Unspecified type. Default value.", +"Next hop is an IP address.", +"Next hop is a Compute Engine instance.", +"Next hop is a VPC network gateway.", +"Next hop is a peering VPC. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located.", +"Next hop is an interconnect.", +"Next hop is a VPN tunnel.", +"Next hop is a VPN gateway. This scenario only happens when tracing connectivity from an on-premises network to Google Cloud through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", +"Next hop is an internet gateway.", +"Next hop is blackhole; that is, the next hop either does not exist or is unusable.", +"Next hop is the forwarding rule of an Internal Load Balancer.", +"Next hop is a [router appliance instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview).", +"Next hop is an NCC hub. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located." +], +"type": "string" +}, +"nextHopUri": { +"description": "URI of the next hop resource.", +"type": "string" +}, +"originatingRouteDisplayName": { +"description": "For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.", +"type": "string" +}, +"originatingRouteUri": { +"description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.", +"type": "string" +}, +"priority": { +"description": "Priority of the route.", +"format": "int32", +"type": "integer" +}, +"protocols": { +"description": "Protocols of the route. POLICY_BASED routes only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED routes only. If set for POLICY_BASED route, this is a region of VLAN attachments for Cloud Interconnect the route applies to.", +"type": "string" +}, +"routeScope": { +"deprecated": true, +"description": "Indicates where route is applicable. Deprecated, routes with NCC_HUB scope are not included in the trace in new tests.", +"enum": [ +"ROUTE_SCOPE_UNSPECIFIED", +"NETWORK", +"NCC_HUB" +], +"enumDescriptions": [ +"Unspecified scope. Default value.", +"Route is applicable to packets in Network.", +"Route is applicable to packets using NCC Hub's routing table." +], +"type": "string" +}, +"routeType": { +"description": "Type of route.", +"enum": [ +"ROUTE_TYPE_UNSPECIFIED", +"SUBNET", +"STATIC", +"DYNAMIC", +"PEERING_SUBNET", +"PEERING_STATIC", +"PEERING_DYNAMIC", +"POLICY_BASED", +"ADVERTISED" +], +"enumDescriptions": [ +"Unspecified type. Default value.", +"Route is a subnet route automatically created by the system.", +"Static route created by the user, including the default route to the internet.", +"Dynamic route exchanged between BGP peers.", +"A subnet route received from peering network or NCC Hub.", +"A static route received from peering network.", +"A dynamic route received from peering network or NCC Hub.", +"Policy based route.", +"Advertised route. Synthetic route which is used to transition from the StartFromPrivateNetwork state in Connectivity tests." +], +"type": "string" +}, +"srcIpRange": { +"description": "Source IP address range of the route. POLICY_BASED routes only.", +"type": "string" +}, +"srcPortRanges": { +"description": "Source port ranges of the route. POLICY_BASED routes only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.", +"type": "string" +} +}, +"type": "object" +}, +"ServerlessNegInfo": { +"description": "For display only. Metadata associated with the serverless network endpoint group backend.", +"id": "ServerlessNegInfo", +"properties": { +"negUri": { +"description": "URI of the serverless network endpoint group.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Step": { +"description": "A simulated forwarding path is composed of multiple steps. Each step has a well-defined state and an associated configuration.", +"id": "Step", +"properties": { +"abort": { +"$ref": "AbortInfo", +"description": "Display information of the final state \"abort\" and reason." +}, +"appEngineVersion": { +"$ref": "AppEngineVersionInfo", +"description": "Display information of an App Engine service version." +}, +"causesDrop": { +"description": "This is a step that leads to the final state Drop.", +"type": "boolean" +}, +"cloudFunction": { +"$ref": "CloudFunctionInfo", +"description": "Display information of a Cloud Function." +}, +"cloudRunRevision": { +"$ref": "CloudRunRevisionInfo", +"description": "Display information of a Cloud Run revision." +}, +"cloudSqlInstance": { +"$ref": "CloudSQLInstanceInfo", +"description": "Display information of a Cloud SQL instance." +}, +"deliver": { +"$ref": "DeliverInfo", +"description": "Display information of the final state \"deliver\" and reason." +}, +"description": { +"description": "A description of the step. Usually this is a summary of the state.", +"type": "string" +}, +"drop": { +"$ref": "DropInfo", +"description": "Display information of the final state \"drop\" and reason." +}, +"endpoint": { +"$ref": "EndpointInfo", +"description": "Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy." +}, +"firewall": { +"$ref": "FirewallInfo", +"description": "Display information of a Compute Engine firewall rule." +}, +"forward": { +"$ref": "ForwardInfo", +"description": "Display information of the final state \"forward\" and reason." +}, +"forwardingRule": { +"$ref": "ForwardingRuleInfo", +"description": "Display information of a Compute Engine forwarding rule." +}, +"gkeMaster": { +"$ref": "GKEMasterInfo", +"description": "Display information of a Google Kubernetes Engine cluster master." +}, +"googleService": { +"$ref": "GoogleServiceInfo", +"description": "Display information of a Google service" +}, +"instance": { +"$ref": "InstanceInfo", +"description": "Display information of a Compute Engine instance." +}, +"loadBalancer": { +"$ref": "LoadBalancerInfo", +"deprecated": true, +"description": "Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests." +}, +"loadBalancerBackendInfo": { +"$ref": "LoadBalancerBackendInfo", +"description": "Display information of a specific load balancer backend." +}, +"nat": { +"$ref": "NatInfo", +"description": "Display information of a NAT." +}, +"network": { +"$ref": "NetworkInfo", +"description": "Display information of a Google Cloud network." +}, +"projectId": { +"description": "Project ID that contains the configuration this step is validating.", +"type": "string" +}, +"proxyConnection": { +"$ref": "ProxyConnectionInfo", +"description": "Display information of a ProxyConnection." +}, +"redisCluster": { +"$ref": "RedisClusterInfo", +"description": "Display information of a Redis Cluster." +}, +"redisInstance": { +"$ref": "RedisInstanceInfo", +"description": "Display information of a Redis Instance." +}, +"route": { +"$ref": "RouteInfo", +"description": "Display information of a Compute Engine route." +}, +"serverlessNeg": { +"$ref": "ServerlessNegInfo", +"description": "Display information of a Serverless network endpoint group backend. Used only for return traces." +}, +"state": { +"description": "Each step is in one of the pre-defined states.", +"enum": [ +"STATE_UNSPECIFIED", +"START_FROM_INSTANCE", +"START_FROM_INTERNET", +"START_FROM_GOOGLE_SERVICE", +"START_FROM_PRIVATE_NETWORK", +"START_FROM_GKE_MASTER", +"START_FROM_CLOUD_SQL_INSTANCE", +"START_FROM_REDIS_INSTANCE", +"START_FROM_REDIS_CLUSTER", +"START_FROM_CLOUD_FUNCTION", +"START_FROM_APP_ENGINE_VERSION", +"START_FROM_CLOUD_RUN_REVISION", +"START_FROM_STORAGE_BUCKET", +"START_FROM_PSC_PUBLISHED_SERVICE", +"START_FROM_SERVERLESS_NEG", +"APPLY_INGRESS_FIREWALL_RULE", +"APPLY_EGRESS_FIREWALL_RULE", +"APPLY_ROUTE", +"APPLY_FORWARDING_RULE", +"ANALYZE_LOAD_BALANCER_BACKEND", +"SPOOFING_APPROVED", +"ARRIVE_AT_INSTANCE", +"ARRIVE_AT_INTERNAL_LOAD_BALANCER", +"ARRIVE_AT_EXTERNAL_LOAD_BALANCER", +"ARRIVE_AT_VPN_GATEWAY", +"ARRIVE_AT_VPN_TUNNEL", +"ARRIVE_AT_VPC_CONNECTOR", +"NAT", +"PROXY_CONNECTION", +"DELIVER", +"DROP", +"FORWARD", +"ABORT", +"VIEWER_PERMISSION_MISSING" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Unspecified state.", +"Initial state: packet originating from a Compute Engine instance. An InstanceInfo is populated with starting instance information.", +"Initial state: packet originating from the internet. The endpoint information is populated.", +"Initial state: packet originating from a Google service. The google_service information is populated.", +"Initial state: packet originating from a VPC or on-premises network with internal source IP. If the source is a VPC network visible to the user, a NetworkInfo is populated with details of the network.", +"Initial state: packet originating from a Google Kubernetes Engine cluster master. A GKEMasterInfo is populated with starting instance information.", +"Initial state: packet originating from a Cloud SQL instance. A CloudSQLInstanceInfo is populated with starting instance information.", +"Initial state: packet originating from a Redis instance. A RedisInstanceInfo is populated with starting instance information.", +"Initial state: packet originating from a Redis Cluster. A RedisClusterInfo is populated with starting Cluster information.", +"Initial state: packet originating from a Cloud Function. A CloudFunctionInfo is populated with starting function information.", +"Initial state: packet originating from an App Engine service version. An AppEngineVersionInfo is populated with starting version information.", +"Initial state: packet originating from a Cloud Run revision. A CloudRunRevisionInfo is populated with starting revision information.", +"Initial state: packet originating from a Storage Bucket. Used only for return traces. The storage_bucket information is populated.", +"Initial state: packet originating from a published service that uses Private Service Connect. Used only for return traces.", +"Initial state: packet originating from a serverless network endpoint group backend. Used only for return traces. The serverless_neg information is populated.", +"Config checking state: verify ingress firewall rule.", +"Config checking state: verify egress firewall rule.", +"Config checking state: verify route.", +"Config checking state: match forwarding rule.", +"Config checking state: verify load balancer backend configuration.", +"Config checking state: packet sent or received under foreign IP address and allowed.", +"Forwarding state: arriving at a Compute Engine instance.", +"Forwarding state: arriving at a Compute Engine internal load balancer.", +"Forwarding state: arriving at a Compute Engine external load balancer.", +"Forwarding state: arriving at a Cloud VPN gateway.", +"Forwarding state: arriving at a Cloud VPN tunnel.", +"Forwarding state: arriving at a VPC connector.", +"Transition state: packet header translated.", +"Transition state: original connection is terminated and a new proxied connection is initiated.", +"Final state: packet could be delivered.", +"Final state: packet could be dropped.", +"Final state: packet could be forwarded to a network with an unknown configuration.", +"Final state: analysis is aborted.", +"Special state: viewer of the test result does not have permission to see the configuration in this step." +], +"type": "string" +}, +"storageBucket": { +"$ref": "StorageBucketInfo", +"description": "Display information of a Storage Bucket. Used only for return traces." +}, +"vpcConnector": { +"$ref": "VpcConnectorInfo", +"description": "Display information of a VPC connector." +}, +"vpnGateway": { +"$ref": "VpnGatewayInfo", +"description": "Display information of a Compute Engine VPN gateway." +}, +"vpnTunnel": { +"$ref": "VpnTunnelInfo", +"description": "Display information of a Compute Engine VPN tunnel." +} +}, +"type": "object" +}, +"StorageBucketInfo": { +"description": "For display only. Metadata associated with Storage Bucket.", +"id": "StorageBucketInfo", +"properties": { +"bucket": { +"description": "Cloud Storage Bucket name.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Trace": { +"description": "Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```", +"id": "Trace", +"properties": { +"endpointInfo": { +"$ref": "EndpointInfo", +"description": "Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces." +}, +"forwardTraceId": { +"description": "ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.", +"format": "int32", +"type": "integer" +}, +"steps": { +"description": "A trace of a test contains multiple steps from the initial state to the final state (delivered, dropped, forwarded, or aborted). The steps are ordered by the processing sequence within the simulated network state machine. It is critical to preserve the order of the steps and avoid reordering or sorting them.", +"items": { +"$ref": "Step" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpcConnectorInfo": { +"description": "For display only. Metadata associated with a VPC connector.", +"id": "VpcConnectorInfo", +"properties": { +"displayName": { +"description": "Name of a VPC connector.", +"type": "string" +}, +"location": { +"description": "Location in which the VPC connector is deployed.", +"type": "string" +}, +"uri": { +"description": "URI of a VPC connector.", +"type": "string" +} +}, +"type": "object" +}, +"VpcFlowLogsConfig": { +"description": "A configuration to generate VPC Flow Logs.", +"id": "VpcFlowLogsConfig", +"properties": { +"aggregationInterval": { +"description": "Optional. The aggregation interval for the logs. Default value is INTERVAL_5_SEC.", +"enum": [ +"AGGREGATION_INTERVAL_UNSPECIFIED", +"INTERVAL_5_SEC", +"INTERVAL_30_SEC", +"INTERVAL_1_MIN", +"INTERVAL_5_MIN", +"INTERVAL_10_MIN", +"INTERVAL_15_MIN" +], +"enumDescriptions": [ +"If not specified, will default to INTERVAL_5_SEC.", +"Aggregate logs in 5s intervals.", +"Aggregate logs in 30s intervals.", +"Aggregate logs in 1m intervals.", +"Aggregate logs in 5m intervals.", +"Aggregate logs in 10m intervals.", +"Aggregate logs in 15m intervals." +], +"type": "string" +}, +"createTime": { +"description": "Output only. The time the config was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum of 512 characters.", +"type": "string" +}, +"filterExpr": { +"description": "Optional. Export filter used to define which VPC Flow Logs should be logged.", +"type": "string" +}, +"flowSampling": { +"description": "Optional. The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0.", +"format": "float", +"type": "number" +}, +"interconnectAttachment": { +"description": "Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata.", +"type": "object" +}, +"metadata": { +"description": "Optional. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.", +"enum": [ +"METADATA_UNSPECIFIED", +"INCLUDE_ALL_METADATA", +"EXCLUDE_ALL_METADATA", +"CUSTOM_METADATA" +], +"enumDescriptions": [ +"If not specified, will default to INCLUDE_ALL_METADATA.", +"Include all metadata fields.", +"Exclude all metadata fields.", +"Include only custom fields (specified in metadata_fields)." +], +"type": "string" +}, +"metadataFields": { +"description": "Optional. Custom metadata fields to include in the reported VPC flow logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`", +"type": "string" +}, +"state": { +"description": "Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLED", +"DISABLED" +], +"enumDescriptions": [ +"If not specified, will default to ENABLED.", +"When ENABLED, this configuration will generate logs.", +"When DISABLED, this configuration will not generate logs." +], +"type": "string" +}, +"targetResourceState": { +"description": "Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes.", +"enum": [ +"TARGET_RESOURCE_STATE_UNSPECIFIED", +"TARGET_RESOURCE_EXISTS", +"TARGET_RESOURCE_DOES_NOT_EXIST" +], +"enumDescriptions": [ +"Unspecified target resource state.", +"Indicates that the target resource exists.", +"Indicates that the target resource does not exist." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the config was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vpnTunnel": { +"description": "Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayInfo": { +"description": "For display only. Metadata associated with a Compute Engine VPN gateway.", +"id": "VpnGatewayInfo", +"properties": { +"displayName": { +"description": "Name of a VPN gateway.", +"type": "string" +}, +"ipAddress": { +"description": "IP address of the VPN gateway.", +"type": "string" +}, +"networkUri": { +"description": "URI of a Compute Engine network where the VPN gateway is configured.", +"type": "string" +}, +"region": { +"description": "Name of a Google Cloud region where this VPN gateway is configured.", +"type": "string" +}, +"uri": { +"description": "URI of a VPN gateway.", +"type": "string" +}, +"vpnTunnelUri": { +"description": "A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.", +"type": "string" +} +}, +"type": "object" +}, +"VpnTunnelInfo": { +"description": "For display only. Metadata associated with a Compute Engine VPN tunnel.", +"id": "VpnTunnelInfo", +"properties": { +"displayName": { +"description": "Name of a VPN tunnel.", +"type": "string" +}, +"networkUri": { +"description": "URI of a Compute Engine network where the VPN tunnel is configured.", +"type": "string" +}, +"region": { +"description": "Name of a Google Cloud region where this VPN tunnel is configured.", +"type": "string" +}, +"remoteGateway": { +"description": "URI of a VPN gateway at remote end of the tunnel.", +"type": "string" +}, +"remoteGatewayIp": { +"description": "Remote VPN gateway's IP address.", +"type": "string" +}, +"routingType": { +"description": "Type of the routing policy.", +"enum": [ +"ROUTING_TYPE_UNSPECIFIED", +"ROUTE_BASED", +"POLICY_BASED", +"DYNAMIC" +], +"enumDescriptions": [ +"Unspecified type. Default value.", +"Route based VPN.", +"Policy based routing.", +"Dynamic (BGP) routing." +], +"type": "string" +}, +"sourceGateway": { +"description": "URI of the VPN gateway at local end of the tunnel.", +"type": "string" +}, +"sourceGatewayIp": { +"description": "Local VPN gateway's IP address.", +"type": "string" +}, +"uri": { +"description": "URI of a VPN tunnel.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Network Management API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/notebooks.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/notebooks.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..f6bb10ff5581cd4aa6b88b6d1b567c5d9abd83dc --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/notebooks.v1.json @@ -0,0 +1,4602 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://notebooks.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AI Platform Notebooks", +"description": "Notebooks API is used to manage notebook resources in Google Cloud.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/notebooks/docs/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "notebooks:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://notebooks.mtls.googleapis.com/", +"name": "notebooks", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "notebooks.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"environments": { +"methods": { +"create": { +"description": "Creates a new Environment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments", +"httpMethod": "POST", +"id": "notebooks.projects.locations.environments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"environmentId": { +"description": "Required. User-defined unique ID of this environment. The `environment_id` must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercase letter and the last character cannot be a dash.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/environments", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Environment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.environments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/environments/{environment_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Environment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.environments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/environments/{environment_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists environments in a project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments", +"httpMethod": "GET", +"id": "notebooks.projects.locations.environments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/environments", +"response": { +"$ref": "ListEnvironmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"executions": { +"methods": { +"create": { +"description": "Creates a new Execution in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/executions", +"httpMethod": "POST", +"id": "notebooks.projects.locations.executions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"executionId": { +"description": "Required. User-defined unique ID of this execution.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"request": { +"$ref": "Execution" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes execution", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/executions/{executionsId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.executions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/executions/{execution_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of executions", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/executions/{execution_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists executions in a given project and location", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/executions", +"httpMethod": "GET", +"id": "notebooks.projects.locations.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified `schedule_id`. Format: `schedule_id=`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort by field.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"response": { +"$ref": "ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"instances": { +"methods": { +"create": { +"description": "Creates a new Instance in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. User-defined unique ID of this instance.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"diagnose": { +"description": "Creates a Diagnostic File and runs Diagnostic Tool given an Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:diagnose", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.diagnose", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:diagnose", +"request": { +"$ref": "DiagnoseInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getInstanceHealth": { +"description": "Checks whether a notebook instance is healthy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getInstanceHealth", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.getInstanceHealth", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getInstanceHealth", +"response": { +"$ref": "GetInstanceHealthResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"isUpgradeable": { +"description": "Checks whether a notebook instance is upgradable.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:isUpgradeable", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.isUpgradeable", +"parameterOrder": [ +"notebookInstance" +], +"parameters": { +"notebookInstance": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", +"enum": [ +"UPGRADE_TYPE_UNSPECIFIED", +"UPGRADE_FRAMEWORK", +"UPGRADE_OS", +"UPGRADE_CUDA", +"UPGRADE_ALL" +], +"enumDescriptions": [ +"Upgrade type is not specified.", +"Upgrade ML framework.", +"Upgrade Operating System.", +"Upgrade CUDA.", +"Upgrade All (OS, Framework and CUDA)." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+notebookInstance}:isUpgradeable", +"response": { +"$ref": "IsInstanceUpgradeableResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists instances in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"migrate": { +"description": "Migrates an existing User-Managed Notebook to Workbench Instances.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:migrate", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.migrate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:migrate", +"request": { +"$ref": "MigrateInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"register": { +"description": "Registers an existing legacy notebook instance to the Notebooks API server. Legacy instances are instances created with the legacy Compute Engine calls. They are not manageable by the Notebooks API out of the box. This call makes these instances manageable by the Notebooks API.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances:register", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.register", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances:register", +"request": { +"$ref": "RegisterInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"report": { +"description": "Allows notebook instances to report their latest instance information to the Notebooks API server. The server will merge the reported information to the instance metadata store. Do not use this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:report", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.report", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:report", +"request": { +"$ref": "ReportInstanceInfoRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportEvent": { +"description": "Reports and processes an instance event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reportEvent", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.reportEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reportEvent", +"request": { +"$ref": "ReportInstanceEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reset": { +"description": "Resets a notebook instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reset", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.reset", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reset", +"request": { +"$ref": "ResetInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rollbacks a notebook instance to the previous version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rollback", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rollback", +"request": { +"$ref": "RollbackInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setAccelerator": { +"description": "Updates the guest accelerators of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setAccelerator", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.setAccelerator", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:setAccelerator", +"request": { +"$ref": "SetInstanceAcceleratorRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setLabels": { +"description": "Replaces all the labels of an Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setLabels", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.setLabels", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:setLabels", +"request": { +"$ref": "SetInstanceLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMachineType": { +"description": "Updates the machine type of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setMachineType", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.setMachineType", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:setMachineType", +"request": { +"$ref": "SetInstanceMachineTypeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a notebook instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:start", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:start", +"request": { +"$ref": "StartInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a notebook instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:stop", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "StopInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Update Notebook Instance configurations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateConfig", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:updateConfig", +"request": { +"$ref": "UpdateInstanceConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateMetadataItems": { +"description": "Add/update metadata items for an instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateMetadataItems", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.updateMetadataItems", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:updateMetadataItems", +"request": { +"$ref": "UpdateInstanceMetadataItemsRequest" +}, +"response": { +"$ref": "UpdateInstanceMetadataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateShieldedInstanceConfig": { +"description": "Updates the Shielded instance configuration of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateShieldedInstanceConfig", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.updateShieldedInstanceConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:updateShieldedInstanceConfig", +"request": { +"$ref": "UpdateShieldedInstanceConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgrade": { +"description": "Upgrades a notebook instance to the latest version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.upgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:upgrade", +"request": { +"$ref": "UpgradeInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgradeInternal": { +"description": "Allows notebook instances to call this endpoint to upgrade themselves. Do not use this method directly.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgradeInternal", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.upgradeInternal", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:upgradeInternal", +"request": { +"$ref": "UpgradeInstanceInternalRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "notebooks.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "notebooks.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtimes": { +"methods": { +"create": { +"description": "Creates a new Runtime in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +}, +"runtimeId": { +"description": "Required. User-defined unique ID of this Runtime.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/runtimes", +"request": { +"$ref": "Runtime" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Runtime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.runtimes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"diagnose": { +"description": "Creates a Diagnostic File and runs Diagnostic Tool given a Runtime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:diagnose", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.diagnose", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtimes_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:diagnose", +"request": { +"$ref": "DiagnoseRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Runtime. The location must be a regional endpoint rather than zonal.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.runtimes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Runtime" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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}/locations/{locationsId}/runtimes/{runtimesId}:getIamPolicy", +"httpMethod": "GET", +"id": "notebooks.projects.locations.runtimes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Runtimes in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes", +"httpMethod": "GET", +"id": "notebooks.projects.locations.runtimes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/runtimes", +"response": { +"$ref": "ListRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"migrate": { +"description": "Migrate an existing Runtime to a new Workbench Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:migrate", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.migrate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:migrate", +"request": { +"$ref": "MigrateRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update Notebook Runtime configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.runtimes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - `software_config.kernels` - `software_config.post_startup_script` - `software_config.custom_gpu_driver_path` - `software_config.idle_shutdown` - `software_config.idle_shutdown_timeout` - `software_config.disable_terminal` - `labels`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Runtime" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"refreshRuntimeTokenInternal": { +"description": "Gets an access token for the consumer service account that the customer attached to the runtime. Only accessible from the tenant instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:refreshRuntimeTokenInternal", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.refreshRuntimeTokenInternal", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:refreshRuntimeTokenInternal", +"request": { +"$ref": "RefreshRuntimeTokenInternalRequest" +}, +"response": { +"$ref": "RefreshRuntimeTokenInternalResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportEvent": { +"description": "Reports and processes a runtime event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:reportEvent", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.reportEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reportEvent", +"request": { +"$ref": "ReportRuntimeEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reset": { +"description": "Resets a Managed Notebook Runtime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:reset", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.reset", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reset", +"request": { +"$ref": "ResetRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:setIamPolicy", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a Managed Notebook Runtime. Perform \"Start\" on GPU instances; \"Resume\" on CPU instances See: https://cloud.google.com/compute/docs/instances/stop-start-instance https://cloud.google.com/compute/docs/instances/suspend-resume-instance", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:start", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:start", +"request": { +"$ref": "StartRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a Managed Notebook Runtime. Perform \"Stop\" on GPU instances; \"Suspend\" on CPU instances See: https://cloud.google.com/compute/docs/instances/stop-start-instance https://cloud.google.com/compute/docs/instances/suspend-resume-instance", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:stop", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "StopRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"switch": { +"description": "Switch a Managed Notebook Runtime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:switch", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.switch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:switch", +"request": { +"$ref": "SwitchRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:testIamPermissions", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgrade": { +"description": "Upgrades a Managed Notebook Runtime to the latest version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:upgrade", +"httpMethod": "POST", +"id": "notebooks.projects.locations.runtimes.upgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:upgrade", +"request": { +"$ref": "UpgradeRuntimeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schedules": { +"methods": { +"create": { +"description": "Creates a new Scheduled Notebook in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "POST", +"id": "notebooks.projects.locations.schedules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"scheduleId": { +"description": "Required. User-defined unique ID of this schedule.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/schedules", +"request": { +"$ref": "Schedule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes schedule and all underlying jobs", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.schedules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of schedule", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.schedules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists schedules in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "GET", +"id": "notebooks.projects.locations.schedules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter applied to resulting schedules.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to order results by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schedules", +"response": { +"$ref": "ListSchedulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"trigger": { +"description": "Triggers execution of an existing schedule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:trigger", +"httpMethod": "POST", +"id": "notebooks.projects.locations.schedules.trigger", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:trigger", +"request": { +"$ref": "TriggerScheduleRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://notebooks.googleapis.com/", +"schemas": { +"AcceleratorConfig": { +"description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. See [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination. TPUs are not supported.", +"id": "AcceleratorConfig", +"properties": { +"coreCount": { +"description": "Count of cores of this accelerator.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of this accelerator.", +"enum": [ +"ACCELERATOR_TYPE_UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"NVIDIA_L4", +"NVIDIA_A100_80GB", +"NVIDIA_TESLA_T4_VWS", +"NVIDIA_TESLA_P100_VWS", +"NVIDIA_TESLA_P4_VWS", +"NVIDIA_H100_80GB", +"NVIDIA_H100_MEGA_80GB", +"TPU_V2", +"TPU_V3" +], +"enumDescriptions": [ +"Accelerator type is not specified.", +"Accelerator type is Nvidia Tesla K80.", +"Accelerator type is Nvidia Tesla P100.", +"Accelerator type is Nvidia Tesla V100.", +"Accelerator type is Nvidia Tesla P4.", +"Accelerator type is Nvidia Tesla T4.", +"Accelerator type is Nvidia Tesla A100.", +"Accelerator type is Nvidia Tesla L4.", +"Accelerator type is Nvidia Tesla A100 80GB.", +"Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P4 Virtual Workstations.", +"Accelerator type is NVIDIA H100 80GB.", +"Accelerator type is NVIDIA H100 Mega 80GB.", +"(Coming soon) Accelerator type is TPU V2.", +"(Coming soon) Accelerator type is TPU V3." +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"BootImage": { +"description": "Definition of the boot image used by the Runtime. Used to facilitate runtime upgradeability.", +"id": "BootImage", +"properties": {}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ContainerImage": { +"description": "Definition of a container image for starting a notebook instance with the environment installed in a container.", +"id": "ContainerImage", +"properties": { +"repository": { +"description": "Required. The path to the container image repository. For example: `gcr.io/{project_id}/{image_name}`", +"type": "string" +}, +"tag": { +"description": "The tag of the container image. If not specified, this defaults to the latest tag.", +"type": "string" +} +}, +"type": "object" +}, +"DataprocParameters": { +"description": "Parameters used in Dataproc JobType executions.", +"id": "DataprocParameters", +"properties": { +"cluster": { +"description": "URI for cluster used to run Dataproc execution. Format: `projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}`", +"type": "string" +} +}, +"type": "object" +}, +"DiagnoseInstanceRequest": { +"description": "Request for creating a notebook instance diagnostic file.", +"id": "DiagnoseInstanceRequest", +"properties": { +"diagnosticConfig": { +"$ref": "DiagnosticConfig", +"description": "Required. Defines flags that are used to run the diagnostic tool" +}, +"timeoutMinutes": { +"description": "Optional. Maximum amount of time in minutes before the operation times out.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DiagnoseRuntimeRequest": { +"description": "Request for creating a notebook instance diagnostic file.", +"id": "DiagnoseRuntimeRequest", +"properties": { +"diagnosticConfig": { +"$ref": "DiagnosticConfig", +"description": "Required. Defines flags that are used to run the diagnostic tool" +}, +"timeoutMinutes": { +"description": "Optional. Maximum amount of time in minutes before the operation times out.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DiagnosticConfig": { +"description": "Defines flags that are used to run the diagnostic tool", +"id": "DiagnosticConfig", +"properties": { +"copyHomeFilesFlagEnabled": { +"description": "Optional. Enables flag to copy all `/home/jupyter` folder contents", +"type": "boolean" +}, +"gcsBucket": { +"description": "Required. User Cloud Storage bucket location (REQUIRED). Must be formatted with path prefix (`gs://$GCS_BUCKET`). Permissions: User Managed Notebooks: - storage.buckets.writer: Must be given to the project's service account attached to VM. Google Managed Notebooks: - storage.buckets.writer: Must be given to the project's service account or user credentials attached to VM depending on authentication mode. Cloud Storage bucket Log file will be written to `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz`", +"type": "string" +}, +"packetCaptureFlagEnabled": { +"description": "Optional. Enables flag to capture packets from the instance for 30 seconds", +"type": "boolean" +}, +"relativePath": { +"description": "Optional. Defines the relative storage path in the Cloud Storage bucket where the diagnostic logs will be written: Default path will be the root directory of the Cloud Storage bucket (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`) Example of full path where Log file will be written: `gs://$GCS_BUCKET/$RELATIVE_PATH/`", +"type": "string" +}, +"repairFlagEnabled": { +"description": "Optional. Enables flag to repair service for instance", +"type": "boolean" +} +}, +"type": "object" +}, +"Disk": { +"description": "An instance-attached disk resource.", +"id": "Disk", +"properties": { +"autoDelete": { +"description": "Indicates whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Indicates a unique device name of your choice that is reflected into the `/dev/disk/by-id/google-*` tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine.This field is only applicable for persistent disks.", +"type": "string" +}, +"diskSizeGb": { +"description": "Indicates the size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"guestOsFeatures": { +"description": "Indicates a list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", +"format": "int64", +"type": "string" +}, +"interface": { +"description": "Indicates the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI`", +"type": "string" +}, +"kind": { +"description": "Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use. A License represents billing and aggregate usage data for public and marketplace images.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "The mode in which to attach this disk, either `READ_WRITE` or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`", +"type": "string" +}, +"source": { +"description": "Indicates a valid partial or full URL to an existing Persistent Disk resource.", +"type": "string" +}, +"type": { +"description": "Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`. Valid values: * `PERSISTENT` * `SCRATCH`", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Represents a custom encryption key configuration that can be applied to a resource. This will encrypt all disks in Virtual Machine.", +"id": "EncryptionConfig", +"properties": { +"kmsKey": { +"description": "The Cloud KMS resource identifier of the customer-managed encryption key used to protect a resource, such as a disks. It has the following format: `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`", +"type": "string" +} +}, +"type": "object" +}, +"Environment": { +"description": "Definition of a software environment that is used to start a notebook instance.", +"id": "Environment", +"properties": { +"containerImage": { +"$ref": "ContainerImage", +"description": "Use a container image to start the notebook instance." +}, +"createTime": { +"description": "Output only. The time at which this environment was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A brief description of this environment.", +"type": "string" +}, +"displayName": { +"description": "Display name of this environment for the UI.", +"type": "string" +}, +"name": { +"description": "Output only. Name of this environment. Format: `projects/{project_id}/locations/{location}/environments/{environment_id}`", +"readOnly": true, +"type": "string" +}, +"postStartupScript": { +"description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path. Example: `\"gs://path-to-file/file-name\"`", +"type": "string" +}, +"vmImage": { +"$ref": "VmImage", +"description": "Use a Compute Engine VM image to start the notebook instance." +} +}, +"type": "object" +}, +"Event": { +"description": "The definition of an Event for a managed / semi-managed notebook instance.", +"id": "Event", +"properties": { +"details": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Event details. This field is used to pass event information.", +"type": "object" +}, +"reportTime": { +"description": "Event report time.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "Event type.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"IDLE", +"HEARTBEAT", +"HEALTH", +"MAINTENANCE" +], +"enumDescriptions": [ +"Event is not specified.", +"The instance / runtime is idle", +"The instance / runtime is available. This event indicates that instance / runtime underlying compute is operational.", +"The instance / runtime health is available. This event indicates that instance / runtime health information.", +"The instance / runtime is available. This event allows instance / runtime to send Host maintenance information to Control Plane. https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance" +], +"type": "string" +} +}, +"type": "object" +}, +"Execution": { +"description": "The definition of a single executed notebook.", +"id": "Execution", +"properties": { +"createTime": { +"description": "Output only. Time the Execution was instantiated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A brief description of this execution.", +"type": "string" +}, +"displayName": { +"description": "Output only. Name used for UI purposes. Name can only contain alphanumeric characters and underscores '_'.", +"readOnly": true, +"type": "string" +}, +"executionTemplate": { +"$ref": "ExecutionTemplate", +"description": "execute metadata including name, hardware spec, region, labels, etc." +}, +"jobUri": { +"description": "Output only. The URI of the external job used to execute the notebook.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the execute. Format: `projects/{project_id}/locations/{location}/executions/{execution_id}`", +"readOnly": true, +"type": "string" +}, +"outputNotebookFile": { +"description": "Output notebook file generated by this execution", +"type": "string" +}, +"state": { +"description": "Output only. State of the underlying AI Platform job.", +"enum": [ +"STATE_UNSPECIFIED", +"QUEUED", +"PREPARING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"CANCELLING", +"CANCELLED", +"EXPIRED", +"INITIALIZING" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created and processing has not yet begun.", +"The service is preparing to execution the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed. `error_message` should contain the details of the failure.", +"The job is being cancelled. `error_message` should describe the reason for the cancellation.", +"The job has been cancelled. `error_message` should describe the reason for the cancellation.", +"The job has become expired (relevant to Vertex AI jobs) https://cloud.google.com/vertex-ai/docs/reference/rest/v1/JobState", +"The Execution is being created." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time the Execution was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExecutionTemplate": { +"description": "The description a notebook execution workload.", +"id": "ExecutionTemplate", +"properties": { +"acceleratorConfig": { +"$ref": "SchedulerAcceleratorConfig", +"description": "Configuration (count and accelerator type) for hardware running notebook execution." +}, +"containerImageUri": { +"description": "Container Image URI to a DLVM Example: 'gcr.io/deeplearning-platform-release/base-cu100' More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container", +"type": "string" +}, +"dataprocParameters": { +"$ref": "DataprocParameters", +"description": "Parameters used in Dataproc JobType executions." +}, +"inputNotebookFile": { +"description": "Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: `gs://{bucket_name}/{folder}/{notebook_file_name}` Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb`", +"type": "string" +}, +"jobType": { +"description": "The type of Job to be used on this execution.", +"enum": [ +"JOB_TYPE_UNSPECIFIED", +"VERTEX_AI", +"DATAPROC" +], +"enumDescriptions": [ +"No type specified.", +"Custom Job in `aiplatform.googleapis.com`. Default value for an execution.", +"Run execution on a cluster with Dataproc as a job. https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs" +], +"type": "string" +}, +"kernelSpec": { +"description": "Name of the kernel spec to use. This must be specified if the kernel spec name on the execution target does not match the name in the input notebook file.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for execution. If execution is scheduled, a field included will be 'nbs-scheduled'. Otherwise, it is an immediate execution, and an included field will be 'nbs-immediate'. Use fields to efficiently index between various types of executions.", +"type": "object" +}, +"masterType": { +"description": "Specifies the type of virtual machine to use for your training job's master worker. You must specify this field when `scaleTier` is set to `CUSTOM`. You can use certain Compute Engine machine types directly in this field. The following types are supported: - `n1-standard-4` - `n1-standard-8` - `n1-standard-16` - `n1-standard-32` - `n1-standard-64` - `n1-standard-96` - `n1-highmem-2` - `n1-highmem-4` - `n1-highmem-8` - `n1-highmem-16` - `n1-highmem-32` - `n1-highmem-64` - `n1-highmem-96` - `n1-highcpu-16` - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96` Alternatively, you can use the following legacy machine types: - `standard` - `large_model` - `complex_model_s` - `complex_model_m` - `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` - `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` - `standard_v100` - `large_model_v100` - `complex_model_m_v100` - `complex_model_l_v100` Finally, if you want to use a TPU for training, specify `cloud_tpu` in this field. Learn more about the [special configuration options for training with TPU](https://cloud.google.com/ai-platform/training/docs/using-tpus#configuring_a_custom_tpu_machine).", +"type": "string" +}, +"outputNotebookFolder": { +"description": "Path to the notebook folder to write to. Must be in a Google Cloud Storage bucket path. Format: `gs://{bucket_name}/{folder}` Ex: `gs://notebook_user/scheduled_notebooks`", +"type": "string" +}, +"parameters": { +"description": "Parameters used within the 'input_notebook_file' notebook.", +"type": "string" +}, +"paramsYamlFile": { +"description": "Parameters to be overridden in the notebook during execution. Ref https://papermill.readthedocs.io/en/latest/usage-parameterize.html on how to specifying parameters in the input notebook and pass them here in an YAML file. Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml`", +"type": "string" +}, +"scaleTier": { +"deprecated": true, +"description": "Required. Scale tier of the hardware used for notebook execution. DEPRECATED Will be discontinued. As right now only CUSTOM is supported.", +"enum": [ +"SCALE_TIER_UNSPECIFIED", +"BASIC", +"STANDARD_1", +"PREMIUM_1", +"BASIC_GPU", +"BASIC_TPU", +"CUSTOM" +], +"enumDescriptions": [ +"Unspecified Scale Tier.", +"A single worker instance. This tier is suitable for learning how to use Cloud ML, and for experimenting with new models using small datasets.", +"Many workers and a few parameter servers.", +"A large number of workers with many parameter servers.", +"A single worker instance with a K80 GPU.", +"A single worker instance with a Cloud TPU.", +"The CUSTOM tier is not a set tier, but rather enables you to use your own cluster specification. When you use this tier, set values to configure your processing cluster according to these guidelines: * You _must_ set `ExecutionTemplate.masterType` to specify the type of machine to use for your master node. This is the only required setting." +], +"type": "string" +}, +"serviceAccount": { +"description": "The email address of a service account to use when running the execution. You must have the `iam.serviceAccounts.actAs` permission for the specified service account.", +"type": "string" +}, +"tensorboard": { +"description": "The name of a Vertex AI [Tensorboard] resource to which this execution will upload Tensorboard logs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"type": "string" +}, +"vertexAiParameters": { +"$ref": "VertexAIParameters", +"description": "Parameters used in Vertex AI JobType executions." +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GetInstanceHealthResponse": { +"description": "Response for checking if a notebook instance is healthy.", +"id": "GetInstanceHealthResponse", +"properties": { +"healthInfo": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Additional information about instance health. Example: healthInfo\": { \"docker_proxy_agent_status\": \"1\", \"docker_status\": \"1\", \"jupyterlab_api_status\": \"-1\", \"jupyterlab_status\": \"-1\", \"updated\": \"2020-10-18 09:40:03.573409\" }", +"readOnly": true, +"type": "object" +}, +"healthState": { +"description": "Output only. Runtime health_state.", +"enum": [ +"HEALTH_STATE_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY", +"AGENT_NOT_INSTALLED", +"AGENT_NOT_RUNNING" +], +"enumDescriptions": [ +"The instance substate is unknown.", +"The instance is known to be in an healthy state (for example, critical daemons are running) Applies to ACTIVE state.", +"The instance is known to be in an unhealthy state (for example, critical daemons are not running) Applies to ACTIVE state.", +"The instance has not installed health monitoring agent. Applies to ACTIVE state.", +"The instance health monitoring agent is not running. Applies to ACTIVE state." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GuestOsFeature": { +"description": "Guest OS features for boot disk.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options. Valid values: * `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`", +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "The definition of a notebook instance.", +"id": "Instance", +"properties": { +"acceleratorConfig": { +"$ref": "AcceleratorConfig", +"description": "The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list)." +}, +"bootDiskSizeGb": { +"description": "Input only. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.", +"format": "int64", +"type": "string" +}, +"bootDiskType": { +"description": "Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"PD_STANDARD", +"PD_SSD", +"PD_BALANCED", +"PD_EXTREME" +], +"enumDescriptions": [ +"Disk type not set.", +"Standard persistent disk type.", +"SSD persistent disk type.", +"Balanced persistent disk type.", +"Extreme persistent disk type." +], +"type": "string" +}, +"canIpForward": { +"description": "Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward", +"type": "boolean" +}, +"containerImage": { +"$ref": "ContainerImage", +"description": "Use a container image to start the notebook instance." +}, +"createTime": { +"description": "Output only. Instance creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. Email address of entity that sent original CreateInstance request.", +"readOnly": true, +"type": "string" +}, +"customGpuDriverPath": { +"description": "Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.", +"type": "string" +}, +"dataDiskSizeGb": { +"description": "Input only. The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). You can choose the size of the data disk based on how big your notebooks and data are. If not specified, this defaults to 100.", +"format": "int64", +"type": "string" +}, +"dataDiskType": { +"description": "Input only. The type of the data disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"PD_STANDARD", +"PD_SSD", +"PD_BALANCED", +"PD_EXTREME" +], +"enumDescriptions": [ +"Disk type not set.", +"Standard persistent disk type.", +"SSD persistent disk type.", +"Balanced persistent disk type.", +"Extreme persistent disk type." +], +"type": "string" +}, +"diskEncryption": { +"description": "Input only. Disk encryption method used on the boot and data disks, defaults to GMEK.", +"enum": [ +"DISK_ENCRYPTION_UNSPECIFIED", +"GMEK", +"CMEK" +], +"enumDescriptions": [ +"Disk encryption is not specified.", +"Use Google managed encryption keys to encrypt the boot disk.", +"Use customer managed encryption keys to encrypt the boot disk." +], +"type": "string" +}, +"disks": { +"description": "Output only. Attached disks to notebook instance.", +"items": { +"$ref": "Disk" +}, +"readOnly": true, +"type": "array" +}, +"installGpuDriver": { +"description": "Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.", +"type": "boolean" +}, +"instanceMigrationEligibility": { +"$ref": "InstanceMigrationEligibility", +"description": "Output only. Checks how feasible a migration from UmN to WbI is.", +"readOnly": true +}, +"instanceOwners": { +"description": "Input only. The owner of this instance after creation. Format: `alias@example.com` Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kmsKey": { +"description": "Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` Learn more about [using your own encryption keys](/kms/docs/quickstart).", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this instance. These can be later modified by the setLabels method.", +"type": "object" +}, +"machineType": { +"description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource) of this instance.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `\"--metadata=gcs-data-bucket=BUCKET\"`.", +"type": "object" +}, +"migrated": { +"description": "Output only. Bool indicating whether this notebook has been migrated to a Workbench Instance", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "The name of the VPC that this instance is in. Format: `projects/{project_id}/global/networks/{network_id}`", +"type": "string" +}, +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"No type specified.", +"VIRTIO", +"GVNIC" +], +"type": "string" +}, +"noProxyAccess": { +"description": "If true, the notebook instance will not register with the proxy.", +"type": "boolean" +}, +"noPublicIp": { +"description": "If true, no external IP will be assigned to this instance.", +"type": "boolean" +}, +"noRemoveDataDisk": { +"description": "Input only. If true, the data disk will not be auto deleted when deleting the instance.", +"type": "boolean" +}, +"postStartupScript": { +"description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (`gs://path-to-file/file-name`).", +"type": "string" +}, +"proxyUri": { +"description": "Output only. The proxy endpoint that is used to access the Jupyter notebook.", +"readOnly": true, +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Optional. The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this notebook instance." +}, +"serviceAccount": { +"description": "The service account on this instance, giving access to other Google Cloud services. 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.", +"type": "string" +}, +"serviceAccountScopes": { +"description": "Optional. The URIs of service account scopes to be included in Compute Engine instances. If not specified, the following [scopes](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam) are defined: - https://www.googleapis.com/auth/cloud-platform - https://www.googleapis.com/auth/userinfo.email If not using default scopes, you need at least: https://www.googleapis.com/auth/compute", +"items": { +"type": "string" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Optional. Shielded VM configuration. [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm)." +}, +"state": { +"description": "Output only. The state of this instance.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTING", +"PROVISIONING", +"ACTIVE", +"STOPPING", +"STOPPED", +"DELETED", +"UPGRADING", +"INITIALIZING", +"REGISTERING", +"SUSPENDING", +"SUSPENDED" +], +"enumDescriptions": [ +"State is not specified.", +"The control logic is starting the instance.", +"The control logic is installing required frameworks and registering the instance with notebook proxy", +"The instance is running.", +"The control logic is stopping the instance.", +"The instance is stopped.", +"The instance is deleted.", +"The instance is upgrading.", +"The instance is being created.", +"The instance is getting registered.", +"The instance is suspending.", +"The instance is suspended." +], +"readOnly": true, +"type": "string" +}, +"subnet": { +"description": "The name of the subnet that this instance is in. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`", +"type": "string" +}, +"tags": { +"description": "Optional. The Compute Engine network tags to add to runtime (see [Add network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Instance update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upgradeHistory": { +"description": "The upgrade history of this instance.", +"items": { +"$ref": "UpgradeHistoryEntry" +}, +"type": "array" +}, +"vmImage": { +"$ref": "VmImage", +"description": "Use a Compute Engine VM image to start the notebook instance." +} +}, +"type": "object" +}, +"InstanceConfig": { +"description": "Notebook instance configurations that can be updated.", +"id": "InstanceConfig", +"properties": { +"enableHealthMonitoring": { +"description": "Verifies core internal services are running.", +"type": "boolean" +}, +"notebookUpgradeSchedule": { +"description": "Cron expression in UTC timezone, used to schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceMigrationEligibility": { +"description": "InstanceMigrationEligibility represents the feasibility information of a migration from UmN to WbI.", +"id": "InstanceMigrationEligibility", +"properties": { +"errors": { +"description": "Output only. Certain configurations make the UmN ineligible for an automatic migration. A manual migration is required.", +"items": { +"enum": [ +"ERROR_UNSPECIFIED", +"DATAPROC_HUB" +], +"enumDescriptions": [ +"Default type.", +"The UmN uses Dataproc Hub and cannot be migrated." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"warnings": { +"description": "Output only. Certain configurations will be defaulted during the migration.", +"items": { +"enum": [ +"WARNING_UNSPECIFIED", +"UNSUPPORTED_MACHINE_TYPE", +"UNSUPPORTED_ACCELERATOR_TYPE", +"UNSUPPORTED_OS", +"NO_REMOVE_DATA_DISK", +"GCS_BACKUP", +"POST_STARTUP_SCRIPT" +], +"enumDescriptions": [ +"Default type.", +"The UmN uses an machine type that's unsupported in WbI. It will be migrated with the default machine type e2-standard-4. Users can change the machine type after the migration.", +"The UmN uses an accelerator type that's unsupported in WbI. It will be migrated without an accelerator. User can attach an accelerator after the migration.", +"The UmN uses an operating system that's unsupported in WbI (e.g. Debian 10, Ubuntu). It will be replaced with Debian 11 in WbI.", +"This UmN is configured with no_remove_data_disk, which is no longer available in WbI.", +"This UmN is configured with the Cloud Storage backup feature, which is no longer available in WbI.", +"This UmN is configured with a post startup script. Please optionally provide the `post_startup_script_option` for the migration." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"IsInstanceUpgradeableResponse": { +"description": "Response for checking if a notebook instance is upgradeable.", +"id": "IsInstanceUpgradeableResponse", +"properties": { +"upgradeImage": { +"description": "The new image self link this instance will be upgraded to if calling the upgrade endpoint. This field will only be populated if field upgradeable is true.", +"type": "string" +}, +"upgradeInfo": { +"description": "Additional information about upgrade.", +"type": "string" +}, +"upgradeVersion": { +"description": "The version this instance will be upgraded to if calling the upgrade endpoint. This field will only be populated if field upgradeable is true.", +"type": "string" +}, +"upgradeable": { +"description": "If an instance is upgradeable.", +"type": "boolean" +} +}, +"type": "object" +}, +"ListEnvironmentsResponse": { +"description": "Response for listing environments.", +"id": "ListEnvironmentsResponse", +"properties": { +"environments": { +"description": "A list of returned environments.", +"items": { +"$ref": "Environment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListExecutionsResponse": { +"description": "Response for listing scheduled notebook executions", +"id": "ListExecutionsResponse", +"properties": { +"executions": { +"description": "A list of returned instances.", +"items": { +"$ref": "Execution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"unreachable": { +"description": "Executions IDs that could not be reached. For example: ['projects/{project_id}/location/{location}/executions/imagenet_test1', 'projects/{project_id}/location/{location}/executions/classifier_train1']", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response for listing notebook instances.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "A list of returned instances.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached. For example, `['us-west1-a', 'us-central1-b']`. A ListInstancesResponse will only contain either instances or unreachables,", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRuntimesResponse": { +"description": "Response for listing Managed Notebook Runtimes.", +"id": "ListRuntimesResponse", +"properties": { +"nextPageToken": { +"description": "Page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"runtimes": { +"description": "A list of returned Runtimes.", +"items": { +"$ref": "Runtime" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached. For example, `['us-west1', 'us-central1']`. A ListRuntimesResponse will only contain either runtimes or unreachables,", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSchedulesResponse": { +"description": "Response for listing scheduled notebook job.", +"id": "ListSchedulesResponse", +"properties": { +"nextPageToken": { +"description": "Page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"schedules": { +"description": "A list of returned instances.", +"items": { +"$ref": "Schedule" +}, +"type": "array" +}, +"unreachable": { +"description": "Schedules that could not be reached. For example: ['projects/{project_id}/location/{location}/schedules/monthly_digest', 'projects/{project_id}/location/{location}/schedules/weekly_sentiment']", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"LocalDisk": { +"description": "A Local attached disk resource.", +"id": "LocalDisk", +"properties": { +"autoDelete": { +"description": "Optional. Output only. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"readOnly": true, +"type": "boolean" +}, +"boot": { +"description": "Optional. Output only. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"readOnly": true, +"type": "boolean" +}, +"deviceName": { +"description": "Optional. Output only. Specifies a unique device name of your choice that is reflected into the `/dev/disk/by-id/google-*` tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"readOnly": true, +"type": "string" +}, +"guestOsFeatures": { +"description": "Output only. Indicates a list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "RuntimeGuestOsFeature" +}, +"readOnly": true, +"type": "array" +}, +"index": { +"description": "Output only. A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"initializeParams": { +"$ref": "LocalDiskInitializeParams", +"description": "Input only. Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI`", +"type": "string" +}, +"kind": { +"description": "Output only. Type of the resource. Always compute#attachedDisk for attached disks.", +"readOnly": true, +"type": "string" +}, +"licenses": { +"description": "Output only. Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"mode": { +"description": "The mode in which to attach this disk, either `READ_WRITE` or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`", +"type": "string" +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource.", +"type": "string" +}, +"type": { +"description": "Specifies the type of the disk, either `SCRATCH` or `PERSISTENT`. If not specified, the default is `PERSISTENT`. Valid values: * `PERSISTENT` * `SCRATCH`", +"type": "string" +} +}, +"type": "object" +}, +"LocalDiskInitializeParams": { +"description": "Input only. Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new runtime. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", +"id": "LocalDiskInitializeParams", +"properties": { +"description": { +"description": "Optional. Provide this property when creating the disk.", +"type": "string" +}, +"diskName": { +"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance. If the disk with the instance name exists already in the given zone/region, a new name will be automatically generated.", +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. Specifies the size of the disk in base-2 GB. If not specified, the disk will be the same size as the image (usually 10GB). If specified, the size must be equal to or larger than 10GB. Default 100 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"PD_STANDARD", +"PD_SSD", +"PD_BALANCED", +"PD_EXTREME" +], +"enumDescriptions": [ +"Disk type not set.", +"Standard persistent disk type.", +"SSD persistent disk type.", +"Balanced persistent disk type.", +"Extreme persistent disk type." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", +"type": "object" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MigrateInstanceRequest": { +"description": "Request for migrating a User-Managed Notebook to Workbench Instances.", +"id": "MigrateInstanceRequest", +"properties": { +"postStartupScriptOption": { +"description": "Optional. Specifies the behavior of post startup script during migration.", +"enum": [ +"POST_STARTUP_SCRIPT_OPTION_UNSPECIFIED", +"POST_STARTUP_SCRIPT_OPTION_SKIP", +"POST_STARTUP_SCRIPT_OPTION_RERUN" +], +"enumDescriptions": [ +"Post startup script option is not specified. Default is POST_STARTUP_SCRIPT_OPTION_SKIP.", +"Not migrate the post startup script to the new Workbench Instance.", +"Redownload and rerun the same post startup script as the User-Managed Notebook." +], +"type": "string" +} +}, +"type": "object" +}, +"MigrateRuntimeRequest": { +"description": "Request for migrating a Runtime to a Workbench Instance.", +"id": "MigrateRuntimeRequest", +"properties": { +"network": { +"description": "Optional. Name of the VPC that the new Instance is in. This is required if the Runtime uses google-managed network. If the Runtime uses customer-owned network, it will reuse the same VPC, and this field must be empty. Format: `projects/{project_id}/global/networks/{network_id}`", +"type": "string" +}, +"postStartupScriptOption": { +"description": "Optional. Specifies the behavior of post startup script during migration.", +"enum": [ +"POST_STARTUP_SCRIPT_OPTION_UNSPECIFIED", +"POST_STARTUP_SCRIPT_OPTION_SKIP", +"POST_STARTUP_SCRIPT_OPTION_RERUN" +], +"enumDescriptions": [ +"Post startup script option is not specified. Default is POST_STARTUP_SCRIPT_OPTION_SKIP.", +"Not migrate the post startup script to the new Workbench Instance.", +"Redownload and rerun the same post startup script as the Google-Managed Notebook." +], +"type": "string" +}, +"requestId": { +"description": "Optional. Idempotent request UUID.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. The service account to be included in the Compute Engine instance of the new Workbench Instance when the Runtime uses \"single user only\" mode for permission. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. When the Runtime uses service account mode for permission, it will reuse the same service account, and this field must be empty.", +"type": "string" +}, +"subnet": { +"description": "Optional. Name of the subnet that the new Instance is in. This is required if the Runtime uses google-managed network. If the Runtime uses customer-owned network, it will reuse the same subnet, and this field must be empty. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version used to start the operation.", +"type": "string" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"endpoint": { +"description": "API endpoint name of this operation.", +"type": "string" +}, +"requestedCancellation": { +"description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"type": "boolean" +}, +"statusMessage": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Server-defined resource path for the target of the operation.", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RefreshRuntimeTokenInternalRequest": { +"description": "Request for getting a new access token.", +"id": "RefreshRuntimeTokenInternalRequest", +"properties": { +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"RefreshRuntimeTokenInternalResponse": { +"description": "Response with a new access token.", +"id": "RefreshRuntimeTokenInternalResponse", +"properties": { +"accessToken": { +"description": "The OAuth 2.0 access token.", +"type": "string" +}, +"expireTime": { +"description": "Output only. Token expiration time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RegisterInstanceRequest": { +"description": "Request for registering a notebook instance.", +"id": "RegisterInstanceRequest", +"properties": { +"instanceId": { +"description": "Required. User defined unique ID of this instance. The `instance_id` must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercase letter and the last character cannot be a dash.", +"type": "string" +} +}, +"type": "object" +}, +"ReportInstanceEventRequest": { +"description": "Request for reporting a Managed Notebook Event.", +"id": "ReportInstanceEventRequest", +"properties": { +"event": { +"$ref": "Event", +"description": "Required. The Event to be reported." +}, +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"ReportInstanceInfoRequest": { +"description": "Request for notebook instances to report information to Notebooks API.", +"id": "ReportInstanceInfoRequest", +"properties": { +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata reported to Notebooks API. This will be merged to the instance metadata store", +"type": "object" +}, +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"ReportRuntimeEventRequest": { +"description": "Request for reporting a Managed Notebook Event.", +"id": "ReportRuntimeEventRequest", +"properties": { +"event": { +"$ref": "Event", +"description": "Required. The Event to be reported." +}, +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "Reservation Affinity for consuming Zonal reservation.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Optional. Type of reservation to consume", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"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." +], +"type": "string" +}, +"key": { +"description": "Optional. Corresponds to the label key of reservation resource.", +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of reservation resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResetInstanceRequest": { +"description": "Request for resetting a notebook instance", +"id": "ResetInstanceRequest", +"properties": {}, +"type": "object" +}, +"ResetRuntimeRequest": { +"description": "Request for resetting a Managed Notebook Runtime.", +"id": "ResetRuntimeRequest", +"properties": { +"requestId": { +"description": "Idempotent request UUID.", +"type": "string" +} +}, +"type": "object" +}, +"RollbackInstanceRequest": { +"description": "Request for rollbacking a notebook instance", +"id": "RollbackInstanceRequest", +"properties": { +"targetSnapshot": { +"description": "Required. The snapshot for rollback. Example: `projects/test-project/global/snapshots/krwlzipynril`.", +"type": "string" +} +}, +"type": "object" +}, +"Runtime": { +"description": "The definition of a Runtime for a managed notebook instance.", +"id": "Runtime", +"properties": { +"accessConfig": { +"$ref": "RuntimeAccessConfig", +"description": "The config settings for accessing runtime." +}, +"createTime": { +"description": "Output only. Runtime creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"healthState": { +"description": "Output only. Runtime health_state.", +"enum": [ +"HEALTH_STATE_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY", +"AGENT_NOT_INSTALLED", +"AGENT_NOT_RUNNING" +], +"enumDescriptions": [ +"The runtime substate is unknown.", +"The runtime is known to be in an healthy state (for example, critical daemons are running) Applies to ACTIVE state.", +"The runtime is known to be in an unhealthy state (for example, critical daemons are not running) Applies to ACTIVE state.", +"The runtime has not installed health monitoring agent. Applies to ACTIVE state.", +"The runtime health monitoring agent is not running. Applies to ACTIVE state." +], +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this Managed Notebook or Runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", +"type": "object" +}, +"metrics": { +"$ref": "RuntimeMetrics", +"description": "Output only. Contains Runtime daemon metrics such as Service status and JupyterLab stats.", +"readOnly": true +}, +"migrated": { +"description": "Output only. Bool indicating whether this notebook has been migrated to a Workbench Instance", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}`", +"readOnly": true, +"type": "string" +}, +"runtimeMigrationEligibility": { +"$ref": "RuntimeMigrationEligibility", +"description": "Output only. Checks how feasible a migration from GmN to WbI is.", +"readOnly": true +}, +"softwareConfig": { +"$ref": "RuntimeSoftwareConfig", +"description": "The config settings for software inside the runtime." +}, +"state": { +"description": "Output only. Runtime state.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTING", +"PROVISIONING", +"ACTIVE", +"STOPPING", +"STOPPED", +"DELETING", +"UPGRADING", +"INITIALIZING" +], +"enumDescriptions": [ +"State is not specified.", +"The compute layer is starting the runtime. It is not ready for use.", +"The compute layer is installing required frameworks and registering the runtime with notebook proxy. It cannot be used.", +"The runtime is currently running. It is ready for use.", +"The control logic is stopping the runtime. It cannot be used.", +"The runtime is stopped. It cannot be used.", +"The runtime is being deleted. It cannot be used.", +"The runtime is upgrading. It cannot be used.", +"The runtime is being created and set up. It is not ready for use." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Runtime update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"virtualMachine": { +"$ref": "VirtualMachine", +"description": "Use a Compute Engine VM image to start the managed notebook instance." +} +}, +"type": "object" +}, +"RuntimeAcceleratorConfig": { +"description": "Definition of the types of hardware accelerators that can be used. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-a100`", +"id": "RuntimeAcceleratorConfig", +"properties": { +"coreCount": { +"description": "Count of cores of this accelerator.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Accelerator model.", +"enum": [ +"ACCELERATOR_TYPE_UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"NVIDIA_L4", +"TPU_V2", +"TPU_V3", +"NVIDIA_TESLA_T4_VWS", +"NVIDIA_TESLA_P100_VWS", +"NVIDIA_TESLA_P4_VWS" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Accelerator type is not specified.", +"Accelerator type is Nvidia Tesla K80.", +"Accelerator type is Nvidia Tesla P100.", +"Accelerator type is Nvidia Tesla V100.", +"Accelerator type is Nvidia Tesla P4.", +"Accelerator type is Nvidia Tesla T4.", +"Accelerator type is Nvidia Tesla A100 - 40GB.", +"Accelerator type is Nvidia L4.", +"(Coming soon) Accelerator type is TPU V2.", +"(Coming soon) Accelerator type is TPU V3.", +"Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P4 Virtual Workstations." +], +"type": "string" +} +}, +"type": "object" +}, +"RuntimeAccessConfig": { +"description": "Specifies the login configuration for Runtime", +"id": "RuntimeAccessConfig", +"properties": { +"accessType": { +"description": "The type of access mode this instance.", +"enum": [ +"RUNTIME_ACCESS_TYPE_UNSPECIFIED", +"SINGLE_USER", +"SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"Unspecified access.", +"Single user login.", +"Service Account mode. In Service Account mode, Runtime creator will specify a SA that exists in the consumer project. Using Runtime Service Account field. Users accessing the Runtime need ActAs (Service Account User) permission." +], +"type": "string" +}, +"proxyUri": { +"description": "Output only. The proxy endpoint that is used to access the runtime.", +"readOnly": true, +"type": "string" +}, +"runtimeOwner": { +"description": "The owner of this runtime after creation. Format: `alias@example.com` Currently supports one owner only.", +"type": "string" +} +}, +"type": "object" +}, +"RuntimeGuestOsFeature": { +"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Guest OS features for boot disk.", +"id": "RuntimeGuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Valid values: * `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`", +"type": "string" +} +}, +"type": "object" +}, +"RuntimeMetrics": { +"description": "Contains runtime daemon metrics, such as OS and kernels and sessions stats.", +"id": "RuntimeMetrics", +"properties": { +"systemMetrics": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The system metrics.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"RuntimeMigrationEligibility": { +"description": "RuntimeMigrationEligibility represents the feasibility information of a migration from GmN to WbI.", +"id": "RuntimeMigrationEligibility", +"properties": { +"errors": { +"description": "Output only. Certain configurations make the GmN ineligible for an automatic migration. A manual migration is required.", +"items": { +"enum": [ +"ERROR_UNSPECIFIED", +"CUSTOM_CONTAINER" +], +"enumDescriptions": [ +"Default type.", +"The GmN is configured with custom container(s) and cannot be migrated." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"warnings": { +"description": "Output only. Certain configurations will be defaulted during the migration.", +"items": { +"enum": [ +"WARNING_UNSPECIFIED", +"UNSUPPORTED_ACCELERATOR_TYPE", +"UNSUPPORTED_OS", +"RESERVED_IP_RANGE", +"GOOGLE_MANAGED_NETWORK", +"POST_STARTUP_SCRIPT", +"SINGLE_USER" +], +"enumDescriptions": [ +"Default type.", +"The GmN uses an accelerator type that's unsupported in WbI. It will be migrated without an accelerator. Users can attach an accelerator after the migration.", +"The GmN uses an operating system that's unsupported in WbI (e.g. Debian 10). It will be replaced with Debian 11 in WbI.", +"This GmN is configured with reserved IP range, which is no longer applicable in WbI.", +"This GmN is configured with a Google managed network. Please provide the `network` and `subnet` options for the migration.", +"This GmN is configured with a post startup script. Please optionally provide the `post_startup_script_option` for the migration.", +"This GmN is configured with single user mode. Please optionally provide the `service_account` option for the migration." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"RuntimeShieldedInstanceConfig": { +"description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid.", +"id": "RuntimeShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has 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. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"RuntimeSoftwareConfig": { +"description": "Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true`", +"id": "RuntimeSoftwareConfig", +"properties": { +"customGpuDriverPath": { +"description": "Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.", +"type": "string" +}, +"disableTerminal": { +"description": "Bool indicating whether JupyterLab terminal will be available or not. Default: False", +"type": "boolean" +}, +"enableHealthMonitoring": { +"description": "Verifies core internal services are running. Default: True", +"type": "boolean" +}, +"idleShutdown": { +"description": "Runtime will automatically shutdown after idle_shutdown_time. Default: True", +"type": "boolean" +}, +"idleShutdownTimeout": { +"description": "Time in minutes to wait before shutting down runtime. Default: 180 minutes", +"format": "int32", +"type": "integer" +}, +"installGpuDriver": { +"description": "Install Nvidia Driver automatically. Default: True", +"type": "boolean" +}, +"kernels": { +"description": "Optional. Use a list of container images to use as Kernels in the notebook instance.", +"items": { +"$ref": "ContainerImage" +}, +"type": "array" +}, +"mixerDisabled": { +"description": "Bool indicating whether mixer client should be disabled. Default: False", +"type": "boolean" +}, +"notebookUpgradeSchedule": { +"description": "Cron expression in UTC timezone, used to schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).", +"type": "string" +}, +"postStartupScript": { +"description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (`gs://path-to-file/file-name`).", +"type": "string" +}, +"postStartupScriptBehavior": { +"description": "Behavior for the post startup script.", +"enum": [ +"POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", +"RUN_EVERY_START", +"DOWNLOAD_AND_RUN_EVERY_START" +], +"enumDescriptions": [ +"Unspecified post startup script behavior. Will run only once at creation.", +"Runs the post startup script provided during creation at every start.", +"Downloads and runs the provided post startup script at every start." +], +"type": "string" +}, +"upgradeable": { +"description": "Output only. Bool indicating whether an newer image is available in an image family.", +"readOnly": true, +"type": "boolean" +}, +"version": { +"description": "Output only. version of boot image such as M100, from release label of the image.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Schedule": { +"description": "The definition of a schedule.", +"id": "Schedule", +"properties": { +"createTime": { +"description": "Output only. Time the schedule was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"cronSchedule": { +"description": "Cron-tab formatted schedule by which the job will execute. Format: minute, hour, day of month, month, day of week, e.g. `0 0 * * WED` = every Wednesday More examples: https://crontab.guru/examples.html", +"type": "string" +}, +"description": { +"description": "A brief description of this environment.", +"type": "string" +}, +"displayName": { +"description": "Output only. Display name used for UI purposes. Name can only contain alphanumeric characters, hyphens `-`, and underscores `_`.", +"readOnly": true, +"type": "string" +}, +"executionTemplate": { +"$ref": "ExecutionTemplate", +"description": "Notebook Execution Template corresponding to this schedule." +}, +"name": { +"description": "Output only. The name of this schedule. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"readOnly": true, +"type": "string" +}, +"recentExecutions": { +"description": "Output only. The most recent execution names triggered from this schedule and their corresponding states.", +"items": { +"$ref": "Execution" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"enum": [ +"STATE_UNSPECIFIED", +"ENABLED", +"PAUSED", +"DISABLED", +"UPDATE_FAILED", +"INITIALIZING", +"DELETING" +], +"enumDescriptions": [ +"Unspecified state.", +"The job is executing normally.", +"The job is paused by the user. It will not execute. A user can intentionally pause the job using [Cloud Scheduler](https://cloud.google.com/scheduler/docs/creating#pause).", +"The job is disabled by the system due to error. The user cannot directly set a job to be disabled.", +"The job state resulting from a failed [CloudScheduler.UpdateJob](https://cloud.google.com/scheduler/docs/creating#edit) operation. To recover a job from this state, retry [CloudScheduler.UpdateJob](https://cloud.google.com/scheduler/docs/creating#edit) until a successful response is received.", +"The schedule resource is being created.", +"The schedule resource is being deleted." +], +"type": "string" +}, +"timeZone": { +"description": "Timezone on which the cron_schedule. The value of this field must be a time zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones Note that some time zones include a provision for daylight savings time. The rules for daylight saving time are determined by the chosen tz. For UTC use the string \"utc\". If a time zone is not specified, the default will be in UTC (also known as GMT).", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time the schedule was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SchedulerAcceleratorConfig": { +"description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. See [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus) to find a valid combination. TPUs are not supported.", +"id": "SchedulerAcceleratorConfig", +"properties": { +"coreCount": { +"description": "Count of cores of this accelerator.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of this accelerator.", +"enum": [ +"SCHEDULER_ACCELERATOR_TYPE_UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"TPU_V2", +"TPU_V3" +], +"enumDescriptions": [ +"Unspecified accelerator type. Default to no GPU.", +"Nvidia Tesla K80 GPU.", +"Nvidia Tesla P100 GPU.", +"Nvidia Tesla V100 GPU.", +"Nvidia Tesla P4 GPU.", +"Nvidia Tesla T4 GPU.", +"Nvidia Tesla A100 GPU.", +"TPU v2.", +"TPU v3." +], +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +} +}, +"type": "object" +}, +"SetInstanceAcceleratorRequest": { +"description": "Request for setting instance accelerator.", +"id": "SetInstanceAcceleratorRequest", +"properties": { +"coreCount": { +"description": "Required. Count of cores of this accelerator. Note that not all combinations of `type` and `core_count` are valid. See [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination. TPUs are not supported.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Required. Type of this accelerator.", +"enum": [ +"ACCELERATOR_TYPE_UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"NVIDIA_L4", +"NVIDIA_A100_80GB", +"NVIDIA_TESLA_T4_VWS", +"NVIDIA_TESLA_P100_VWS", +"NVIDIA_TESLA_P4_VWS", +"NVIDIA_H100_80GB", +"NVIDIA_H100_MEGA_80GB", +"TPU_V2", +"TPU_V3" +], +"enumDescriptions": [ +"Accelerator type is not specified.", +"Accelerator type is Nvidia Tesla K80.", +"Accelerator type is Nvidia Tesla P100.", +"Accelerator type is Nvidia Tesla V100.", +"Accelerator type is Nvidia Tesla P4.", +"Accelerator type is Nvidia Tesla T4.", +"Accelerator type is Nvidia Tesla A100.", +"Accelerator type is Nvidia Tesla L4.", +"Accelerator type is Nvidia Tesla A100 80GB.", +"Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P4 Virtual Workstations.", +"Accelerator type is NVIDIA H100 80GB.", +"Accelerator type is NVIDIA H100 Mega 80GB.", +"(Coming soon) Accelerator type is TPU V2.", +"(Coming soon) Accelerator type is TPU V3." +], +"type": "string" +} +}, +"type": "object" +}, +"SetInstanceLabelsRequest": { +"description": "Request for setting instance labels.", +"id": "SetInstanceLabelsRequest", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this instance. These can be later modified by the setLabels method", +"type": "object" +} +}, +"type": "object" +}, +"SetInstanceMachineTypeRequest": { +"description": "Request for setting instance machine type.", +"id": "SetInstanceMachineTypeRequest", +"properties": { +"machineType": { +"description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource).", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has 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. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"StartInstanceRequest": { +"description": "Request for starting a notebook instance", +"id": "StartInstanceRequest", +"properties": {}, +"type": "object" +}, +"StartRuntimeRequest": { +"description": "Request for starting a Managed Notebook Runtime.", +"id": "StartRuntimeRequest", +"properties": { +"requestId": { +"description": "Idempotent request UUID.", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"StopInstanceRequest": { +"description": "Request for stopping a notebook instance", +"id": "StopInstanceRequest", +"properties": {}, +"type": "object" +}, +"StopRuntimeRequest": { +"description": "Request for stopping a Managed Notebook Runtime.", +"id": "StopRuntimeRequest", +"properties": { +"requestId": { +"description": "Idempotent request UUID.", +"type": "string" +} +}, +"type": "object" +}, +"SwitchRuntimeRequest": { +"description": "Request for switching a Managed Notebook Runtime.", +"id": "SwitchRuntimeRequest", +"properties": { +"acceleratorConfig": { +"$ref": "RuntimeAcceleratorConfig", +"description": "accelerator config." +}, +"machineType": { +"description": "machine type.", +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TriggerScheduleRequest": { +"description": "Request for created scheduled notebooks", +"id": "TriggerScheduleRequest", +"properties": {}, +"type": "object" +}, +"UpdateInstanceConfigRequest": { +"description": "Request for updating instance configurations.", +"id": "UpdateInstanceConfigRequest", +"properties": { +"config": { +"$ref": "InstanceConfig", +"description": "The instance configurations to be updated." +} +}, +"type": "object" +}, +"UpdateInstanceMetadataItemsRequest": { +"description": "Request for adding/changing metadata items for an instance.", +"id": "UpdateInstanceMetadataItemsRequest", +"properties": { +"items": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata items to add/update for the instance.", +"type": "object" +} +}, +"type": "object" +}, +"UpdateInstanceMetadataItemsResponse": { +"description": "Response for adding/changing metadata items for an instance.", +"id": "UpdateInstanceMetadataItemsResponse", +"properties": { +"items": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of items that were added/updated to/in the metadata.", +"type": "object" +} +}, +"type": "object" +}, +"UpdateShieldedInstanceConfigRequest": { +"description": "Request for updating the Shielded Instance config for a notebook instance. You can only use this method on a stopped instance", +"id": "UpdateShieldedInstanceConfigRequest", +"properties": { +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "ShieldedInstance configuration to be updated." +} +}, +"type": "object" +}, +"UpgradeHistoryEntry": { +"description": "The entry of VM image upgrade history.", +"id": "UpgradeHistoryEntry", +"properties": { +"action": { +"description": "Action. Rolloback or Upgrade.", +"enum": [ +"ACTION_UNSPECIFIED", +"UPGRADE", +"ROLLBACK" +], +"enumDescriptions": [ +"Operation is not specified.", +"Upgrade.", +"Rollback." +], +"type": "string" +}, +"containerImage": { +"description": "The container image before this instance upgrade.", +"type": "string" +}, +"createTime": { +"description": "The time that this instance upgrade history entry is created.", +"format": "google-datetime", +"type": "string" +}, +"framework": { +"description": "The framework of this notebook instance.", +"type": "string" +}, +"snapshot": { +"description": "The snapshot of the boot disk of this notebook instance before upgrade.", +"type": "string" +}, +"state": { +"description": "The state of this instance upgrade history entry.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"State is not specified.", +"The instance upgrade is started.", +"The instance upgrade is succeeded.", +"The instance upgrade is failed." +], +"type": "string" +}, +"targetImage": { +"deprecated": true, +"description": "Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.", +"type": "string" +}, +"targetVersion": { +"description": "Target VM Version, like m63.", +"type": "string" +}, +"version": { +"description": "The version of the notebook instance before this upgrade.", +"type": "string" +}, +"vmImage": { +"description": "The VM image before this instance upgrade.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeInstanceInternalRequest": { +"description": "Request for upgrading a notebook instance from within the VM", +"id": "UpgradeInstanceInternalRequest", +"properties": { +"type": { +"description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", +"enum": [ +"UPGRADE_TYPE_UNSPECIFIED", +"UPGRADE_FRAMEWORK", +"UPGRADE_OS", +"UPGRADE_CUDA", +"UPGRADE_ALL" +], +"enumDescriptions": [ +"Upgrade type is not specified.", +"Upgrade ML framework.", +"Upgrade Operating System.", +"Upgrade CUDA.", +"Upgrade All (OS, Framework and CUDA)." +], +"type": "string" +}, +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeInstanceRequest": { +"description": "Request for upgrading a notebook instance", +"id": "UpgradeInstanceRequest", +"properties": { +"type": { +"description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", +"enum": [ +"UPGRADE_TYPE_UNSPECIFIED", +"UPGRADE_FRAMEWORK", +"UPGRADE_OS", +"UPGRADE_CUDA", +"UPGRADE_ALL" +], +"enumDescriptions": [ +"Upgrade type is not specified.", +"Upgrade ML framework.", +"Upgrade Operating System.", +"Upgrade CUDA.", +"Upgrade All (OS, Framework and CUDA)." +], +"type": "string" +} +}, +"type": "object" +}, +"UpgradeRuntimeRequest": { +"description": "Request for upgrading a Managed Notebook Runtime to the latest version. option (google.api.message_visibility).restriction = \"TRUSTED_TESTER,SPECIAL_TESTER\";", +"id": "UpgradeRuntimeRequest", +"properties": { +"requestId": { +"description": "Idempotent request UUID.", +"type": "string" +} +}, +"type": "object" +}, +"VertexAIParameters": { +"description": "Parameters used in Vertex AI JobType executions.", +"id": "VertexAIParameters", +"properties": { +"env": { +"additionalProperties": { +"type": "string" +}, +"description": "Environment variables. At most 100 environment variables can be specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/`", +"type": "object" +}, +"network": { +"description": "The full name of the Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](https://cloud.google.com/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. If left unspecified, the job is not peered with any network.", +"type": "string" +} +}, +"type": "object" +}, +"VirtualMachine": { +"description": "Runtime using Virtual Machine for computing.", +"id": "VirtualMachine", +"properties": { +"instanceId": { +"description": "Output only. The unique identifier of the Managed Compute Engine instance.", +"readOnly": true, +"type": "string" +}, +"instanceName": { +"description": "Output only. The user-friendly name of the Managed Compute Engine instance.", +"readOnly": true, +"type": "string" +}, +"virtualMachineConfig": { +"$ref": "VirtualMachineConfig", +"description": "Virtual Machine configuration settings." +} +}, +"type": "object" +}, +"VirtualMachineConfig": { +"description": "The config settings for virtual machine.", +"id": "VirtualMachineConfig", +"properties": { +"acceleratorConfig": { +"$ref": "RuntimeAcceleratorConfig", +"description": "Optional. The Compute Engine accelerator configuration for this runtime." +}, +"bootImage": { +"$ref": "BootImage", +"description": "Optional. Boot image metadata used for runtime upgradeability." +}, +"containerImages": { +"description": "Optional. Use a list of container images to use as Kernels in the notebook instance.", +"items": { +"$ref": "ContainerImage" +}, +"type": "array" +}, +"dataDisk": { +"$ref": "LocalDisk", +"description": "Required. Data disk option configuration settings." +}, +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Optional. Encryption settings for virtual machine data disk." +}, +"guestAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The Compute Engine guest attributes. (see [Project and instance guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-metadata#guest_attributes)).", +"readOnly": true, +"type": "object" +}, +"internalIpOnly": { +"description": "Optional. If true, runtime will only have internal IP addresses. By default, runtimes are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each vm. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all dependencies must be configured to be accessible without external IP addresses.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", +"type": "object" +}, +"machineType": { +"description": "Required. The Compute Engine machine type used for runtimes. Short name is valid. Examples: * `n1-standard-2` * `e2-standard-8`", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).", +"type": "object" +}, +"network": { +"description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the \"default\" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access.", +"type": "string" +}, +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"No type specified.", +"VIRTIO", +"GVNIC" +], +"type": "string" +}, +"reservedIpRange": { +"description": "Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \\ --global \\ --prefix-length=24 \\ --description=\"Google Cloud Managed Notebooks Range 24 c\" \\ --network=$NETWORK \\ --addresses=192.168.0.0 \\ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c`", +"type": "string" +}, +"shieldedInstanceConfig": { +"$ref": "RuntimeShieldedInstanceConfig", +"description": "Optional. Shielded VM Instance configuration settings." +}, +"subnet": { +"description": "Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network. A full URL or partial URI are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/subnetworks/sub0`", +"type": "string" +}, +"tags": { +"description": "Optional. The Compute Engine network tags to add to runtime (see [Add network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "Output only. The zone where the virtual machine is located. If using regional request, the notebooks service will pick a location in the corresponding runtime region. On a get request, zone will always be present. Example: * `us-central1-b`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VmImage": { +"description": "Definition of a custom Compute Engine virtual machine image for starting a notebook instance with the environment installed directly on the VM.", +"id": "VmImage", +"properties": { +"imageFamily": { +"description": "Use this VM image family to find the image; the newest image in this family will be used.", +"type": "string" +}, +"imageName": { +"description": "Use VM image name to find the image.", +"type": "string" +}, +"project": { +"description": "Required. The name of the Google Cloud project that this VM image belongs to. Format: `{project_id}`", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Notebooks API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/parallelstore.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/parallelstore.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..cf8595d744fe63974c7ae803e3a57b17df8bf250 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/parallelstore.v1.json @@ -0,0 +1,986 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://parallelstore.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Parallelstore", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/parallelstore", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "parallelstore:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://parallelstore.mtls.googleapis.com/", +"name": "parallelstore", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"create": { +"description": "Creates a Parallelstore instance in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "parallelstore.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. The name of the Parallelstore instance. * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The instance's project and location, in the format `projects/{project}/locations/{location}`. Locations map to Google Cloud zones; for example, `us-west1-b`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "parallelstore.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportData": { +"description": "Copies data from Parallelstore to Cloud Storage.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:exportData", +"httpMethod": "POST", +"id": "parallelstore.projects.locations.instances.exportData", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:exportData", +"request": { +"$ref": "ExportDataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importData": { +"description": "Copies data from Cloud Storage to Parallelstore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:importData", +"httpMethod": "POST", +"id": "parallelstore.projects.locations.instances.importData", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:importData", +"request": { +"$ref": "ImportDataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all instances in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve instance information, in the format `projects/{project_id}/locations/{location}`. To retrieve instance information for all locations, use \"-\" as the value of `{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "parallelstore.projects.locations.instances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. Field mask is used to specify the fields to be overwritten in the Instance resource by the update. At least one path must be supplied in this field. The fields specified in the update_mask are relative to the resource, not the full request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "parallelstore.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"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`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "parallelstore.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "parallelstore.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250102", +"rootUrl": "https://parallelstore.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"DestinationGcsBucket": { +"description": "Cloud Storage as the destination of a data transfer.", +"id": "DestinationGcsBucket", +"properties": { +"uri": { +"description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", +"type": "string" +} +}, +"type": "object" +}, +"DestinationParallelstore": { +"description": "Parallelstore as the destination of a data transfer.", +"id": "DestinationParallelstore", +"properties": { +"path": { +"description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", +"type": "string" +} +}, +"type": "object" +}, +"ExportDataRequest": { +"description": "Export data from Parallelstore to Cloud Storage.", +"id": "ExportDataRequest", +"properties": { +"destinationGcsBucket": { +"$ref": "DestinationGcsBucket", +"description": "Cloud Storage destination." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. User-specified Service Account (SA) credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", +"type": "string" +}, +"sourceParallelstore": { +"$ref": "SourceParallelstore", +"description": "Parallelstore source." +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"ImportDataRequest": { +"description": "Import data from Cloud Storage into a Parallelstore instance.", +"id": "ImportDataRequest", +"properties": { +"destinationParallelstore": { +"$ref": "DestinationParallelstore", +"description": "Parallelstore destination." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. User-specified service account credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", +"type": "string" +}, +"sourceGcsBucket": { +"$ref": "SourceGcsBucket", +"description": "The Cloud Storage source bucket and, optionally, path inside the bucket." +} +}, +"type": "object" +}, +"Instance": { +"description": "A Parallelstore instance.", +"id": "Instance", +"properties": { +"accessPoints": { +"description": "Output only. A list of IPv4 addresses used for client side configuration.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"capacityGib": { +"description": "Required. Immutable. The instance's storage capacity in Gibibytes (GiB). Allowed values are between 12000 and 100000, in multiples of 4000; e.g., 12000, 16000, 20000, ...", +"format": "int64", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deploymentType": { +"description": "Optional. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance.", +"enum": [ +"DEPLOYMENT_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default Deployment Type It is equivalent to SCRATCH", +"Scratch", +"Persistent" +], +"type": "string" +}, +"description": { +"description": "Optional. The description of the instance. 2048 characters or less.", +"type": "string" +}, +"directoryStripeLevel": { +"description": "Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files.", +"enum": [ +"DIRECTORY_STRIPE_LEVEL_UNSPECIFIED", +"DIRECTORY_STRIPE_LEVEL_MIN", +"DIRECTORY_STRIPE_LEVEL_BALANCED", +"DIRECTORY_STRIPE_LEVEL_MAX" +], +"enumDescriptions": [ +"If not set, DirectoryStripeLevel will default to DIRECTORY_STRIPE_LEVEL_MAX", +"Minimum directory striping", +"Medium directory striping", +"Maximum directory striping" +], +"type": "string" +}, +"effectiveReservedIpRange": { +"description": "Output only. Immutable. The ID of the IP address range being used by the instance's VPC network. This field is populated by the service and contains the value currently used by the service.", +"readOnly": true, +"type": "string" +}, +"fileStripeLevel": { +"description": "Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.", +"enum": [ +"FILE_STRIPE_LEVEL_UNSPECIFIED", +"FILE_STRIPE_LEVEL_MIN", +"FILE_STRIPE_LEVEL_BALANCED", +"FILE_STRIPE_LEVEL_MAX" +], +"enumDescriptions": [ +"If not set, FileStripeLevel will default to FILE_STRIPE_LEVEL_BALANCED", +"Minimum file striping", +"Medium file striping", +"Maximum file striping" +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. See https://cloud.google.com/resource-manager/docs/labels-overview for details.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", +"type": "string" +}, +"network": { +"description": "Optional. Immutable. The name of the Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.", +"type": "string" +}, +"reservedIpRange": { +"description": "Optional. Immutable. The ID of the IP address range being used by the instance's VPC network. See [Configure a VPC network](https://cloud.google.com/parallelstore/docs/vpc#create_and_configure_the_vpc). If no ID is provided, all ranges are considered.", +"type": "string" +}, +"state": { +"description": "Output only. The instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"FAILED", +"UPGRADING", +"REPAIRING" +], +"enumDescriptions": [ +"Not set.", +"The instance is being created.", +"The instance is available for use.", +"The instance is being deleted.", +"The instance is not usable.", +"The instance is being upgraded.", +"The instance is being repaired. This should only be used by instances using the `PERSISTENT` deployment type." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response from ListInstances.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "The list of Parallelstore instances.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Long-running operation metadata.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"SourceGcsBucket": { +"description": "Cloud Storage as the source of a data transfer.", +"id": "SourceGcsBucket", +"properties": { +"uri": { +"description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", +"type": "string" +} +}, +"type": "object" +}, +"SourceParallelstore": { +"description": "Parallelstore as the source of a data transfer.", +"id": "SourceParallelstore", +"properties": { +"path": { +"description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Parallelstore API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playgrouping.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playgrouping.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..20a5bb1b513eaf4b73381cc744860dc99efaa4b2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playgrouping.v1alpha1.json @@ -0,0 +1,262 @@ +{ +"basePath": "", +"baseUrl": "https://playgrouping.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Play Grouping", +"description": "playgrouping.googleapis.com API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/playgrouping/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "playgrouping:v1alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://playgrouping.mtls.googleapis.com/", +"name": "playgrouping", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"apps": { +"resources": { +"tokens": { +"methods": { +"verify": { +"description": "Verify an API token by asserting the app and persona it belongs to. The verification is a protection against client-side attacks and will fail if the contents of the token don't match the provided values. A token must be verified before it can be used to manipulate user tags.", +"flatPath": "v1alpha1/apps/{appsId}/tokens/{tokensId}:verify", +"httpMethod": "POST", +"id": "playgrouping.apps.tokens.verify", +"parameterOrder": [ +"appPackage", +"token" +], +"parameters": { +"appPackage": { +"description": "Required. App the token belongs to. Format: apps/{package_name}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +}, +"token": { +"description": "Required. The token to be verified. Format: tokens/{token}", +"location": "path", +"pattern": "^tokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+appPackage}/{+token}:verify", +"request": { +"$ref": "VerifyTokenRequest" +}, +"response": { +"$ref": "VerifyTokenResponse" +} +} +}, +"resources": { +"tags": { +"methods": { +"createOrUpdate": { +"description": "Create or update tags for the user and app that are represented by the given token.", +"flatPath": "v1alpha1/apps/{appsId}/tokens/{tokensId}/tags:createOrUpdate", +"httpMethod": "POST", +"id": "playgrouping.apps.tokens.tags.createOrUpdate", +"parameterOrder": [ +"appPackage", +"token" +], +"parameters": { +"appPackage": { +"description": "Required. App whose tags are being manipulated. Format: apps/{package_name}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +}, +"token": { +"description": "Required. Token for which the tags are being inserted or updated. Format: tokens/{token}", +"location": "path", +"pattern": "^tokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+appPackage}/{+token}/tags:createOrUpdate", +"request": { +"$ref": "CreateOrUpdateTagsRequest" +}, +"response": { +"$ref": "CreateOrUpdateTagsResponse" +} +} +} +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://playgrouping.googleapis.com/", +"schemas": { +"CreateOrUpdateTagsRequest": { +"description": "Request message for CreateOrUpdateTags. VerifyToken.", +"id": "CreateOrUpdateTagsRequest", +"properties": { +"tags": { +"description": "Tags to be inserted or updated.", +"items": { +"$ref": "Tag" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateOrUpdateTagsResponse": { +"description": "Response message for CreateOrUpdateTags.", +"id": "CreateOrUpdateTagsResponse", +"properties": { +"tags": { +"description": "All requested tags are returned, including pre-existing ones.", +"items": { +"$ref": "Tag" +}, +"type": "array" +} +}, +"type": "object" +}, +"Tag": { +"description": "A tag is associated with exactly one package name and user.", +"id": "Tag", +"properties": { +"booleanValue": { +"description": "A boolean value of the tag.", +"type": "boolean" +}, +"int64Value": { +"description": "A signed 64-bit integer value of the tag.", +"format": "int64", +"type": "string" +}, +"key": { +"description": "Required. Key for the tag.", +"type": "string" +}, +"stringValue": { +"description": "A string value of the tag.", +"type": "string" +}, +"timeValue": { +"description": "A time value of the tag.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"VerifyTokenRequest": { +"description": "Request message for VerifyToken.", +"id": "VerifyTokenRequest", +"properties": { +"persona": { +"description": "Required. Persona represented by the token. Format: personas/{persona}", +"type": "string" +} +}, +"type": "object" +}, +"VerifyTokenResponse": { +"description": "Response message for VerifyToken.", +"id": "VerifyTokenResponse", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Play Grouping API", +"version": "v1alpha1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..0e9ef97a283feb9a2cc98ed123e37943a0f07998 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json @@ -0,0 +1,984 @@ +{ + "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." + } + } + } + }, + "basePath": "", + "baseUrl": "https://policysimulator.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Policy Simulator", + "description": " Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. A `Replay` is a type of simulation that lets you see how your members' access to resources might change if you changed your IAM policy. During a `Replay`, Policy Simulator re-evaluates, or replays, past access attempts under both the current policy and your proposed policy, and compares those results to determine how your members' access might change under the proposed policy.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/iam/docs/simulating-access", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "policysimulator:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://policysimulator.mtls.googleapis.com/", + "name": "policysimulator", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "folders": { + "resources": { + "locations": { + "resources": { + "orgPolicyViolationsPreviews": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.folders.locations.orgPolicyViolationsPreviews.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/orgPolicyViolationsPreviews/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "replays": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.folders.locations.replays.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/replays/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations", + "httpMethod": "GET", + "id": "policysimulator.folders.locations.replays.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/replays/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1beta1/operations", + "httpMethod": "GET", + "id": "policysimulator.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "organizations": { + "resources": { + "locations": { + "resources": { + "orgPolicyViolationsPreviews": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.organizations.locations.orgPolicyViolationsPreviews.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/orgPolicyViolationsPreviews/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "replays": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.organizations.locations.replays.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/replays/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations", + "httpMethod": "GET", + "id": "policysimulator.organizations.locations.replays.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/replays/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "orgPolicyViolationsPreviews": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.projects.locations.orgPolicyViolationsPreviews.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/orgPolicyViolationsPreviews/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "replays": { + "resources": { + "operations": { + "methods": { + "get": { + "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.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "policysimulator.projects.locations.replays.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/replays/[^/]+/operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations", + "httpMethod": "GET", + "id": "policysimulator.projects.locations.replays.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/replays/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20230226", + "rootUrl": "https://policysimulator.googleapis.com/", + "schemas": { + "GoogleCloudPolicysimulatorV1Replay": { + "description": "A resource describing a `Replay`, or simulation.", + "id": "GoogleCloudPolicysimulatorV1Replay", + "properties": { + "config": { + "$ref": "GoogleCloudPolicysimulatorV1ReplayConfig", + "description": "Required. The configuration used for the `Replay`." + }, + "name": { + "description": "Output only. The resource name of the `Replay`, which has the following format: `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36`", + "readOnly": true, + "type": "string" + }, + "resultsSummary": { + "$ref": "GoogleCloudPolicysimulatorV1ReplayResultsSummary", + "description": "Output only. Summary statistics about the replayed log entries.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the `Replay`.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The `Replay` has not started yet.", + "The `Replay` is currently running.", + "The `Replay` has successfully completed.", + "The `Replay` has finished with an error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1ReplayConfig": { + "description": "The configuration used for a Replay.", + "id": "GoogleCloudPolicysimulatorV1ReplayConfig", + "properties": { + "logSource": { + "description": "The logs to use as input for the Replay.", + "enum": [ + "LOG_SOURCE_UNSPECIFIED", + "RECENT_ACCESSES" + ], + "enumDescriptions": [ + "An unspecified log source. If the log source is unspecified, the Replay defaults to using `RECENT_ACCESSES`.", + "All access logs from the last 90 days. These logs may not include logs from the most recent 7 days." + ], + "type": "string" + }, + "policyOverlay": { + "additionalProperties": { + "$ref": "GoogleIamV1Policy" + }, + "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1ReplayOperationMetadata": { + "description": "Metadata about a Replay operation.", + "id": "GoogleCloudPolicysimulatorV1ReplayOperationMetadata", + "properties": { + "startTime": { + "description": "Time when the request was received.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1ReplayResultsSummary": { + "description": "Summary statistics about the replayed log entries.", + "id": "GoogleCloudPolicysimulatorV1ReplayResultsSummary", + "properties": { + "differenceCount": { + "description": "The number of replayed log entries with a difference between baseline and simulated policies.", + "format": "int32", + "type": "integer" + }, + "errorCount": { + "description": "The number of log entries that could not be replayed.", + "format": "int32", + "type": "integer" + }, + "logCount": { + "description": "The total number of log entries replayed.", + "format": "int32", + "type": "integer" + }, + "newestDate": { + "$ref": "GoogleTypeDate", + "description": "The date of the newest log entry replayed." + }, + "oldestDate": { + "$ref": "GoogleTypeDate", + "description": "The date of the oldest log entry replayed." + }, + "unchangedCount": { + "description": "The number of replayed log entries with no difference between baseline and simulated policies.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1beta1Replay": { + "description": "A resource describing a `Replay`, or simulation.", + "id": "GoogleCloudPolicysimulatorV1beta1Replay", + "properties": { + "config": { + "$ref": "GoogleCloudPolicysimulatorV1beta1ReplayConfig", + "description": "Required. The configuration used for the `Replay`." + }, + "name": { + "description": "Output only. The resource name of the `Replay`, which has the following format: `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36`", + "readOnly": true, + "type": "string" + }, + "resultsSummary": { + "$ref": "GoogleCloudPolicysimulatorV1beta1ReplayResultsSummary", + "description": "Output only. Summary statistics about the replayed log entries.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the `Replay`.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The `Replay` has not started yet.", + "The `Replay` is currently running.", + "The `Replay` has successfully completed.", + "The `Replay` has finished with an error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1beta1ReplayConfig": { + "description": "The configuration used for a Replay.", + "id": "GoogleCloudPolicysimulatorV1beta1ReplayConfig", + "properties": { + "logSource": { + "description": "The logs to use as input for the Replay.", + "enum": [ + "LOG_SOURCE_UNSPECIFIED", + "RECENT_ACCESSES" + ], + "enumDescriptions": [ + "An unspecified log source. If the log source is unspecified, the Replay defaults to using `RECENT_ACCESSES`.", + "All access logs from the last 90 days. These logs may not include logs from the most recent 7 days." + ], + "type": "string" + }, + "policyOverlay": { + "additionalProperties": { + "$ref": "GoogleIamV1Policy" + }, + "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1beta1ReplayOperationMetadata": { + "description": "Metadata about a Replay operation.", + "id": "GoogleCloudPolicysimulatorV1beta1ReplayOperationMetadata", + "properties": { + "startTime": { + "description": "Time when the request was received.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPolicysimulatorV1beta1ReplayResultsSummary": { + "description": "Summary statistics about the replayed log entries.", + "id": "GoogleCloudPolicysimulatorV1beta1ReplayResultsSummary", + "properties": { + "differenceCount": { + "description": "The number of replayed log entries with a difference between baseline and simulated policies.", + "format": "int32", + "type": "integer" + }, + "errorCount": { + "description": "The number of log entries that could not be replayed.", + "format": "int32", + "type": "integer" + }, + "logCount": { + "description": "The total number of log entries replayed.", + "format": "int32", + "type": "integer" + }, + "newestDate": { + "$ref": "GoogleTypeDate", + "description": "The date of the newest log entry replayed." + }, + "oldestDate": { + "$ref": "GoogleTypeDate", + "description": "The date of the oldest log entry replayed." + }, + "unchangedCount": { + "description": "The number of replayed log entries with no difference between baseline and simulated policies.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "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)." + }, + "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`. * `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.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "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 < 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 < 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": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "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`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "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.", + "format": "byte", + "type": "string" + }, + "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).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "GoogleLongrunningListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "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": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "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" + }, + "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" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. 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" + } + }, + "type": "object" + }, + "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).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "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" + } + }, + "type": "object" + }, + "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", + "id": "GoogleTypeDate", + "properties": { + "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.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "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() < 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.", + "id": "GoogleTypeExpr", + "properties": { + "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" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "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" + }, + "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" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Policy Simulator API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..7ef252cc23f9f2abe40cacb0d2eec276e1acfd94 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json @@ -0,0 +1,502 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://policytroubleshooter.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Policy Troubleshooter", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/iam/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "policytroubleshooter:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://policytroubleshooter.mtls.googleapis.com/", +"name": "policytroubleshooter", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"iam": { +"methods": { +"troubleshoot": { +"description": "Checks whether a member has a specific permission for a specific resource, and explains why the member does or does not have that permission.", +"flatPath": "v1beta/iam:troubleshoot", +"httpMethod": "POST", +"id": "policytroubleshooter.iam.troubleshoot", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta/iam:troubleshoot", +"request": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest" +}, +"response": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://policytroubleshooter.googleapis.com/", +"schemas": { +"GoogleCloudPolicytroubleshooterV1betaAccessTuple": { +"description": "Information about the member, resource, and permission to check.", +"id": "GoogleCloudPolicytroubleshooterV1betaAccessTuple", +"properties": { +"fullResourceName": { +"description": "Required. The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.", +"type": "string" +}, +"permission": { +"description": "Required. The IAM permission to check for the specified member and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", +"type": "string" +}, +"principal": { +"description": "Required. The member, or principal, whose access you want to check, in the form of the email address that represents that member. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The member must be a Google Account or a service account. Other types of members are not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudPolicytroubleshooterV1betaBindingExplanation": { +"description": "Details about how a binding in a policy affects a member's ability to use a permission.", +"id": "GoogleCloudPolicytroubleshooterV1betaBindingExplanation", +"properties": { +"access": { +"description": "Indicates whether _this binding_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", +"enum": [ +"ACCESS_STATE_UNSPECIFIED", +"GRANTED", +"NOT_GRANTED", +"UNKNOWN_CONDITIONAL", +"UNKNOWN_INFO_DENIED" +], +"enumDescriptions": [ +"Reserved for future use.", +"The member has the permission.", +"The member does not have the permission.", +"The member has the permission only if a condition expression evaluates to `true`.", +"The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." +], +"type": "string" +}, +"condition": { +"$ref": "GoogleTypeExpr", +"description": "A condition expression that prevents access unless the expression evaluates to `true`. To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview." +}, +"memberships": { +"additionalProperties": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership" +}, +"description": "Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request. For example, suppose that a binding includes the following members: * `user:alice@example.com` * `group:product-eng@example.com` You want to troubleshoot access for `user:bob@example.com`. This user is a member of the group `group:product-eng@example.com`. For the first member in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second member in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", +"type": "object" +}, +"relevance": { +"description": "The relevance of this binding to the overall determination for the entire policy.", +"enum": [ +"HEURISTIC_RELEVANCE_UNSPECIFIED", +"NORMAL", +"HIGH" +], +"enumDescriptions": [ +"Reserved for future use.", +"The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", +"The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." +], +"type": "string" +}, +"role": { +"description": "The role that this binding grants. For example, `roles/compute.serviceAgent`. For a complete list of predefined IAM roles, as well as the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", +"type": "string" +}, +"rolePermission": { +"description": "Indicates whether the role granted by this binding contains the specified permission.", +"enum": [ +"ROLE_PERMISSION_UNSPECIFIED", +"ROLE_PERMISSION_INCLUDED", +"ROLE_PERMISSION_NOT_INCLUDED", +"ROLE_PERMISSION_UNKNOWN_INFO_DENIED" +], +"enumDescriptions": [ +"Reserved for future use.", +"The permission is included in the role.", +"The permission is not included in the role.", +"The sender of the request is not allowed to access the binding." +], +"type": "string" +}, +"rolePermissionRelevance": { +"description": "The relevance of the permission's existence, or nonexistence, in the role to the overall determination for the entire policy.", +"enum": [ +"HEURISTIC_RELEVANCE_UNSPECIFIED", +"NORMAL", +"HIGH" +], +"enumDescriptions": [ +"Reserved for future use.", +"The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", +"The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership": { +"description": "Details about whether the binding includes the member.", +"id": "GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership", +"properties": { +"membership": { +"description": "Indicates whether the binding includes the member.", +"enum": [ +"MEMBERSHIP_UNSPECIFIED", +"MEMBERSHIP_INCLUDED", +"MEMBERSHIP_NOT_INCLUDED", +"MEMBERSHIP_UNKNOWN_INFO_DENIED", +"MEMBERSHIP_UNKNOWN_UNSUPPORTED" +], +"enumDescriptions": [ +"Reserved for future use.", +"The binding includes the member. The member can be included directly or indirectly. For example: * A member is included directly if that member is listed in the binding. * A member is included indirectly if that member is in a Google group or G Suite domain that is listed in the binding.", +"The binding does not include the member.", +"The sender of the request is not allowed to access the binding.", +"The member is an unsupported type. Only Google Accounts and service accounts are supported." +], +"type": "string" +}, +"relevance": { +"description": "The relevance of the member's status to the overall determination for the binding.", +"enum": [ +"HEURISTIC_RELEVANCE_UNSPECIFIED", +"NORMAL", +"HIGH" +], +"enumDescriptions": [ +"Reserved for future use.", +"The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", +"The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudPolicytroubleshooterV1betaExplainedPolicy": { +"description": "Details about how a specific IAM Policy contributed to the access check.", +"id": "GoogleCloudPolicytroubleshooterV1betaExplainedPolicy", +"properties": { +"access": { +"description": "Indicates whether _this policy_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", +"enum": [ +"ACCESS_STATE_UNSPECIFIED", +"GRANTED", +"NOT_GRANTED", +"UNKNOWN_CONDITIONAL", +"UNKNOWN_INFO_DENIED" +], +"enumDescriptions": [ +"Reserved for future use.", +"The member has the permission.", +"The member does not have the permission.", +"The member has the permission only if a condition expression evaluates to `true`.", +"The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." +], +"type": "string" +}, +"bindingExplanations": { +"description": "Details about how each binding in the policy affects the member's ability, or inability, to use the permission for the resource. If the sender of the request does not have access to the policy, this field is omitted.", +"items": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaBindingExplanation" +}, +"type": "array" +}, +"fullResourceName": { +"description": "The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.", +"type": "string" +}, +"policy": { +"$ref": "GoogleIamV1Policy", +"description": "The IAM policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty." +}, +"relevance": { +"description": "The relevance of this policy to the overall determination in the TroubleshootIamPolicyResponse. If the sender of the request does not have access to the policy, this field is omitted.", +"enum": [ +"HEURISTIC_RELEVANCE_UNSPECIFIED", +"NORMAL", +"HIGH" +], +"enumDescriptions": [ +"Reserved for future use.", +"The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", +"The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest": { +"description": "Request for TroubleshootIamPolicy.", +"id": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest", +"properties": { +"accessTuple": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaAccessTuple", +"description": "The information to use for checking whether a member has a permission for a resource." +} +}, +"type": "object" +}, +"GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse": { +"description": "Response for TroubleshootIamPolicy.", +"id": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse", +"properties": { +"access": { +"description": "Indicates whether the member has the specified permission for the specified resource, based on evaluating all of the applicable policies.", +"enum": [ +"ACCESS_STATE_UNSPECIFIED", +"GRANTED", +"NOT_GRANTED", +"UNKNOWN_CONDITIONAL", +"UNKNOWN_INFO_DENIED" +], +"enumDescriptions": [ +"Reserved for future use.", +"The member has the permission.", +"The member does not have the permission.", +"The member has the permission only if a condition expression evaluates to `true`.", +"The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." +], +"type": "string" +}, +"explainedPolicies": { +"description": "List of IAM policies that were evaluated to check the member's permissions, with annotations to indicate how each policy contributed to the final result. The list of policies can include the policy for the resource itself. It can also include policies that are inherited from higher levels of the resource hierarchy, including the organization, the folder, and the project. To learn more about the resource hierarchy, see https://cloud.google.com/iam/help/resource-hierarchy.", +"items": { +"$ref": "GoogleCloudPolicytroubleshooterV1betaExplainedPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "GoogleIamV1AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "GoogleIamV1AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "GoogleIamV1AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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 < 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 < 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": "GoogleIamV1Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "GoogleIamV1AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "GoogleTypeExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Policy Troubleshooter API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..d4fd2d291aab165af7c674b13e49ad1ed1062c6c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1.json @@ -0,0 +1,3092 @@ +{ +"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" +} +} +} +}, +"basePath": "", +"baseUrl": "https://pubsub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Pubsub", +"description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/pubsub/docs", +"endpoints": [ +{ +"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" +} +], +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "pubsub:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", +"name": "pubsub", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"schemas": { +"methods": { +"commit": { +"description": "Commits a new schema revision to an existing schema.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:commit", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.commit", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:commit", +"request": { +"$ref": "CommitSchemaRequest" +}, +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"create": { +"description": "Creates a schema.", +"flatPath": "v1/projects/{projectsId}/schemas", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project in which to create the schema. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"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" +} +}, +"path": "v1/{+parent}/schemas", +"request": { +"$ref": "Schema" +}, +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"delete": { +"description": "Deletes a schema.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "pubsub.projects.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"deleteRevision": { +"description": "Deletes a specific schema revision.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:deleteRevision", +"httpMethod": "DELETE", +"id": "pubsub.projects.schemas.deleteRevision", +"parameterOrder": [ +"name" +], +"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`", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +}, +"revisionId": { +"deprecated": true, +"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" +} +}, +"path": "v1/{+name}:deleteRevision", +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"description": "Gets a schema.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "pubsub.projects.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"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`.", +"enum": [ +"SCHEMA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"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", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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}/schemas/{schemasId}:getIamPolicy", +"httpMethod": "GET", +"id": "pubsub.projects.schemas.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"list": { +"description": "Lists schemas in a project.", +"flatPath": "v1/projects/{projectsId}/schemas", +"httpMethod": "GET", +"id": "pubsub.projects.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of schemas to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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 list schemas. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"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.", +"enum": [ +"SCHEMA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"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", +"type": "string" +} +}, +"path": "v1/{+parent}/schemas", +"response": { +"$ref": "ListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"listRevisions": { +"description": "Lists all schema revisions for the named schema.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:listRevisions", +"httpMethod": "GET", +"id": "pubsub.projects.schemas.listRevisions", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the schema to list revisions for.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of revisions to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page.", +"location": "query", +"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.", +"enum": [ +"SCHEMA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"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", +"type": "string" +} +}, +"path": "v1/{+name}:listRevisions", +"response": { +"$ref": "ListSchemaRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"rollback": { +"description": "Creates a new schema revision that is a copy of the provided revision_id.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:rollback", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The schema being rolled back with revision id.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rollback", +"request": { +"$ref": "RollbackSchemaRequest" +}, +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:setIamPolicy", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:testIamPermissions", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"validate": { +"description": "Validates a schema.", +"flatPath": "v1/projects/{projectsId}/schemas:validate", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.validate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schemas:validate", +"request": { +"$ref": "ValidateSchemaRequest" +}, +"response": { +"$ref": "ValidateSchemaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"validateMessage": { +"description": "Validates a message against a schema.", +"flatPath": "v1/projects/{projectsId}/schemas:validateMessage", +"httpMethod": "POST", +"id": "pubsub.projects.schemas.validateMessage", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schemas:validateMessage", +"request": { +"$ref": "ValidateMessageRequest" +}, +"response": { +"$ref": "ValidateMessageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +}, +"snapshots": { +"methods": { +"create": { +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", +"httpMethod": "PUT", +"id": "pubsub.projects.snapshots.create", +"parameterOrder": [ +"name" +], +"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}`.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CreateSnapshotRequest" +}, +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"delete": { +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", +"httpMethod": "DELETE", +"id": "pubsub.projects.snapshots.delete", +"parameterOrder": [ +"snapshot" +], +"parameters": { +"snapshot": { +"description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+snapshot}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", +"httpMethod": "GET", +"id": "pubsub.projects.snapshots.get", +"parameterOrder": [ +"snapshot" +], +"parameters": { +"snapshot": { +"description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+snapshot}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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}/snapshots/{snapshotsId}:getIamPolicy", +"httpMethod": "GET", +"id": "pubsub.projects.snapshots.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots", +"httpMethod": "GET", +"id": "pubsub.projects.snapshots.list", +"parameterOrder": [ +"project" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of snapshots to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"project": { +"description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/snapshots", +"response": { +"$ref": "ListSnapshotsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"patch": { +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", +"httpMethod": "PATCH", +"id": "pubsub.projects.snapshots.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Optional. The name of the snapshot.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "UpdateSnapshotRequest" +}, +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", +"httpMethod": "POST", +"id": "pubsub.projects.snapshots.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", +"httpMethod": "POST", +"id": "pubsub.projects.snapshots.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +}, +"subscriptions": { +"methods": { +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.acknowledge", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:acknowledge", +"request": { +"$ref": "AcknowledgeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", +"httpMethod": "PUT", +"id": "pubsub.projects.subscriptions.create", +"parameterOrder": [ +"name" +], +"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\"`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Subscription" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", +"httpMethod": "DELETE", +"id": "pubsub.projects.subscriptions.delete", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"detach": { +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.detach", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:detach", +"response": { +"$ref": "DetachSubscriptionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"description": "Gets the configuration details of a subscription.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", +"httpMethod": "GET", +"id": "pubsub.projects.subscriptions.get", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}", +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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", +"httpMethod": "GET", +"id": "pubsub.projects.subscriptions.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"list": { +"description": "Lists matching subscriptions.", +"flatPath": "v1/projects/{projectsId}/subscriptions", +"httpMethod": "GET", +"id": "pubsub.projects.subscriptions.list", +"parameterOrder": [ +"project" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of subscriptions to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"project": { +"description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/subscriptions", +"response": { +"$ref": "ListSubscriptionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"modifyAckDeadline": { +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.modifyAckDeadline", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:modifyAckDeadline", +"request": { +"$ref": "ModifyAckDeadlineRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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`.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.modifyPushConfig", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:modifyPushConfig", +"request": { +"$ref": "ModifyPushConfigRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"patch": { +"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}", +"httpMethod": "PATCH", +"id": "pubsub.projects.subscriptions.patch", +"parameterOrder": [ +"name" +], +"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\"`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "UpdateSubscriptionRequest" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"pull": { +"description": "Pulls messages from the server.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.pull", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:pull", +"request": { +"$ref": "PullRequest" +}, +"response": { +"$ref": "PullResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.seek", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "Required. The subscription to affect.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+subscription}:seek", +"request": { +"$ref": "SeekRequest" +}, +"response": { +"$ref": "SeekResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "pubsub.projects.subscriptions.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +}, +"topics": { +"methods": { +"create": { +"description": "Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}", +"httpMethod": "PUT", +"id": "pubsub.projects.topics.create", +"parameterOrder": [ +"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\"`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Topic" +}, +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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_`.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}", +"httpMethod": "DELETE", +"id": "pubsub.projects.topics.delete", +"parameterOrder": [ +"topic" +], +"parameters": { +"topic": { +"description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+topic}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"description": "Gets the configuration of a topic.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}", +"httpMethod": "GET", +"id": "pubsub.projects.topics.get", +"parameterOrder": [ +"topic" +], +"parameters": { +"topic": { +"description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+topic}", +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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}/topics/{topicsId}:getIamPolicy", +"httpMethod": "GET", +"id": "pubsub.projects.topics.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"list": { +"description": "Lists matching topics.", +"flatPath": "v1/projects/{projectsId}/topics", +"httpMethod": "GET", +"id": "pubsub.projects.topics.list", +"parameterOrder": [ +"project" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of topics to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"project": { +"description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/topics", +"response": { +"$ref": "ListTopicsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"patch": { +"description": "Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}", +"httpMethod": "PATCH", +"id": "pubsub.projects.topics.patch", +"parameterOrder": [ +"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\"`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "UpdateTopicRequest" +}, +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"publish": { +"description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", +"httpMethod": "POST", +"id": "pubsub.projects.topics.publish", +"parameterOrder": [ +"topic" +], +"parameters": { +"topic": { +"description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+topic}:publish", +"request": { +"$ref": "PublishRequest" +}, +"response": { +"$ref": "PublishResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", +"httpMethod": "POST", +"id": "pubsub.projects.topics.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"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.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", +"httpMethod": "POST", +"id": "pubsub.projects.topics.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +}, +"resources": { +"snapshots": { +"methods": { +"list": { +"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.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots", +"httpMethod": "GET", +"id": "pubsub.projects.topics.snapshots.list", +"parameterOrder": [ +"topic" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of snapshot names to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"topic": { +"description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+topic}/snapshots", +"response": { +"$ref": "ListTopicSnapshotsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +}, +"subscriptions": { +"methods": { +"list": { +"description": "Lists the names of the attached subscriptions on this topic.", +"flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", +"httpMethod": "GET", +"id": "pubsub.projects.topics.subscriptions.list", +"parameterOrder": [ +"topic" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of subscription names to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +}, +"topic": { +"description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.", +"location": "path", +"pattern": "^projects/[^/]+/topics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+topic}/subscriptions", +"response": { +"$ref": "ListTopicSubscriptionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +} +} +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://pubsub.googleapis.com/", +"schemas": { +"AcknowledgeRequest": { +"description": "Request for the Acknowledge method.", +"id": "AcknowledgeRequest", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyticsHubSubscriptionInfo": { +"description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", +"id": "AnalyticsHubSubscriptionInfo", +"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" +} +}, +"type": "object" +}, +"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", +"properties": { +"useTopicSchema": { +"description": "Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists.", +"type": "boolean" +}, +"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" +} +}, +"type": "object" +}, +"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.", +"id": "AvroFormat", +"properties": {}, +"type": "object" +}, +"AwsKinesis": { +"description": "Ingestion settings for Amazon Kinesis Data Streams.", +"id": "AwsKinesis", +"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" +}, +"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" +}, +"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": { +"description": "Output only. An output-only field that indicates the state of the Kinesis ingestion source.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"KINESIS_PERMISSION_DENIED", +"PUBLISH_PERMISSION_DENIED", +"STREAM_NOT_FOUND", +"CONSUMER_NOT_FOUND" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"streamArn": { +"description": "Required. The Kinesis stream ARN to ingest data from.", +"type": "string" +} +}, +"type": "object" +}, +"AwsMsk": { +"description": "Ingestion settings for Amazon MSK.", +"id": "AwsMsk", +"properties": { +"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" +}, +"clusterArn": { +"description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", +"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" +}, +"state": { +"description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"MSK_PERMISSION_DENIED", +"PUBLISH_PERMISSION_DENIED", +"CLUSTER_NOT_FOUND", +"TOPIC_NOT_FOUND" +], +"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, +"type": "string" +}, +"topic": { +"description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", +"type": "string" +} +}, +"type": "object" +}, +"AzureEventHubs": { +"description": "Ingestion settings for Azure Event Hubs.", +"id": "AzureEventHubs", +"properties": { +"clientId": { +"description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub.", +"type": "string" +}, +"eventHub": { +"description": "Optional. The name of the Event Hub.", +"type": "string" +}, +"gcpServiceAccount": { +"description": "Optional. The GCP service account to be used for Federated Identity authentication.", +"type": "string" +}, +"namespace": { +"description": "Optional. The name of the Event Hubs namespace.", +"type": "string" +}, +"resourceGroup": { +"description": "Optional. Name of the resource group within the azure subscription.", +"type": "string" +}, +"state": { +"description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"subscriptionId": { +"description": "Optional. The Azure subscription id.", +"type": "string" +}, +"tenantId": { +"description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub.", +"type": "string" +} +}, +"type": "object" +}, +"BigQueryConfig": { +"description": "Configuration for a BigQuery subscription.", +"id": "BigQueryConfig", +"properties": { +"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" +}, +"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" +}, +"state": { +"description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"PERMISSION_DENIED", +"NOT_FOUND", +"SCHEMA_MISMATCH", +"IN_TRANSIT_LOCATION_RESTRICTION" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"table": { +"description": "Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}", +"type": "string" +}, +"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" +}, +"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" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"CloudStorage": { +"description": "Ingestion settings for Cloud Storage.", +"id": "CloudStorage", +"properties": { +"avroFormat": { +"$ref": "AvroFormat", +"description": "Optional. Data from Cloud Storage will be interpreted in Avro format." +}, +"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" +}, +"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" +}, +"minimumObjectCreateTime": { +"description": "Optional. Only objects with a larger or equal creation timestamp will be ingested.", +"format": "google-datetime", +"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)." +}, +"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" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"textFormat": { +"$ref": "TextFormat", +"description": "Optional. Data from Cloud Storage will be interpreted as text." +} +}, +"type": "object" +}, +"CloudStorageConfig": { +"description": "Configuration for a Cloud Storage subscription.", +"id": "CloudStorageConfig", +"properties": { +"avroConfig": { +"$ref": "AvroConfig", +"description": "Optional. If set, message data will be written to Cloud Storage in Avro format." +}, +"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" +}, +"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" +}, +"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" +}, +"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.", +"format": "int64", +"type": "string" +}, +"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.", +"format": "google-duration", +"type": "string" +}, +"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.", +"format": "int64", +"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" +}, +"state": { +"description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"PERMISSION_DENIED", +"NOT_FOUND", +"IN_TRANSIT_LOCATION_RESTRICTION", +"SCHEMA_MISMATCH" +], +"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, +"type": "string" +}, +"textConfig": { +"$ref": "TextConfig", +"description": "Optional. If set, message data will be written to Cloud Storage in text format." +} +}, +"type": "object" +}, +"CommitSchemaRequest": { +"description": "Request for CommitSchema method.", +"id": "CommitSchemaRequest", +"properties": { +"schema": { +"$ref": "Schema", +"description": "Required. The schema revision to commit." +} +}, +"type": "object" +}, +"ConfluentCloud": { +"description": "Ingestion settings for Confluent Cloud.", +"id": "ConfluentCloud", +"properties": { +"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" +}, +"gcpServiceAccount": { +"description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", +"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" +}, +"state": { +"description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"CONFLUENT_CLOUD_PERMISSION_DENIED", +"PUBLISH_PERMISSION_DENIED", +"UNREACHABLE_BOOTSTRAP_SERVER", +"CLUSTER_NOT_FOUND", +"TOPIC_NOT_FOUND" +], +"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." +], +"readOnly": true, +"type": "string" +}, +"topic": { +"description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from.", +"type": "string" +} +}, +"type": "object" +}, +"CreateSnapshotRequest": { +"description": "Request for the `CreateSnapshot` method.", +"id": "CreateSnapshotRequest", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", +"type": "object" +}, +"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" +} +}, +"type": "object" +}, +"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.", +"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": { +"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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DetachSubscriptionResponse": { +"description": "Response for the DetachSubscription method. Reserved for future use.", +"id": "DetachSubscriptionResponse", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ExpirationPolicy": { +"description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).", +"id": "ExpirationPolicy", +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"IngestionDataSourceSettings": { +"description": "Settings for an ingestion data source on a topic.", +"id": "IngestionDataSourceSettings", +"properties": { +"awsKinesis": { +"$ref": "AwsKinesis", +"description": "Optional. Amazon Kinesis Data Streams." +}, +"awsMsk": { +"$ref": "AwsMsk", +"description": "Optional. Amazon MSK." +}, +"azureEventHubs": { +"$ref": "AzureEventHubs", +"description": "Optional. Azure Event Hubs." +}, +"cloudStorage": { +"$ref": "CloudStorage", +"description": "Optional. Cloud Storage." +}, +"confluentCloud": { +"$ref": "ConfluentCloud", +"description": "Optional. Confluent Cloud." +}, +"platformLogsSettings": { +"$ref": "PlatformLogsSettings", +"description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated." +} +}, +"type": "object" +}, +"ListSchemaRevisionsResponse": { +"description": "Response for the `ListSchemaRevisions` method.", +"id": "ListSchemaRevisionsResponse", +"properties": { +"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" +}, +"schemas": { +"description": "The revisions of the schema.", +"items": { +"$ref": "Schema" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSchemasResponse": { +"description": "Response for the `ListSchemas` method.", +"id": "ListSchemasResponse", +"properties": { +"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" +}, +"schemas": { +"description": "The resulting schemas.", +"items": { +"$ref": "Schema" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSnapshotsResponse": { +"description": "Response for the `ListSnapshots` method.", +"id": "ListSnapshotsResponse", +"properties": { +"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" +}, +"snapshots": { +"description": "Optional. The resulting snapshots.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSubscriptionsResponse": { +"description": "Response for the `ListSubscriptions` method.", +"id": "ListSubscriptionsResponse", +"properties": { +"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" +}, +"subscriptions": { +"description": "Optional. The subscriptions that match the request.", +"items": { +"$ref": "Subscription" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTopicSnapshotsResponse": { +"description": "Response for the `ListTopicSnapshots` method.", +"id": "ListTopicSnapshotsResponse", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTopicSubscriptionsResponse": { +"description": "Response for the `ListTopicSubscriptions` method.", +"id": "ListTopicSubscriptionsResponse", +"properties": { +"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" +}, +"subscriptions": { +"description": "Optional. The names of subscriptions attached to the topic specified in the request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTopicsResponse": { +"description": "Response for the `ListTopics` method.", +"id": "ListTopicsResponse", +"properties": { +"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" +}, +"topics": { +"description": "Optional. The resulting topics.", +"items": { +"$ref": "Topic" +}, +"type": "array" +} +}, +"type": "object" +}, +"MessageStoragePolicy": { +"description": "A policy constraining the storage of messages published to the topic.", +"id": "MessageStoragePolicy", +"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.", +"items": { +"type": "string" +}, +"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" +}, +"ModifyAckDeadlineRequest": { +"description": "Request for the ModifyAckDeadline method.", +"id": "ModifyAckDeadlineRequest", +"properties": { +"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).", +"format": "int32", +"type": "integer" +}, +"ackIds": { +"description": "Required. List of acknowledgment IDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModifyPushConfigRequest": { +"description": "Request for the ModifyPushConfig method.", +"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." +} +}, +"type": "object" +}, +"NoWrapper": { +"description": "Sets the `data` field as the HTTP body for delivery.", +"id": "NoWrapper", +"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" +} +}, +"type": "object" +}, +"OidcToken": { +"description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).", +"id": "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": { +"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" +} +}, +"type": "object" +}, +"PlatformLogsSettings": { +"description": "Settings for Platform Logs produced by Pub/Sub.", +"id": "PlatformLogsSettings", +"properties": { +"severity": { +"description": "Optional. The minimum severity level of Platform Logs that will be written.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"DISABLED", +"DEBUG", +"INFO", +"WARNING", +"ERROR" +], +"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" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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.", +"id": "PubSubAvroFormat", +"properties": {}, +"type": "object" +}, +"PublishRequest": { +"description": "Request for the Publish method.", +"id": "PublishRequest", +"properties": { +"messages": { +"description": "Required. The messages to publish.", +"items": { +"$ref": "PubsubMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"PublishResponse": { +"description": "Response for the `Publish` method.", +"id": "PublishResponse", +"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.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"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.", +"id": "PubsubMessage", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"data": { +"description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", +"format": "byte", +"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" +}, +"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" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "PubsubWrapper", +"properties": {}, +"type": "object" +}, +"PullRequest": { +"description": "Request for the `Pull` method.", +"id": "PullRequest", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"returnImmediately": { +"deprecated": true, +"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": "boolean" +} +}, +"type": "object" +}, +"PullResponse": { +"description": "Response for the `Pull` method.", +"id": "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.", +"items": { +"$ref": "ReceivedMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"PushConfig": { +"description": "Configuration for a push delivery endpoint.", +"id": "PushConfig", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"noWrapper": { +"$ref": "NoWrapper", +"description": "Optional. When set, the payload to the push endpoint is not wrapped." +}, +"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." +}, +"pubsubWrapper": { +"$ref": "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)." +}, +"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" +} +}, +"type": "object" +}, +"ReceivedMessage": { +"description": "A message and its corresponding acknowledgment ID.", +"id": "ReceivedMessage", +"properties": { +"ackId": { +"description": "Optional. This ID can be used to acknowledge the received message.", +"type": "string" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"message": { +"$ref": "PubsubMessage", +"description": "Optional. The message." +} +}, +"type": "object" +}, +"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.", +"id": "RetryPolicy", +"properties": { +"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.", +"format": "google-duration", +"type": "string" +}, +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"RollbackSchemaRequest": { +"description": "Request for the `RollbackSchema` method.", +"id": "RollbackSchemaRequest", +"properties": { +"revisionId": { +"description": "Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8", +"type": "string" +} +}, +"type": "object" +}, +"Schema": { +"description": "A schema resource.", +"id": "Schema", +"properties": { +"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" +}, +"name": { +"description": "Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`.", +"type": "string" +}, +"revisionCreateTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the schema.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "The type of the schema definition.", +"enum": [ +"TYPE_UNSPECIFIED", +"PROTOCOL_BUFFER", +"AVRO" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"A Protocol Buffer schema definition.", +"An Avro schema definition." +], +"type": "string" +} +}, +"type": "object" +}, +"SchemaSettings": { +"description": "Settings for validating messages published against a schema.", +"id": "SchemaSettings", +"properties": { +"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": { +"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" +}, +"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" +} +}, +"type": "object" +}, +"SeekRequest": { +"description": "Request for the `Seek` method.", +"id": "SeekRequest", +"properties": { +"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" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SeekResponse": { +"description": "Response for the `Seek` method (this response is empty).", +"id": "SeekResponse", +"properties": {}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +} +}, +"type": "object" +}, +"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.", +"id": "Snapshot", +"properties": { +"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.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", +"type": "object" +}, +"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" +} +}, +"type": "object" +}, +"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.", +"id": "Subscription", +"properties": { +"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.", +"format": "int32", +"type": "integer" +}, +"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 +}, +"bigqueryConfig": { +"$ref": "BigQueryConfig", +"description": "Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it." +}, +"cloudStorageConfig": { +"$ref": "CloudStorageConfig", +"description": "Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it." +}, +"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." +}, +"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" +}, +"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": { +"$ref": "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." +}, +"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" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", +"type": "object" +}, +"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.", +"format": "google-duration", +"type": "string" +}, +"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" +}, +"pushConfig": { +"$ref": "PushConfig", +"description": "Optional. If push delivery is used with this subscription, this field is used to configure it." +}, +"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" +}, +"retryPolicy": { +"$ref": "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." +}, +"state": { +"description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", +"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." +], +"readOnly": true, +"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" +}, +"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.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TextConfig": { +"description": "Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.", +"id": "TextConfig", +"properties": {}, +"type": "object" +}, +"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.", +"id": "TextFormat", +"properties": { +"delimiter": { +"description": "Optional. When unset, '\\n' is used.", +"type": "string" +} +}, +"type": "object" +}, +"Topic": { +"description": "A topic resource.", +"id": "Topic", +"properties": { +"ingestionDataSourceSettings": { +"$ref": "IngestionDataSourceSettings", +"description": "Optional. Settings for ingestion from a data source into this topic." +}, +"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": { +"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.", +"format": "google-duration", +"type": "string" +}, +"messageStoragePolicy": { +"$ref": "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." +}, +"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" +}, +"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" +}, +"schemaSettings": { +"$ref": "SchemaSettings", +"description": "Optional. Settings for validating messages published against a schema." +}, +"state": { +"description": "Output only. An output-only field indicating the state of the topic.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INGESTION_RESOURCE_ERROR" +], +"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, +"type": "string" +} +}, +"type": "object" +}, +"UpdateSnapshotRequest": { +"description": "Request for the UpdateSnapshot method.", +"id": "UpdateSnapshotRequest", +"properties": { +"snapshot": { +"$ref": "Snapshot", +"description": "Required. The updated snapshot object." +}, +"updateMask": { +"description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpdateSubscriptionRequest": { +"description": "Request for the UpdateSubscription method.", +"id": "UpdateSubscriptionRequest", +"properties": { +"subscription": { +"$ref": "Subscription", +"description": "Required. The updated subscription object." +}, +"updateMask": { +"description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpdateTopicRequest": { +"description": "Request for the UpdateTopic method.", +"id": "UpdateTopicRequest", +"properties": { +"topic": { +"$ref": "Topic", +"description": "Required. The updated topic object." +}, +"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" +} +}, +"type": "object" +}, +"ValidateMessageRequest": { +"description": "Request for the `ValidateMessage` method.", +"id": "ValidateMessageRequest", +"properties": { +"encoding": { +"description": "The encoding expected for messages", +"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" +}, +"message": { +"description": "Message to validate against the provided `schema_spec`.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "Name of the schema against which to validate. Format is `projects/{project}/schemas/{schema}`.", +"type": "string" +}, +"schema": { +"$ref": "Schema", +"description": "Ad-hoc schema against which to validate" +} +}, +"type": "object" +}, +"ValidateMessageResponse": { +"description": "Response for the `ValidateMessage` method. Empty for now.", +"id": "ValidateMessageResponse", +"properties": {}, +"type": "object" +}, +"ValidateSchemaRequest": { +"description": "Request for the `ValidateSchema` method.", +"id": "ValidateSchemaRequest", +"properties": { +"schema": { +"$ref": "Schema", +"description": "Required. The schema object to validate." +} +}, +"type": "object" +}, +"ValidateSchemaResponse": { +"description": "Response for the `ValidateSchema` method. Empty for now.", +"id": "ValidateSchemaResponse", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Pub/Sub API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/recommender.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..8913e8e9ae8d71216b0bb4525d6a317322c25802 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/recommender.v1beta1.json @@ -0,0 +1,2815 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://recommender.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Recommender", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/recommender/docs/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "recommender:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://recommender.mtls.googleapis.com/", +"name": "recommender", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"billingAccounts": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists locations with recommendations or insights.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insightTypes": { +"methods": { +"getConfig": { +"description": "Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.insightTypes.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates an InsightTypeConfig change. This will create a new revision of the config.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "PATCH", +"id": "recommender.billingAccounts.locations.insightTypes.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insights": { +"methods": { +"get": { +"description": "Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.insightTypes.insights.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.insightTypes.insights.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/insights", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markAccepted": { +"description": "Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted", +"httpMethod": "POST", +"id": "recommender.billingAccounts.locations.insightTypes.insights.markAccepted", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markAccepted", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"recommenders": { +"methods": { +"getConfig": { +"description": "Gets the requested Recommender Config. There is only one instance of the config for each Recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.recommenders.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates a Recommender Config. This will create a new revision of the config.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "PATCH", +"id": "recommender.billingAccounts.locations.recommenders.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"recommendations": { +"methods": { +"get": { +"description": "Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", +"httpMethod": "GET", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/recommendations", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListRecommendationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markClaimed": { +"description": "Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed", +"httpMethod": "POST", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.markClaimed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markClaimed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markDismissed": { +"description": "Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed", +"httpMethod": "POST", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.markDismissed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markDismissed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markFailed": { +"description": "Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed", +"httpMethod": "POST", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.markFailed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markFailed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markSucceeded": { +"description": "Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded", +"httpMethod": "POST", +"id": "recommender.billingAccounts.locations.recommenders.recommendations.markSucceeded", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markSucceeded", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"folders": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists locations with recommendations or insights.", +"flatPath": "v1beta1/folders/{foldersId}/locations", +"httpMethod": "GET", +"id": "recommender.folders.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insightTypes": { +"resources": { +"insights": { +"methods": { +"get": { +"description": "Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}", +"httpMethod": "GET", +"id": "recommender.folders.locations.insightTypes.insights.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", +"httpMethod": "GET", +"id": "recommender.folders.locations.insightTypes.insights.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/insightTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/insights", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markAccepted": { +"description": "Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted", +"httpMethod": "POST", +"id": "recommender.folders.locations.insightTypes.insights.markAccepted", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markAccepted", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"recommenders": { +"resources": { +"recommendations": { +"methods": { +"get": { +"description": "Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}", +"httpMethod": "GET", +"id": "recommender.folders.locations.recommenders.recommendations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", +"httpMethod": "GET", +"id": "recommender.folders.locations.recommenders.recommendations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/recommendations", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListRecommendationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markClaimed": { +"description": "Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed", +"httpMethod": "POST", +"id": "recommender.folders.locations.recommenders.recommendations.markClaimed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markClaimed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markDismissed": { +"description": "Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed", +"httpMethod": "POST", +"id": "recommender.folders.locations.recommenders.recommendations.markDismissed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markDismissed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markFailed": { +"description": "Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed", +"httpMethod": "POST", +"id": "recommender.folders.locations.recommenders.recommendations.markFailed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markFailed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markSucceeded": { +"description": "Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded", +"httpMethod": "POST", +"id": "recommender.folders.locations.recommenders.recommendations.markSucceeded", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markSucceeded", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"insightTypes": { +"methods": { +"list": { +"description": "Lists available InsightTypes. No IAM permissions are required.", +"flatPath": "v1beta1/insightTypes", +"httpMethod": "GET", +"id": "recommender.insightTypes.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Optional. The number of InsightTypes to return per page. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRecommenders` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/insightTypes", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListInsightTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"organizations": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists locations with recommendations or insights.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations", +"httpMethod": "GET", +"id": "recommender.organizations.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insightTypes": { +"methods": { +"getConfig": { +"description": "Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "GET", +"id": "recommender.organizations.locations.insightTypes.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates an InsightTypeConfig change. This will create a new revision of the config.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "PATCH", +"id": "recommender.organizations.locations.insightTypes.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insights": { +"methods": { +"get": { +"description": "Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}", +"httpMethod": "GET", +"id": "recommender.organizations.locations.insightTypes.insights.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", +"httpMethod": "GET", +"id": "recommender.organizations.locations.insightTypes.insights.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/insights", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markAccepted": { +"description": "Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted", +"httpMethod": "POST", +"id": "recommender.organizations.locations.insightTypes.insights.markAccepted", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markAccepted", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"recommenders": { +"methods": { +"getConfig": { +"description": "Gets the requested Recommender Config. There is only one instance of the config for each Recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "GET", +"id": "recommender.organizations.locations.recommenders.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates a Recommender Config. This will create a new revision of the config.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "PATCH", +"id": "recommender.organizations.locations.recommenders.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"recommendations": { +"methods": { +"get": { +"description": "Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}", +"httpMethod": "GET", +"id": "recommender.organizations.locations.recommenders.recommendations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", +"httpMethod": "GET", +"id": "recommender.organizations.locations.recommenders.recommendations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/recommendations", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListRecommendationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markClaimed": { +"description": "Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed", +"httpMethod": "POST", +"id": "recommender.organizations.locations.recommenders.recommendations.markClaimed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markClaimed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markDismissed": { +"description": "Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed", +"httpMethod": "POST", +"id": "recommender.organizations.locations.recommenders.recommendations.markDismissed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markDismissed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markFailed": { +"description": "Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed", +"httpMethod": "POST", +"id": "recommender.organizations.locations.recommenders.recommendations.markFailed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markFailed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markSucceeded": { +"description": "Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded", +"httpMethod": "POST", +"id": "recommender.organizations.locations.recommenders.recommendations.markSucceeded", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markSucceeded", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists locations with recommendations or insights.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "recommender.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insightTypes": { +"methods": { +"getConfig": { +"description": "Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "GET", +"id": "recommender.projects.locations.insightTypes.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates an InsightTypeConfig change. This will create a new revision of the config.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", +"httpMethod": "PATCH", +"id": "recommender.projects.locations.insightTypes.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"insights": { +"methods": { +"get": { +"description": "Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}", +"httpMethod": "GET", +"id": "recommender.projects.locations.insightTypes.insights.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", +"httpMethod": "GET", +"id": "recommender.projects.locations.insightTypes.insights.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/insights", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markAccepted": { +"description": "Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted", +"httpMethod": "POST", +"id": "recommender.projects.locations.insightTypes.insights.markAccepted", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the insight.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markAccepted", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"recommenders": { +"methods": { +"getConfig": { +"description": "Gets the requested Recommender Config. There is only one instance of the config for each Recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "GET", +"id": "recommender.projects.locations.recommenders.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates a Recommender Config. This will create a new revision of the config.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config", +"httpMethod": "PATCH", +"id": "recommender.projects.locations.recommenders.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the request and preview the change, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"recommendations": { +"methods": { +"get": { +"description": "Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}", +"httpMethod": "GET", +"id": "recommender.projects.locations.recommenders.recommendations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", +"httpMethod": "GET", +"id": "recommender.projects.locations.recommenders.recommendations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` * `targetResources` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` The max allowed filter length is 500 characters. (These expressions are based on the filter language described at https://google.aip.dev/160)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/recommendations", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListRecommendationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markClaimed": { +"description": "Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed", +"httpMethod": "POST", +"id": "recommender.projects.locations.recommenders.recommendations.markClaimed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markClaimed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markDismissed": { +"description": "Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed", +"httpMethod": "POST", +"id": "recommender.projects.locations.recommenders.recommendations.markDismissed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markDismissed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markFailed": { +"description": "Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed", +"httpMethod": "POST", +"id": "recommender.projects.locations.recommenders.recommendations.markFailed", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markFailed", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"markSucceeded": { +"description": "Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded", +"httpMethod": "POST", +"id": "recommender.projects.locations.recommenders.recommendations.markSucceeded", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the recommendation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:markSucceeded", +"request": { +"$ref": "GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest" +}, +"response": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"recommenders": { +"methods": { +"list": { +"description": "Lists all available Recommenders. No IAM permissions are required.", +"flatPath": "v1beta1/recommenders", +"httpMethod": "GET", +"id": "recommender.recommenders.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Optional. The number of RecommenderTypes to return per page. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRecommenders` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/recommenders", +"response": { +"$ref": "GoogleCloudRecommenderV1beta1ListRecommendersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241013", +"rootUrl": "https://recommender.googleapis.com/", +"schemas": { +"GoogleCloudLocationListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "GoogleCloudLocationListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudLocationLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudLocationLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "GoogleCloudLocationLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1CostProjection": { +"description": "Contains metadata about how much money a recommendation can save or incur.", +"id": "GoogleCloudRecommenderV1beta1CostProjection", +"properties": { +"cost": { +"$ref": "GoogleTypeMoney", +"description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units. A user's permissions may affect whether the cost is computed using list prices or custom contract prices." +}, +"costInLocalCurrency": { +"$ref": "GoogleTypeMoney", +"description": "The approximate cost savings in the billing account's local currency." +}, +"duration": { +"description": "Duration for which this cost applies.", +"format": "google-duration", +"type": "string" +}, +"pricingType": { +"description": "How the cost is calculated.", +"enum": [ +"PRICING_TYPE_UNSPECIFIED", +"LIST_PRICE", +"CUSTOM_PRICE" +], +"enumDescriptions": [ +"Default pricing type.", +"The price listed by GCP for all customers.", +"A price derived from past usage and billing." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1Impact": { +"description": "Contains the impact a recommendation can have for a given category.", +"id": "GoogleCloudRecommenderV1beta1Impact", +"properties": { +"category": { +"description": "Category that is being targeted.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"COST", +"SECURITY", +"PERFORMANCE", +"MANAGEABILITY", +"SUSTAINABILITY", +"RELIABILITY" +], +"enumDescriptions": [ +"Default unspecified category. Don't use directly.", +"Indicates a potential increase or decrease in cost.", +"Indicates a potential increase or decrease in security.", +"Indicates a potential increase or decrease in performance.", +"Indicates a potential increase or decrease in manageability.", +"Indicates a potential increase or decrease in sustainability.", +"Indicates a potential increase or decrease in reliability." +], +"type": "string" +}, +"costProjection": { +"$ref": "GoogleCloudRecommenderV1beta1CostProjection", +"description": "Use with CategoryType.COST" +}, +"impactComponents": { +"description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1Impact" +}, +"type": "array" +}, +"reliabilityProjection": { +"$ref": "GoogleCloudRecommenderV1beta1ReliabilityProjection", +"description": "Use with CategoryType.RELIABILITY" +}, +"securityProjection": { +"$ref": "GoogleCloudRecommenderV1beta1SecurityProjection", +"description": "Use with CategoryType.SECURITY" +}, +"service": { +"description": "The service that this impact is associated with.", +"type": "string" +}, +"sustainabilityProjection": { +"$ref": "GoogleCloudRecommenderV1beta1SustainabilityProjection", +"description": "Use with CategoryType.SUSTAINABILITY" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1Insight": { +"description": "An insight along with the information used to derive the insight. The insight may have associated recommendations as well.", +"id": "GoogleCloudRecommenderV1beta1Insight", +"properties": { +"associatedRecommendations": { +"description": "Recommendations derived from this insight.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1InsightRecommendationReference" +}, +"type": "array" +}, +"category": { +"description": "Category being targeted by the insight.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"COST", +"SECURITY", +"PERFORMANCE", +"MANAGEABILITY", +"SUSTAINABILITY", +"RELIABILITY" +], +"enumDescriptions": [ +"Unspecified category.", +"The insight is related to cost.", +"The insight is related to security.", +"The insight is related to performance.", +"This insight is related to manageability.", +"The insight is related to sustainability.", +"The insight is related to reliability." +], +"type": "string" +}, +"content": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A struct of custom fields to explain the insight. Example: \"grantedPermissionsCount\": \"1000\"", +"type": "object" +}, +"description": { +"description": "Free-form human readable summary in English. The maximum length is 500 characters.", +"type": "string" +}, +"etag": { +"description": "Fingerprint of the Insight. Provides optimistic locking when updating states.", +"type": "string" +}, +"insightSubtype": { +"description": "Insight subtype. Insight content schema will be stable for a given subtype.", +"type": "string" +}, +"lastRefreshTime": { +"description": "Timestamp of the latest data used to generate the insight.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Identifier. Name of the insight.", +"type": "string" +}, +"observationPeriod": { +"description": "Observation period that led to the insight. The source data used to generate the insight ends at last_refresh_time and begins at (last_refresh_time - observation_period).", +"format": "google-duration", +"type": "string" +}, +"severity": { +"description": "Insight's severity.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Insight has unspecified severity.", +"Insight has low severity.", +"Insight has medium severity.", +"Insight has high severity.", +"Insight has critical severity." +], +"type": "string" +}, +"stateInfo": { +"$ref": "GoogleCloudRecommenderV1beta1InsightStateInfo", +"description": "Information state and metadata." +}, +"targetResources": { +"description": "Fully qualified resource names that this insight is targeting.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1InsightRecommendationReference": { +"description": "Reference to an associated recommendation.", +"id": "GoogleCloudRecommenderV1beta1InsightRecommendationReference", +"properties": { +"recommendation": { +"description": "Recommendation resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID]", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1InsightStateInfo": { +"description": "Information related to insight state.", +"id": "GoogleCloudRecommenderV1beta1InsightStateInfo", +"properties": { +"state": { +"description": "Insight state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"ACCEPTED", +"DISMISSED" +], +"enumDescriptions": [ +"Unspecified state.", +"Insight is active. Content for ACTIVE insights can be updated by Google. ACTIVE insights can be marked DISMISSED OR ACCEPTED.", +"Some action has been taken based on this insight. Insights become accepted when a recommendation derived from the insight has been marked CLAIMED, SUCCEEDED, or FAILED. ACTIVE insights can also be marked ACCEPTED explicitly. Content for ACCEPTED insights is immutable. ACCEPTED insights can only be marked ACCEPTED (which may update state metadata).", +"Insight is dismissed. Content for DISMISSED insights can be updated by Google. DISMISSED insights can be marked as ACTIVE." +], +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of metadata for the state, provided by user or automations systems.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1InsightType": { +"description": "The type of insight.", +"id": "GoogleCloudRecommenderV1beta1InsightType", +"properties": { +"name": { +"description": "The insight_type's name in format insightTypes/{insight_type} eg: insightTypes/google.iam.policy.Insight", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1InsightTypeConfig": { +"description": "Configuration for an InsightType.", +"id": "GoogleCloudRecommenderV1beta1InsightTypeConfig", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Allows clients to store small amounts of arbitrary data. Annotations must follow the Kubernetes syntax. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.", +"type": "object" +}, +"displayName": { +"description": "A user-settable field to provide a human-readable name to be used in user interfaces.", +"type": "string" +}, +"etag": { +"description": "Fingerprint of the InsightTypeConfig. Provides optimistic locking when updating.", +"type": "string" +}, +"insightTypeGenerationConfig": { +"$ref": "GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig", +"description": "InsightTypeGenerationConfig which configures the generation of insights for this insight type." +}, +"name": { +"description": "Identifier. Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", +"type": "string" +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Last time when the config was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig": { +"description": "A configuration to customize the generation of insights. Eg, customizing the lookback period considered when generating a insight.", +"id": "GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig", +"properties": { +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Parameters for this InsightTypeGenerationConfig. These configs can be used by or are applied to all subtypes.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ListInsightTypesResponse": { +"description": "Response for the `ListInsightTypes` method. Next ID: 3", +"id": "GoogleCloudRecommenderV1beta1ListInsightTypesResponse", +"properties": { +"insightTypes": { +"description": "The set of recommenders available", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1InsightType" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ListInsightsResponse": { +"description": "Response to the `ListInsights` method.", +"id": "GoogleCloudRecommenderV1beta1ListInsightsResponse", +"properties": { +"insights": { +"description": "The set of insights for the `parent` resource.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1Insight" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be used to request the next page of results. This field is empty if there are no additional results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ListRecommendationsResponse": { +"description": "Response to the `ListRecommendations` method.", +"id": "GoogleCloudRecommenderV1beta1ListRecommendationsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be used to request the next page of results. This field is empty if there are no additional results.", +"type": "string" +}, +"recommendations": { +"description": "The set of recommendations for the `parent` resource.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1Recommendation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ListRecommendersResponse": { +"description": "Response for the `ListRecommender` method. Next ID: 3", +"id": "GoogleCloudRecommenderV1beta1ListRecommendersResponse", +"properties": { +"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" +}, +"recommenders": { +"description": "The set of recommenders available", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderType" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest": { +"description": "Request for the `MarkInsightAccepted` method.", +"id": "GoogleCloudRecommenderV1beta1MarkInsightAcceptedRequest", +"properties": { +"etag": { +"description": "Required. Fingerprint of the Insight. Provides optimistic locking.", +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. State properties user wish to include with this state. Full replace of the current state_metadata.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest": { +"description": "Request for the `MarkRecommendationClaimed` Method.", +"id": "GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest", +"properties": { +"etag": { +"description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest": { +"description": "Request for the `MarkRecommendationDismissed` Method.", +"id": "GoogleCloudRecommenderV1beta1MarkRecommendationDismissedRequest", +"properties": { +"etag": { +"description": "Fingerprint of the Recommendation. Provides optimistic locking.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest": { +"description": "Request for the `MarkRecommendationFailed` Method.", +"id": "GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest", +"properties": { +"etag": { +"description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest": { +"description": "Request for the `MarkRecommendationSucceeded` Method.", +"id": "GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest", +"properties": { +"etag": { +"description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1Operation": { +"description": "Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.", +"id": "GoogleCloudRecommenderV1beta1Operation", +"properties": { +"action": { +"description": "Type of this operation. Contains one of 'add', 'remove', 'replace', 'move', 'copy', 'test' and 'custom' operations. This field is case-insensitive and always populated.", +"type": "string" +}, +"path": { +"description": "Path to the target field being operated on. If the operation is at the resource level, then path should be \"/\". This field is always populated.", +"type": "string" +}, +"pathFilters": { +"additionalProperties": { +"type": "any" +}, +"description": "Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: ``` { \"/versions/*/name\" : \"it-123\" \"/versions/*/targetSize/percent\": 20 } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/condition\" : null } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/members/*\" : [\"x@example.com\", \"y@example.com\"] } ``` When both path_filters and path_value_matchers are set, an implicit AND must be performed.", +"type": "object" +}, +"pathValueMatchers": { +"additionalProperties": { +"$ref": "GoogleCloudRecommenderV1beta1ValueMatcher" +}, +"description": "Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.", +"type": "object" +}, +"resource": { +"description": "Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.", +"type": "string" +}, +"resourceType": { +"description": "Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance", +"type": "string" +}, +"sourcePath": { +"description": "Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.", +"type": "string" +}, +"sourceResource": { +"description": "Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = \"/\", from = \"/\", source_resource = and resource_name = . This field is empty for all other values of `action`.", +"type": "string" +}, +"value": { +"description": "Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.", +"type": "any" +}, +"valueMatcher": { +"$ref": "GoogleCloudRecommenderV1beta1ValueMatcher", +"description": "Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation." +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1OperationGroup": { +"description": "Group of operations that need to be performed atomically.", +"id": "GoogleCloudRecommenderV1beta1OperationGroup", +"properties": { +"operations": { +"description": "List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1Recommendation": { +"description": "A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc", +"id": "GoogleCloudRecommenderV1beta1Recommendation", +"properties": { +"additionalImpact": { +"description": "Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1Impact" +}, +"type": "array" +}, +"associatedInsights": { +"description": "Insights that led to this recommendation.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1RecommendationInsightReference" +}, +"type": "array" +}, +"content": { +"$ref": "GoogleCloudRecommenderV1beta1RecommendationContent", +"description": "Content of the recommendation describing recommended changes to resources." +}, +"description": { +"description": "Free-form human readable summary in English. The maximum length is 500 characters.", +"type": "string" +}, +"etag": { +"description": "Fingerprint of the Recommendation. Provides optimistic locking when updating states.", +"type": "string" +}, +"lastRefreshTime": { +"description": "Last time this recommendation was refreshed by the system that created it in the first place.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Identifier. Name of recommendation.", +"type": "string" +}, +"primaryImpact": { +"$ref": "GoogleCloudRecommenderV1beta1Impact", +"description": "The primary impact that this recommendation can have while trying to optimize for one category." +}, +"priority": { +"description": "Recommendation's priority.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"P4", +"P3", +"P2", +"P1" +], +"enumDescriptions": [ +"Recommendation has unspecified priority.", +"Recommendation has P4 priority (lowest priority).", +"Recommendation has P3 priority (second lowest priority).", +"Recommendation has P2 priority (second highest priority).", +"Recommendation has P1 priority (highest priority)." +], +"type": "string" +}, +"recommenderSubtype": { +"description": "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.iam.policy.Recommender\", recommender_subtype can be one of \"REMOVE_ROLE\"/\"REPLACE_ROLE\"", +"type": "string" +}, +"stateInfo": { +"$ref": "GoogleCloudRecommenderV1beta1RecommendationStateInfo", +"description": "Information for state. Contains state and metadata." +}, +"targetResources": { +"description": "Fully qualified resource names that this recommendation is targeting.", +"items": { +"type": "string" +}, +"type": "array" +}, +"xorGroupId": { +"description": "Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommendationContent": { +"description": "Contains what resources are changing and how they are changing.", +"id": "GoogleCloudRecommenderV1beta1RecommendationContent", +"properties": { +"operationGroups": { +"description": "Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.", +"items": { +"$ref": "GoogleCloudRecommenderV1beta1OperationGroup" +}, +"type": "array" +}, +"overview": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Condensed overview information about the recommendation.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommendationInsightReference": { +"description": "Reference to an associated insight.", +"id": "GoogleCloudRecommenderV1beta1RecommendationInsightReference", +"properties": { +"insight": { +"description": "Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommendationStateInfo": { +"description": "Information for state. Contains state and metadata.", +"id": "GoogleCloudRecommenderV1beta1RecommendationStateInfo", +"properties": { +"state": { +"description": "The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"CLAIMED", +"SUCCEEDED", +"FAILED", +"DISMISSED" +], +"enumDescriptions": [ +"Default state. Don't use directly.", +"Recommendation is active and can be applied. Recommendations content can be updated by Google. 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." +], +"type": "string" +}, +"stateMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of metadata for the state, provided by user or automations systems.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommenderConfig": { +"description": "Configuration for a Recommender.", +"id": "GoogleCloudRecommenderV1beta1RecommenderConfig", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Allows clients to store small amounts of arbitrary data. Annotations must follow the Kubernetes syntax. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.", +"type": "object" +}, +"displayName": { +"description": "A user-settable field to provide a human-readable name to be used in user interfaces.", +"type": "string" +}, +"etag": { +"description": "Fingerprint of the RecommenderConfig. Provides optimistic locking when updating.", +"type": "string" +}, +"name": { +"description": "Identifier. Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", +"type": "string" +}, +"recommenderGenerationConfig": { +"$ref": "GoogleCloudRecommenderV1beta1RecommenderGenerationConfig", +"description": "RecommenderGenerationConfig which configures the Generation of recommendations for this recommender." +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Last time when the config was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommenderGenerationConfig": { +"description": "A Configuration to customize the generation of recommendations. Eg, customizing the lookback period considered when generating a recommendation.", +"id": "GoogleCloudRecommenderV1beta1RecommenderGenerationConfig", +"properties": { +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Parameters for this RecommenderGenerationConfig. These configs can be used by or are applied to all subtypes.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1RecommenderType": { +"description": "The type of a recommender.", +"id": "GoogleCloudRecommenderV1beta1RecommenderType", +"properties": { +"name": { +"description": "The recommender's name in format RecommenderTypes/{recommender_type} eg: recommenderTypes/google.iam.policy.Recommender", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ReliabilityProjection": { +"description": "Contains information on the impact of a reliability recommendation.", +"id": "GoogleCloudRecommenderV1beta1ReliabilityProjection", +"properties": { +"details": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Per-recommender projection.", +"type": "object" +}, +"risks": { +"description": "Reliability risks mitigated by this recommendation.", +"items": { +"enum": [ +"RISK_TYPE_UNSPECIFIED", +"SERVICE_DISRUPTION", +"DATA_LOSS", +"ACCESS_DENY" +], +"enumDescriptions": [ +"Default unspecified risk. Don't use directly.", +"Potential service downtime.", +"Potential data loss.", +"Potential access denial. The service is still up but some or all clients can't access it." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1SecurityProjection": { +"description": "Contains various ways of describing the impact on Security.", +"id": "GoogleCloudRecommenderV1beta1SecurityProjection", +"properties": { +"details": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "This field can be used by the recommender to define details specific to security impact.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1SustainabilityProjection": { +"description": "Contains metadata about how much sustainability a recommendation can save or incur.", +"id": "GoogleCloudRecommenderV1beta1SustainabilityProjection", +"properties": { +"duration": { +"description": "Duration for which this sustanability applies.", +"format": "google-duration", +"type": "string" +}, +"kgCO2e": { +"description": "Carbon Footprint generated in kg of CO2 equivalent. Chose kg_c_o2e so that the name renders correctly in camelCase (kgCO2e).", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudRecommenderV1beta1ValueMatcher": { +"description": "Contains various matching options for values for a GCP resource field.", +"id": "GoogleCloudRecommenderV1beta1ValueMatcher", +"properties": { +"matchesPattern": { +"description": "To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeMoney": { +"description": "Represents an amount of money with its currency type.", +"id": "GoogleTypeMoney", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"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.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Recommender API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/run.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/run.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..ad37197eddfcd9f2fe677c95f38afbcfe766c258 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/run.v2.json @@ -0,0 +1,5620 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://run.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Run", +"description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/run/", +"endpoints": [ +{ +"description": "Locational Endpoint", +"endpointUrl": "https://africa-south1-run.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east1-run.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east2-run.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast1-run.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast2-run.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast3-run.googleapis.com/", +"location": "asia-northeast3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-south1-run.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-south2-run.googleapis.com/", +"location": "asia-south2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast1-run.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast2-run.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast1-run.googleapis.com/", +"location": "australia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast2-run.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-central2-run.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-north1-run.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-southwest1-run.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west1-run.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west10-run.googleapis.com/", +"location": "europe-west10" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west12-run.googleapis.com/", +"location": "europe-west12" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west2-run.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west3-run.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west4-run.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west6-run.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west8-run.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west9-run.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central1-run.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central2-run.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-west1-run.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast1-run.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast2-run.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-east1-run.googleapis.com/", +"location": "southamerica-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-west1-run.googleapis.com/", +"location": "southamerica-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-central1-run.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east1-run.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east4-run.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east5-run.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-south1-run.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west1-run.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west2-run.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west3-run.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west4-run.googleapis.com/", +"location": "us-west4" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "run:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://run.mtls.googleapis.com/", +"name": "run", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"exportImage": { +"description": "Export image for a given resource.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/{locationsId1}:exportImage", +"httpMethod": "POST", +"id": "run.projects.locations.exportImage", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource of which image metadata should be exported. Format: `projects/{project_id_or_number}/locations/{location}/services/{service}/revisions/{revision}` for Revision `projects/{project_id_or_number}/locations/{location}/jobs/{job}/executions/{execution}` for Execution", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:exportImage", +"request": { +"$ref": "GoogleCloudRunV2ExportImageRequest" +}, +"response": { +"$ref": "GoogleCloudRunV2ExportImageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportImageMetadata": { +"description": "Export image metadata for a given resource.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/{locationsId1}:exportImageMetadata", +"httpMethod": "GET", +"id": "run.projects.locations.exportImageMetadata", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource of which image metadata should be exported. Format: `projects/{project_id_or_number}/locations/{location}/services/{service}/revisions/{revision}` for Revision `projects/{project_id_or_number}/locations/{location}/jobs/{job}/executions/{execution}` for Execution", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:exportImageMetadata", +"response": { +"$ref": "GoogleCloudRunV2Metadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportMetadata": { +"description": "Export generated customer metadata for a given resource.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/{locationsId1}:exportMetadata", +"httpMethod": "GET", +"id": "run.projects.locations.exportMetadata", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource of which metadata should be exported. Format: `projects/{project_id_or_number}/locations/{location}/services/{service}` for Service `projects/{project_id_or_number}/locations/{location}/services/{service}/revisions/{revision}` for Revision `projects/{project_id_or_number}/locations/{location}/jobs/{job}/executions/{execution}` for Execution", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:exportMetadata", +"response": { +"$ref": "GoogleCloudRunV2Metadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportProjectMetadata": { +"description": "Export generated customer metadata for a given project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}:exportProjectMetadata", +"httpMethod": "GET", +"id": "run.projects.locations.exportProjectMetadata", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the project of which metadata should be exported. Format: `projects/{project_id_or_number}/locations/{location}` for Project in a given location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:exportProjectMetadata", +"response": { +"$ref": "GoogleCloudRunV2Metadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"builds": { +"methods": { +"submit": { +"description": "Submits a build in a given project.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/builds:submit", +"httpMethod": "POST", +"id": "run.projects.locations.builds.submit", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/builds:submit", +"request": { +"$ref": "GoogleCloudRunV2SubmitBuildRequest" +}, +"response": { +"$ref": "GoogleCloudRunV2SubmitBuildResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"jobs": { +"methods": { +"create": { +"description": "Creates a Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "POST", +"id": "run.projects.locations.jobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"jobId": { +"description": "Required. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location and project in which this Job should be created. Format: projects/{project}/locations/{location}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated and default values populated, without persisting the request or creating any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/jobs", +"request": { +"$ref": "GoogleCloudRunV2Job" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "DELETE", +"id": "run.projects.locations.jobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The full name of the Job. Format: projects/{project}/locations/{location}/jobs/{job}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually deleting any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Job. Format: projects/{project}/locations/{location}/jobs/{job}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleCloudRunV2Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM Access Control policy currently in effect for the given Job. This result does not include any inherited policies.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:getIamPolicy", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Jobs. Results are sorted by creation time, descending.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Jobs to return in this call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous call to ListJobs. All other parameters must match.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location and project to list resources on. Format: projects/{project}/locations/{location}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "If true, returns deleted (but unexpired) resources along with active ones.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/jobs", +"response": { +"$ref": "GoogleCloudRunV2ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", +"httpMethod": "PATCH", +"id": "run.projects.locations.jobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, and if the Job does not exist, it will create a new one. Caller must have both create and update permissions for this call if this is set to true.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "GoogleCloudRunV2Job" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Triggers creation of a new Execution of this Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:run", +"httpMethod": "POST", +"id": "run.projects.locations.jobs.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Job. Format: projects/{project}/locations/{location}/jobs/{job}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:run", +"request": { +"$ref": "GoogleCloudRunV2RunJobRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM Access control policy for the specified Job. Overwrites any existing policy.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:setIamPolicy", +"httpMethod": "POST", +"id": "run.projects.locations.jobs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:testIamPermissions", +"httpMethod": "POST", +"id": "run.projects.locations.jobs.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"cancel": { +"description": "Cancels an Execution.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}:cancel", +"httpMethod": "POST", +"id": "run.projects.locations.jobs.executions.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Execution to cancel. Format: `projects/{project}/locations/{location}/jobs/{job}/executions/{execution}`, where `{project}` can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "GoogleCloudRunV2CancelExecutionRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Execution.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}", +"httpMethod": "DELETE", +"id": "run.projects.locations.jobs.executions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the Execution to delete. Format: `projects/{project}/locations/{location}/jobs/{job}/executions/{execution}`, where `{project}` can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually deleting any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportStatus": { +"description": "Read the status of an image export operation.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}/{executionsId1}:exportStatus", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.executions.exportStatus", +"parameterOrder": [ +"name", +"operationId" +], +"parameters": { +"name": { +"description": "Required. The name of the resource of which image export operation status has to be fetched. Format: `projects/{project_id_or_number}/locations/{location}/services/{service}/revisions/{revision}` for Revision `projects/{project_id_or_number}/locations/{location}/jobs/{job}/executions/{execution}` for Execution", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"operationId": { +"description": "Required. The operation id returned from ExportImage.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/{+operationId}:exportStatus", +"response": { +"$ref": "GoogleCloudRunV2ExportStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about an Execution.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Execution. Format: `projects/{project}/locations/{location}/jobs/{job}/executions/{execution}`, where `{project}` can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleCloudRunV2Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Executions from a Job. Results are sorted by creation time, descending.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Executions to return in this call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous call to ListExecutions. All other parameters must match.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Execution from which the Executions should be listed. To list all Executions across Jobs, use \"-\" instead of Job name. Format: `projects/{project}/locations/{location}/jobs/{job}`, where `{project}` can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "If true, returns deleted (but unexpired) resources along with active ones.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/executions", +"response": { +"$ref": "GoogleCloudRunV2ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"tasks": { +"methods": { +"get": { +"description": "Gets information about a Task.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}/tasks/{tasksId}", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.executions.tasks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Task. Format: projects/{project}/locations/{location}/jobs/{job}/executions/{execution}/tasks/{task}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+/tasks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleCloudRunV2Task" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Tasks from an Execution of a Job.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}/executions/{executionsId}/tasks", +"httpMethod": "GET", +"id": "run.projects.locations.jobs.executions.tasks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Tasks to return in this call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous call to ListTasks. All other parameters must match.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Execution from which the Tasks should be listed. To list all Tasks across Executions of a Job, use \"-\" instead of Execution name. To list all Tasks across Jobs, use \"-\" instead of Job name. Format: projects/{project}/locations/{location}/jobs/{job}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "If true, returns deleted (but unexpired) resources along with active ones.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/tasks", +"response": { +"$ref": "GoogleCloudRunV2ListTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"delete": { +"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`.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "run.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "run.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "run.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "Optional. A filter for matching the completed or in-progress operations. The supported formats of *filter* are: To query for only completed operations: done:true To query for only ongoing operations: done:false Must be empty to query for all of the latest operations for the given parent project.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. To query for all of the operations for a project.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set or set to less than or equal to 0, the default page size is 100. .", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token identifying which result to start with, which is returned by a previous list call.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"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.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "run.projects.locations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:wait", +"request": { +"$ref": "GoogleLongrunningWaitOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"services": { +"methods": { +"create": { +"description": "Creates a new Service in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "POST", +"id": "run.projects.locations.services.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location and project in which this service should be created. Format: projects/{project}/locations/{location}, where {project} can be project id or number. Only lowercase characters, digits, and hyphens.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"serviceId": { +"description": "Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent}/services/{service_id}.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated and default values populated, without persisting the request or creating any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/services", +"request": { +"$ref": "GoogleCloudRunV2Service" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Service. This will cause the Service to stop serving traffic and will delete all revisions.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "run.projects.locations.services.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The full name of the Service. Format: projects/{project}/locations/{location}/services/{service}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually deleting any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a Service.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "run.projects.locations.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Service. Format: projects/{project}/locations/{location}/services/{service}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleCloudRunV2Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM Access Control policy currently in effect for the given Cloud Run Service. This result does not include any inherited policies.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:getIamPolicy", +"httpMethod": "GET", +"id": "run.projects.locations.services.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"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).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Services. Results are sorted by creation time, descending.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "GET", +"id": "run.projects.locations.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Services to return in this call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous call to ListServices. All other parameters must match.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location and project to list resources on. Location must be a valid Google Cloud region, and cannot be the \"-\" wildcard. Format: projects/{project}/locations/{location}, where {project} can be project id or number.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "If true, returns deleted (but unexpired) resources along with active ones.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/services", +"response": { +"$ref": "GoogleCloudRunV2ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Service.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "run.projects.locations.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, and if the Service does not exist, it will create a new one. The caller must have 'run.services.create' permissions if this is set to true and the Service does not exist.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "GoogleCloudRunV2Service" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM Access control policy for the specified Service. Overwrites any existing policy.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:setIamPolicy", +"httpMethod": "POST", +"id": "run.projects.locations.services.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:testIamPermissions", +"httpMethod": "POST", +"id": "run.projects.locations.services.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"revisions": { +"methods": { +"delete": { +"description": "Deletes a Revision.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions/{revisionsId}", +"httpMethod": "DELETE", +"id": "run.projects.locations.services.revisions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the Revision to delete. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually deleting any resources.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportStatus": { +"description": "Read the status of an image export operation.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions/{revisionsId}/{revisionsId1}:exportStatus", +"httpMethod": "GET", +"id": "run.projects.locations.services.revisions.exportStatus", +"parameterOrder": [ +"name", +"operationId" +], +"parameters": { +"name": { +"description": "Required. The name of the resource of which image export operation status has to be fetched. Format: `projects/{project_id_or_number}/locations/{location}/services/{service}/revisions/{revision}` for Revision `projects/{project_id_or_number}/locations/{location}/jobs/{job}/executions/{execution}` for Execution", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"operationId": { +"description": "Required. The operation id returned from ExportImage.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/{+operationId}:exportStatus", +"response": { +"$ref": "GoogleCloudRunV2ExportStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a Revision.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "run.projects.locations.services.revisions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full name of the Revision. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleCloudRunV2Revision" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Revisions from a given Service, or from a given location. Results are sorted by creation time, descending.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions", +"httpMethod": "GET", +"id": "run.projects.locations.services.revisions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of revisions to return in this call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous call to ListRevisions. All other parameters must match.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Service from which the Revisions should be listed. To list all Revisions across Services, use \"-\" instead of Service name. Format: projects/{project}/locations/{location}/services/{service}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"showDeleted": { +"description": "If true, returns deleted (but unexpired) resources along with active ones.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/revisions", +"response": { +"$ref": "GoogleCloudRunV2ListRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://run.googleapis.com/", +"schemas": { +"GoogleCloudRunV2BinaryAuthorization": { +"description": "Settings for Binary Authorization feature.", +"id": "GoogleCloudRunV2BinaryAuthorization", +"properties": { +"breakglassJustification": { +"description": "Optional. If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass", +"type": "string" +}, +"policy": { +"description": "Optional. The path to a binary authorization policy. Format: `projects/{project}/platforms/cloudRun/{policy-name}`", +"type": "string" +}, +"useDefault": { +"description": "Optional. If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRunV2BuildpacksBuild": { +"description": "Build the source using Buildpacks.", +"id": "GoogleCloudRunV2BuildpacksBuild", +"properties": { +"baseImage": { +"description": "Optional. The base image used to opt into automatic base image updates.", +"type": "string" +}, +"cacheImageUri": { +"description": "Optional. cache_image_uri is the GCR/AR URL where the cache image will be stored. cache_image_uri is optional and omitting it will disable caching. This URL must be stable across builds. It is used to derive a build-specific temporary URL by substituting the tag with the build ID. The build will clean up the temporary image on a best-effort basis.", +"type": "string" +}, +"enableAutomaticUpdates": { +"description": "Optional. Whether or not the application container will be enrolled in automatic base image updates. When true, the application will be built on a scratch base image, so the base layers can be appended at run time.", +"type": "boolean" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User-provided build-time environment variables.", +"type": "object" +}, +"functionTarget": { +"description": "Optional. Name of the function target if the source is a function source. Required for function builds.", +"type": "string" +}, +"projectDescriptor": { +"description": "Optional. project_descriptor stores the path to the project descriptor file. When empty, it means that there is no project descriptor file in the source.", +"type": "string" +}, +"runtime": { +"deprecated": true, +"description": "The runtime name, e.g. 'go113'. Leave blank for generic builds.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2CancelExecutionRequest": { +"description": "Request message for deleting an Execution.", +"id": "GoogleCloudRunV2CancelExecutionRequest", +"properties": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", +"type": "string" +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually cancelling any resources.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRunV2CloudSqlInstance": { +"description": "Represents a set of Cloud SQL instances. Each one will be available under /cloudsql/[instance]. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.", +"id": "GoogleCloudRunV2CloudSqlInstance", +"properties": { +"instances": { +"description": "The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Condition": { +"description": "Defines a status condition for a resource.", +"id": "GoogleCloudRunV2Condition", +"properties": { +"executionReason": { +"description": "Output only. A reason for the execution condition.", +"enum": [ +"EXECUTION_REASON_UNDEFINED", +"JOB_STATUS_SERVICE_POLLING_ERROR", +"NON_ZERO_EXIT_CODE", +"CANCELLED", +"CANCELLING", +"DELETED" +], +"enumDescriptions": [ +"Default value.", +"Internal system error getting execution status. System will retry.", +"A task reached its retry limit and the last attempt failed due to the user container exiting with a non-zero exit code.", +"The execution was cancelled by users.", +"The execution is in the process of being cancelled.", +"The execution was deleted." +], +"readOnly": true, +"type": "string" +}, +"lastTransitionTime": { +"description": "Last time the condition transitioned from one status to another.", +"format": "google-datetime", +"type": "string" +}, +"message": { +"description": "Human readable message indicating details about the current status.", +"type": "string" +}, +"reason": { +"description": "Output only. A common (service-level) reason for this condition.", +"enum": [ +"COMMON_REASON_UNDEFINED", +"UNKNOWN", +"REVISION_FAILED", +"PROGRESS_DEADLINE_EXCEEDED", +"CONTAINER_MISSING", +"CONTAINER_PERMISSION_DENIED", +"CONTAINER_IMAGE_UNAUTHORIZED", +"CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED", +"ENCRYPTION_KEY_PERMISSION_DENIED", +"ENCRYPTION_KEY_CHECK_FAILED", +"SECRETS_ACCESS_CHECK_FAILED", +"WAITING_FOR_OPERATION", +"IMMEDIATE_RETRY", +"POSTPONED_RETRY", +"INTERNAL" +], +"enumDescriptions": [ +"Default value.", +"Reason unknown. Further details will be in message.", +"Revision creation process failed.", +"Timed out waiting for completion.", +"The container image path is incorrect.", +"Insufficient permissions on the container image.", +"Container image is not authorized by policy.", +"Container image policy authorization check failed.", +"Insufficient permissions on encryption key.", +"Permission check on encryption key failed.", +"At least one Access check on secrets failed.", +"Waiting for operation to complete.", +"System will retry immediately.", +"System will retry later; current attempt failed.", +"An internal error occurred. Further information may be in the message." +], +"readOnly": true, +"type": "string" +}, +"revisionReason": { +"description": "Output only. A reason for the revision condition.", +"enum": [ +"REVISION_REASON_UNDEFINED", +"PENDING", +"RESERVE", +"RETIRED", +"RETIRING", +"RECREATING", +"HEALTH_CHECK_CONTAINER_ERROR", +"CUSTOMIZED_PATH_RESPONSE_PENDING", +"MIN_INSTANCES_NOT_PROVISIONED", +"ACTIVE_REVISION_LIMIT_REACHED", +"NO_DEPLOYMENT", +"HEALTH_CHECK_SKIPPED", +"MIN_INSTANCES_WARMING" +], +"enumDescriptions": [ +"Default value.", +"Revision in Pending state.", +"Revision is in Reserve state.", +"Revision is Retired.", +"Revision is being retired.", +"Revision is being recreated.", +"There was a health check error.", +"Health check failed due to user error from customized path of the container. System will retry.", +"A revision with min_instance_count > 0 was created and is reserved, but it was not configured to serve traffic, so it's not live. This can also happen momentarily during traffic migration.", +"The maximum allowed number of active revisions has been reached.", +"There was no deployment defined. This value is no longer used, but Services created in older versions of the API might contain this value.", +"A revision's container has no port specified since the revision is of a manually scaled service with 0 instance count", +"A revision with min_instance_count > 0 was created and is waiting for enough instances to begin a traffic migration." +], +"readOnly": true, +"type": "string" +}, +"severity": { +"description": "How to interpret failures of this condition, one of Error, Warning, Info", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Unspecified severity", +"Error severity.", +"Warning severity.", +"Info severity." +], +"type": "string" +}, +"state": { +"description": "State of the condition.", +"enum": [ +"STATE_UNSPECIFIED", +"CONDITION_PENDING", +"CONDITION_RECONCILING", +"CONDITION_FAILED", +"CONDITION_SUCCEEDED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Transient state: Reconciliation has not started yet.", +"Transient state: reconciliation is still in progress.", +"Terminal state: Reconciliation did not succeed.", +"Terminal state: Reconciliation completed successfully." +], +"type": "string" +}, +"type": { +"description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Container": { +"description": "A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.", +"id": "GoogleCloudRunV2Container", +"properties": { +"args": { +"description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"command": { +"description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dependsOn": { +"description": "Names of the containers that must start before this container.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"description": "List of environment variables to set in the container.", +"items": { +"$ref": "GoogleCloudRunV2EnvVar" +}, +"type": "array" +}, +"image": { +"description": "Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.", +"type": "string" +}, +"livenessProbe": { +"$ref": "GoogleCloudRunV2Probe", +"description": "Periodic probe of container liveness. Container will be restarted if the probe fails." +}, +"name": { +"description": "Name of the container specified as a DNS_LABEL (RFC 1123).", +"type": "string" +}, +"ports": { +"description": "List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.", +"items": { +"$ref": "GoogleCloudRunV2ContainerPort" +}, +"type": "array" +}, +"resources": { +"$ref": "GoogleCloudRunV2ResourceRequirements", +"description": "Compute Resource requirements by this container." +}, +"startupProbe": { +"$ref": "GoogleCloudRunV2Probe", +"description": "Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails." +}, +"volumeMounts": { +"description": "Volume to mount into the container's filesystem.", +"items": { +"$ref": "GoogleCloudRunV2VolumeMount" +}, +"type": "array" +}, +"workingDir": { +"description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ContainerOverride": { +"description": "Per-container override specification.", +"id": "GoogleCloudRunV2ContainerOverride", +"properties": { +"args": { +"description": "Optional. Arguments to the entrypoint. Will replace existing args for override.", +"items": { +"type": "string" +}, +"type": "array" +}, +"clearArgs": { +"description": "Optional. True if the intention is to clear out existing args list.", +"type": "boolean" +}, +"env": { +"description": "List of environment variables to set in the container. Will be merged with existing env for override.", +"items": { +"$ref": "GoogleCloudRunV2EnvVar" +}, +"type": "array" +}, +"name": { +"description": "The name of the container specified as a DNS_LABEL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ContainerPort": { +"description": "ContainerPort represents a network port in a single container.", +"id": "GoogleCloudRunV2ContainerPort", +"properties": { +"containerPort": { +"description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2DockerBuild": { +"description": "Build the source using Docker. This means the source has a Dockerfile.", +"id": "GoogleCloudRunV2DockerBuild", +"properties": {}, +"type": "object" +}, +"GoogleCloudRunV2EmptyDirVolumeSource": { +"description": "In memory (tmpfs) ephemeral storage. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs).", +"id": "GoogleCloudRunV2EmptyDirVolumeSource", +"properties": { +"medium": { +"description": "The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional", +"enum": [ +"MEDIUM_UNSPECIFIED", +"MEMORY" +], +"enumDescriptions": [ +"When not specified, falls back to the default implementation which is currently in memory (this may change over time).", +"Explicitly set the EmptyDir to be in memory. Uses tmpfs." +], +"type": "string" +}, +"sizeLimit": { +"description": "Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2EnvVar": { +"description": "EnvVar represents an environment variable present in a Container.", +"id": "GoogleCloudRunV2EnvVar", +"properties": { +"name": { +"description": "Required. Name of the environment variable. Must not exceed 32768 characters.", +"type": "string" +}, +"value": { +"description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.", +"type": "string" +}, +"valueSource": { +"$ref": "GoogleCloudRunV2EnvVarSource", +"description": "Source for the environment variable's value." +} +}, +"type": "object" +}, +"GoogleCloudRunV2EnvVarSource": { +"description": "EnvVarSource represents a source for the value of an EnvVar.", +"id": "GoogleCloudRunV2EnvVarSource", +"properties": { +"secretKeyRef": { +"$ref": "GoogleCloudRunV2SecretKeySelector", +"description": "Selects a secret and a specific version from Cloud Secret Manager." +} +}, +"type": "object" +}, +"GoogleCloudRunV2Execution": { +"description": "Execution represents the configuration of a single execution. A execution an immutable resource that references a container image which is run to completion.", +"id": "GoogleCloudRunV2Execution", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", +"readOnly": true, +"type": "object" +}, +"cancelledCount": { +"description": "Output only. The number of tasks which reached phase Cancelled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"completionTime": { +"description": "Output only. Represents time when the execution was completed. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"conditions": { +"description": "Output only. The Condition of this Execution, containing its readiness status, and detailed error information in case it did not reach the desired state.", +"items": { +"$ref": "GoogleCloudRunV2Condition" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Represents time when the execution was acknowledged by the execution controller. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"failedCount": { +"description": "Output only. The number of tasks which reached phase Failed.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"generation": { +"description": "Output only. A number that monotonically increases every time the user modifies the desired state.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"job": { +"description": "Output only. The name of the parent Job.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", +"readOnly": true, +"type": "object" +}, +"launchStage": { +"description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"logUri": { +"description": "Output only. URI where logs for this execution can be found in Cloud Console.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The unique name of this Execution.", +"readOnly": true, +"type": "string" +}, +"observedGeneration": { +"description": "Output only. The generation of this Execution. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"parallelism": { +"description": "Output only. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"reconciling": { +"description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true, +"type": "boolean" +}, +"retriedCount": { +"description": "Output only. The number of tasks which have retried at least once.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"runningCount": { +"description": "Output only. The number of actively running tasks.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Represents time when the execution started to run. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"succeededCount": { +"description": "Output only. The number of tasks which reached phase Succeeded.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"taskCount": { +"description": "Output only. Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"template": { +"$ref": "GoogleCloudRunV2TaskTemplate", +"description": "Output only. The template used to create tasks for this execution.", +"readOnly": true +}, +"uid": { +"description": "Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last-modified time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ExecutionReference": { +"description": "Reference to an Execution. Use /Executions.GetExecution with the given name to get full execution including the latest status.", +"id": "GoogleCloudRunV2ExecutionReference", +"properties": { +"completionStatus": { +"description": "Status for the execution completion.", +"enum": [ +"COMPLETION_STATUS_UNSPECIFIED", +"EXECUTION_SUCCEEDED", +"EXECUTION_FAILED", +"EXECUTION_RUNNING", +"EXECUTION_PENDING", +"EXECUTION_CANCELLED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Job execution has succeeded.", +"Job execution has failed.", +"Job execution is running normally.", +"Waiting for backing resources to be provisioned.", +"Job execution has been cancelled by the user." +], +"type": "string" +}, +"completionTime": { +"description": "Creation timestamp of the execution.", +"format": "google-datetime", +"type": "string" +}, +"createTime": { +"description": "Creation timestamp of the execution.", +"format": "google-datetime", +"type": "string" +}, +"deleteTime": { +"description": "The deletion time of the execution. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Name of the execution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ExecutionTemplate": { +"description": "ExecutionTemplate describes the data an execution should have when created from a template.", +"id": "GoogleCloudRunV2ExecutionTemplate", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", +"type": "object" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate.", +"type": "object" +}, +"parallelism": { +"description": "Specifies the maximum desired number of tasks the execution should run at given time. Must be <= task_count. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed remaining, i.e. when the work left to do is less than max parallelism.", +"format": "int32", +"type": "integer" +}, +"taskCount": { +"description": "Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. Defaults to 1.", +"format": "int32", +"type": "integer" +}, +"template": { +"$ref": "GoogleCloudRunV2TaskTemplate", +"description": "Required. Describes the task(s) that will be created when executing an execution." +} +}, +"type": "object" +}, +"GoogleCloudRunV2ExportImageRequest": { +"description": "Request message for exporting Cloud Run image.", +"id": "GoogleCloudRunV2ExportImageRequest", +"properties": { +"destinationRepo": { +"description": "Required. The export destination url (the Artifact Registry repo).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ExportImageResponse": { +"description": "ExportImageResponse contains an operation Id to track the image export operation.", +"id": "GoogleCloudRunV2ExportImageResponse", +"properties": { +"operationId": { +"description": "An operation ID used to track the status of image exports tied to the original pod ID in the request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ExportStatusResponse": { +"description": "ExportStatusResponse contains the status of image export operation, with the status of each image export job.", +"id": "GoogleCloudRunV2ExportStatusResponse", +"properties": { +"imageExportStatuses": { +"description": "The status of each image export job.", +"items": { +"$ref": "GoogleCloudRunV2ImageExportStatus" +}, +"type": "array" +}, +"operationId": { +"description": "The operation id.", +"type": "string" +}, +"operationState": { +"description": "Output only. The state of the overall export operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"IN_PROGRESS", +"FINISHED" +], +"enumDescriptions": [ +"State unspecified.", +"Operation still in progress.", +"Operation finished." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2GCSVolumeSource": { +"description": "Represents a volume backed by a Cloud Storage bucket using Cloud Storage FUSE.", +"id": "GoogleCloudRunV2GCSVolumeSource", +"properties": { +"bucket": { +"description": "Cloud Storage Bucket name.", +"type": "string" +}, +"mountOptions": { +"description": "A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading \"--\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"readOnly": { +"description": "If true, the volume will be mounted as read only for all mounts.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRunV2GRPCAction": { +"description": "GRPCAction describes an action involving a GRPC port.", +"id": "GoogleCloudRunV2GRPCAction", +"properties": { +"port": { +"description": "Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", +"format": "int32", +"type": "integer" +}, +"service": { +"description": "Optional. 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" +} +}, +"type": "object" +}, +"GoogleCloudRunV2HTTPGetAction": { +"description": "HTTPGetAction describes an action based on HTTP Get requests.", +"id": "GoogleCloudRunV2HTTPGetAction", +"properties": { +"httpHeaders": { +"description": "Optional. Custom headers to set in the request. HTTP allows repeated headers.", +"items": { +"$ref": "GoogleCloudRunV2HTTPHeader" +}, +"type": "array" +}, +"path": { +"description": "Optional. Path to access on the HTTP server. Defaults to '/'.", +"type": "string" +}, +"port": { +"description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRunV2HTTPHeader": { +"description": "HTTPHeader describes a custom header to be used in HTTP probes", +"id": "GoogleCloudRunV2HTTPHeader", +"properties": { +"name": { +"description": "Required. The header field name", +"type": "string" +}, +"value": { +"description": "Optional. The header field value", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ImageExportStatus": { +"description": "The status of an image export job.", +"id": "GoogleCloudRunV2ImageExportStatus", +"properties": { +"exportJobState": { +"description": "Output only. Has the image export job finished (regardless of successful or failure).", +"enum": [ +"EXPORT_JOB_STATE_UNSPECIFIED", +"IN_PROGRESS", +"FINISHED" +], +"enumDescriptions": [ +"State unspecified.", +"Job still in progress.", +"Job finished." +], +"readOnly": true, +"type": "string" +}, +"exportedImageDigest": { +"description": "The exported image ID as it will appear in Artifact Registry.", +"type": "string" +}, +"status": { +"$ref": "UtilStatusProto", +"description": "The status of the export task if done." +}, +"tag": { +"description": "The image tag as it will appear in Artifact Registry.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Job": { +"description": "Job represents the configuration of a single job, which references a container image that is run to completion.", +"id": "GoogleCloudRunV2Job", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules.", +"type": "object" +}, +"binaryAuthorization": { +"$ref": "GoogleCloudRunV2BinaryAuthorization", +"description": "Settings for the Binary Authorization feature." +}, +"client": { +"description": "Arbitrary identifier for the API client.", +"type": "string" +}, +"clientVersion": { +"description": "Arbitrary version identifier for the API client.", +"type": "string" +}, +"conditions": { +"description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Job does not reach its desired state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"items": { +"$ref": "GoogleCloudRunV2Condition" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. The creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. Email address of the authenticated creator.", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The deletion time. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"readOnly": true, +"type": "string" +}, +"executionCount": { +"description": "Output only. Number of executions created for this job.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"expireTime": { +"description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generation": { +"description": "Output only. A number that monotonically increases every time the user modifies the desired state.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job.", +"type": "object" +}, +"lastModifier": { +"description": "Output only. Email address of the last authenticated modifier.", +"readOnly": true, +"type": "string" +}, +"latestCreatedExecution": { +"$ref": "GoogleCloudRunV2ExecutionReference", +"description": "Output only. Name of the last created execution.", +"readOnly": true +}, +"launchStage": { +"description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"name": { +"description": "The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job}", +"type": "string" +}, +"observedGeneration": { +"description": "Output only. The generation of this Job. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reconciling": { +"description": "Output only. Returns true if the Job is currently being acted upon by the system to bring it into the desired state. When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, `observed_generation` and `latest_succeeded_execution`, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `observed_generation` and `generation`, `latest_succeeded_execution` and `latest_created_execution`. If reconciliation failed, `observed_generation` and `latest_succeeded_execution` will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in `terminal_condition` and `conditions`.", +"readOnly": true, +"type": "boolean" +}, +"runExecutionToken": { +"description": "A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.", +"type": "string" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startExecutionToken": { +"description": "A unique string used as a suffix creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.", +"type": "string" +}, +"template": { +"$ref": "GoogleCloudRunV2ExecutionTemplate", +"description": "Required. The template used to create executions for this Job." +}, +"terminalCondition": { +"$ref": "GoogleCloudRunV2Condition", +"description": "Output only. The Condition of this Job, containing its readiness status, and detailed error information in case it did not reach the desired state.", +"readOnly": true +}, +"uid": { +"description": "Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last-modified time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ListExecutionsResponse": { +"description": "Response message containing a list of Executions.", +"id": "GoogleCloudRunV2ListExecutionsResponse", +"properties": { +"executions": { +"description": "The resulting list of Executions.", +"items": { +"$ref": "GoogleCloudRunV2Execution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token indicating there are more items than page_size. Use it in the next ListExecutions request to continue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ListJobsResponse": { +"description": "Response message containing a list of Jobs.", +"id": "GoogleCloudRunV2ListJobsResponse", +"properties": { +"jobs": { +"description": "The resulting list of Jobs.", +"items": { +"$ref": "GoogleCloudRunV2Job" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token indicating there are more items than page_size. Use it in the next ListJobs request to continue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ListRevisionsResponse": { +"description": "Response message containing a list of Revisions.", +"id": "GoogleCloudRunV2ListRevisionsResponse", +"properties": { +"nextPageToken": { +"description": "A token indicating there are more items than page_size. Use it in the next ListRevisions request to continue.", +"type": "string" +}, +"revisions": { +"description": "The resulting list of Revisions.", +"items": { +"$ref": "GoogleCloudRunV2Revision" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ListServicesResponse": { +"description": "Response message containing a list of Services.", +"id": "GoogleCloudRunV2ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "A token indicating there are more items than page_size. Use it in the next ListServices request to continue.", +"type": "string" +}, +"services": { +"description": "The resulting list of Services.", +"items": { +"$ref": "GoogleCloudRunV2Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ListTasksResponse": { +"description": "Response message containing a list of Tasks.", +"id": "GoogleCloudRunV2ListTasksResponse", +"properties": { +"nextPageToken": { +"description": "A token indicating there are more items than page_size. Use it in the next ListTasks request to continue.", +"type": "string" +}, +"tasks": { +"description": "The resulting list of Tasks.", +"items": { +"$ref": "GoogleCloudRunV2Task" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Metadata": { +"description": "Metadata represents the JSON encoded generated customer metadata.", +"id": "GoogleCloudRunV2Metadata", +"properties": { +"metadata": { +"description": "JSON encoded Google-generated Customer Metadata for a given resource/project.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2NFSVolumeSource": { +"description": "Represents an NFS mount.", +"id": "GoogleCloudRunV2NFSVolumeSource", +"properties": { +"path": { +"description": "Path that is exported by the NFS server.", +"type": "string" +}, +"readOnly": { +"description": "If true, the volume will be mounted as read only for all mounts.", +"type": "boolean" +}, +"server": { +"description": "Hostname or IP address of the NFS server", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2NetworkInterface": { +"description": "Direct VPC egress settings.", +"id": "GoogleCloudRunV2NetworkInterface", +"properties": { +"network": { +"description": "Optional. The VPC network that the Cloud Run resource will be able to send traffic to. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If network is not specified, it will be looked up from the subnetwork.", +"type": "string" +}, +"subnetwork": { +"description": "Optional. The VPC subnetwork that the Cloud Run resource will get IPs from. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the subnetwork with the same name with the network will be used.", +"type": "string" +}, +"tags": { +"description": "Optional. Network tags applied to this Cloud Run resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2NodeSelector": { +"description": "Hardware constraints configuration.", +"id": "GoogleCloudRunV2NodeSelector", +"properties": { +"accelerator": { +"description": "Required. GPU accelerator type to attach to an instance.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Overrides": { +"description": "RunJob Overrides that contains Execution fields to be overridden.", +"id": "GoogleCloudRunV2Overrides", +"properties": { +"containerOverrides": { +"description": "Per container override specification.", +"items": { +"$ref": "GoogleCloudRunV2ContainerOverride" +}, +"type": "array" +}, +"taskCount": { +"description": "Optional. The desired number of tasks the execution should run. Will replace existing task_count value.", +"format": "int32", +"type": "integer" +}, +"timeout": { +"description": "Duration in seconds the task may be active before the system will actively try to mark it failed and kill associated containers. Will replace existing timeout_seconds value.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Probe": { +"description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", +"id": "GoogleCloudRunV2Probe", +"properties": { +"failureThreshold": { +"description": "Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", +"format": "int32", +"type": "integer" +}, +"grpc": { +"$ref": "GoogleCloudRunV2GRPCAction", +"description": "Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified." +}, +"httpGet": { +"$ref": "GoogleCloudRunV2HTTPGetAction", +"description": "Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified." +}, +"initialDelaySeconds": { +"description": "Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.", +"format": "int32", +"type": "integer" +}, +"periodSeconds": { +"description": "Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.", +"format": "int32", +"type": "integer" +}, +"tcpSocket": { +"$ref": "GoogleCloudRunV2TCPSocketAction", +"description": "Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified." +}, +"timeoutSeconds": { +"description": "Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ResourceRequirements": { +"description": "ResourceRequirements describes the compute resource requirements.", +"id": "GoogleCloudRunV2ResourceRequirements", +"properties": { +"cpuIdle": { +"description": "Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.", +"type": "boolean" +}, +"limits": { +"additionalProperties": { +"type": "string" +}, +"description": "Only `memory` and `cpu` keys in the map are supported. Notes: * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits", +"type": "object" +}, +"startupCpuBoost": { +"description": "Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Revision": { +"description": "A Revision is an immutable snapshot of code and configuration. A Revision references a container image. Revisions are only created by updates to its parent Service.", +"id": "GoogleCloudRunV2Revision", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", +"readOnly": true, +"type": "object" +}, +"conditions": { +"description": "Output only. The Condition of this Revision, containing its readiness status, and detailed error information in case it did not reach a serving state.", +"items": { +"$ref": "GoogleCloudRunV2Condition" +}, +"readOnly": true, +"type": "array" +}, +"containers": { +"description": "Holds the single container that defines the unit of execution for this Revision.", +"items": { +"$ref": "GoogleCloudRunV2Container" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. The creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"encryptionKey": { +"description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", +"type": "string" +}, +"encryptionKeyRevocationAction": { +"description": "The action to take if the encryption key is revoked.", +"enum": [ +"ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", +"PREVENT_NEW", +"SHUTDOWN" +], +"enumDescriptions": [ +"Unspecified", +"Prevents the creation of new instances.", +"Shuts down existing instances, and prevents creation of new ones." +], +"type": "string" +}, +"encryptionKeyShutdownDuration": { +"description": "If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", +"format": "google-duration", +"type": "string" +}, +"etag": { +"description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"readOnly": true, +"type": "string" +}, +"executionEnvironment": { +"description": "The execution environment being used to host this Revision.", +"enum": [ +"EXECUTION_ENVIRONMENT_UNSPECIFIED", +"EXECUTION_ENVIRONMENT_GEN1", +"EXECUTION_ENVIRONMENT_GEN2" +], +"enumDescriptions": [ +"Unspecified", +"Uses the First Generation environment.", +"Uses Second Generation environment." +], +"type": "string" +}, +"expireTime": { +"description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generation": { +"description": "Output only. A number that monotonically increases every time the user modifies the desired state.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels.", +"readOnly": true, +"type": "object" +}, +"launchStage": { +"description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"logUri": { +"description": "Output only. The Google Console URI to obtain logs for the Revision.", +"readOnly": true, +"type": "string" +}, +"maxInstanceRequestConcurrency": { +"description": "Sets the maximum number of requests that each serving instance can receive.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. The unique name of this Revision.", +"readOnly": true, +"type": "string" +}, +"nodeSelector": { +"$ref": "GoogleCloudRunV2NodeSelector", +"description": "The node selector for the revision." +}, +"observedGeneration": { +"description": "Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reconciling": { +"description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scaling": { +"$ref": "GoogleCloudRunV2RevisionScaling", +"description": "Scaling settings for this revision." +}, +"scalingStatus": { +"$ref": "GoogleCloudRunV2RevisionScalingStatus", +"description": "Output only. The current effective scaling settings for the revision.", +"readOnly": true +}, +"service": { +"description": "Output only. The name of the parent service.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has.", +"type": "string" +}, +"serviceMesh": { +"$ref": "GoogleCloudRunV2ServiceMesh", +"description": "Enables service mesh connectivity." +}, +"sessionAffinity": { +"description": "Enable session affinity.", +"type": "boolean" +}, +"timeout": { +"description": "Max allowed time for an instance to respond to a request.", +"format": "google-duration", +"type": "string" +}, +"uid": { +"description": "Output only. Server assigned unique identifier for the Revision. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last-modified time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"volumes": { +"description": "A list of Volumes to make available to containers.", +"items": { +"$ref": "GoogleCloudRunV2Volume" +}, +"type": "array" +}, +"vpcAccess": { +"$ref": "GoogleCloudRunV2VpcAccess", +"description": "VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." +} +}, +"type": "object" +}, +"GoogleCloudRunV2RevisionScaling": { +"description": "Settings for revision-level scaling settings.", +"id": "GoogleCloudRunV2RevisionScaling", +"properties": { +"maxInstanceCount": { +"description": "Optional. Maximum number of serving instances that this resource should have. When unspecified, the field is set to the server default value of 100. For more information see https://cloud.google.com/run/docs/configuring/max-instances", +"format": "int32", +"type": "integer" +}, +"minInstanceCount": { +"description": "Optional. Minimum number of serving instances that this resource should have.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRunV2RevisionScalingStatus": { +"description": "Effective settings for the current revision", +"id": "GoogleCloudRunV2RevisionScalingStatus", +"properties": { +"desiredMinInstanceCount": { +"description": "The current number of min instances provisioned for this revision.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRunV2RevisionTemplate": { +"description": "RevisionTemplate describes the data a revision should have when created from a template.", +"id": "GoogleCloudRunV2RevisionTemplate", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", +"type": "object" +}, +"containers": { +"description": "Holds the single container that defines the unit of execution for this Revision.", +"items": { +"$ref": "GoogleCloudRunV2Container" +}, +"type": "array" +}, +"encryptionKey": { +"description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", +"type": "string" +}, +"encryptionKeyRevocationAction": { +"description": "Optional. The action to take if the encryption key is revoked.", +"enum": [ +"ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", +"PREVENT_NEW", +"SHUTDOWN" +], +"enumDescriptions": [ +"Unspecified", +"Prevents the creation of new instances.", +"Shuts down existing instances, and prevents creation of new ones." +], +"type": "string" +}, +"encryptionKeyShutdownDuration": { +"description": "Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", +"format": "google-duration", +"type": "string" +}, +"executionEnvironment": { +"description": "Optional. The sandbox environment to host this Revision.", +"enum": [ +"EXECUTION_ENVIRONMENT_UNSPECIFIED", +"EXECUTION_ENVIRONMENT_GEN1", +"EXECUTION_ENVIRONMENT_GEN2" +], +"enumDescriptions": [ +"Unspecified", +"Uses the First Generation environment.", +"Uses Second Generation environment." +], +"type": "string" +}, +"healthCheckDisabled": { +"description": "Optional. Disables health checking containers during deployment.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate.", +"type": "object" +}, +"maxInstanceRequestConcurrency": { +"description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, concurrency defaults to 80 when requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`.", +"format": "int32", +"type": "integer" +}, +"nodeSelector": { +"$ref": "GoogleCloudRunV2NodeSelector", +"description": "Optional. The node selector for the revision template." +}, +"revision": { +"description": "Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.", +"type": "string" +}, +"scaling": { +"$ref": "GoogleCloudRunV2RevisionScaling", +"description": "Optional. Scaling settings for this Revision." +}, +"serviceAccount": { +"description": "Optional. Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", +"type": "string" +}, +"serviceMesh": { +"$ref": "GoogleCloudRunV2ServiceMesh", +"description": "Optional. Enables service mesh connectivity." +}, +"sessionAffinity": { +"description": "Optional. Enable session affinity.", +"type": "boolean" +}, +"timeout": { +"description": "Optional. Max allowed time for an instance to respond to a request.", +"format": "google-duration", +"type": "string" +}, +"volumes": { +"description": "Optional. A list of Volumes to make available to containers.", +"items": { +"$ref": "GoogleCloudRunV2Volume" +}, +"type": "array" +}, +"vpcAccess": { +"$ref": "GoogleCloudRunV2VpcAccess", +"description": "Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." +} +}, +"type": "object" +}, +"GoogleCloudRunV2RunJobRequest": { +"description": "Request message to create a new Execution of a Job.", +"id": "GoogleCloudRunV2RunJobRequest", +"properties": { +"etag": { +"description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"type": "string" +}, +"overrides": { +"$ref": "GoogleCloudRunV2Overrides", +"description": "Overrides specification for a given execution of a job. If provided, overrides will be applied to update the execution or task spec." +}, +"validateOnly": { +"description": "Indicates that the request should be validated without actually deleting any resources.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRunV2SecretKeySelector": { +"description": "SecretEnvVarSource represents a source for the value of an EnvVar.", +"id": "GoogleCloudRunV2SecretKeySelector", +"properties": { +"secret": { +"description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.", +"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" +} +}, +"type": "object" +}, +"GoogleCloudRunV2SecretVolumeSource": { +"description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret.", +"id": "GoogleCloudRunV2SecretVolumeSource", +"properties": { +"defaultMode": { +"description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", +"format": "int32", +"type": "integer" +}, +"items": { +"description": "If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version.", +"items": { +"$ref": "GoogleCloudRunV2VersionToPath" +}, +"type": "array" +}, +"secret": { +"description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Service": { +"description": "Service acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", +"id": "GoogleCloudRunV2Service", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules.", +"type": "object" +}, +"binaryAuthorization": { +"$ref": "GoogleCloudRunV2BinaryAuthorization", +"description": "Optional. Settings for the Binary Authorization feature." +}, +"client": { +"description": "Arbitrary identifier for the API client.", +"type": "string" +}, +"clientVersion": { +"description": "Arbitrary version identifier for the API client.", +"type": "string" +}, +"conditions": { +"description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"items": { +"$ref": "GoogleCloudRunV2Condition" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. The creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. Email address of the authenticated creator.", +"readOnly": true, +"type": "string" +}, +"customAudiences": { +"description": "One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a string. The custom audiences are encoded in the token and used to authenticate requests. For more information, see https://cloud.google.com/run/docs/configuring/custom-audiences.", +"items": { +"type": "string" +}, +"type": "array" +}, +"defaultUriDisabled": { +"description": "Optional. Disables public resolution of the default URI of this service.", +"type": "boolean" +}, +"deleteTime": { +"description": "Output only. The deletion time. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User-provided description of the Service. This field currently has a 512-character limit.", +"type": "string" +}, +"etag": { +"description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generation": { +"description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ingress": { +"description": "Optional. Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.", +"enum": [ +"INGRESS_TRAFFIC_UNSPECIFIED", +"INGRESS_TRAFFIC_ALL", +"INGRESS_TRAFFIC_INTERNAL_ONLY", +"INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER", +"INGRESS_TRAFFIC_NONE" +], +"enumDescriptions": [ +"Unspecified", +"All inbound traffic is allowed.", +"Only internal traffic is allowed.", +"Both internal and Google Cloud Load Balancer traffic is allowed.", +"No ingress traffic is allowed." +], +"type": "string" +}, +"invokerIamDisabled": { +"description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service.", +"type": "object" +}, +"lastModifier": { +"description": "Output only. Email address of the last authenticated modifier.", +"readOnly": true, +"type": "string" +}, +"latestCreatedRevision": { +"description": "Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true, +"type": "string" +}, +"latestReadyRevision": { +"description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true, +"type": "string" +}, +"launchStage": { +"description": "Optional. The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"name": { +"description": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", +"type": "string" +}, +"observedGeneration": { +"description": "Output only. The generation of this Service currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reconciling": { +"description": "Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in `terminal_condition` and `conditions`.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scaling": { +"$ref": "GoogleCloudRunV2ServiceScaling", +"description": "Optional. Specifies service-level scaling settings" +}, +"template": { +"$ref": "GoogleCloudRunV2RevisionTemplate", +"description": "Required. The template used to create revisions for this Service." +}, +"terminalCondition": { +"$ref": "GoogleCloudRunV2Condition", +"description": "Output only. The Condition of this Service, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true +}, +"traffic": { +"description": "Optional. Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest `Ready` Revision.", +"items": { +"$ref": "GoogleCloudRunV2TrafficTarget" +}, +"type": "array" +}, +"trafficStatuses": { +"description": "Output only. Detailed status information for corresponding traffic targets. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", +"items": { +"$ref": "GoogleCloudRunV2TrafficTargetStatus" +}, +"readOnly": true, +"type": "array" +}, +"uid": { +"description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last-modified time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Output only. The main URI in which this Service is serving traffic.", +"readOnly": true, +"type": "string" +}, +"urls": { +"description": "Output only. All URLs serving traffic for this Service.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ServiceMesh": { +"description": "Settings for Cloud Service Mesh. For more information see https://cloud.google.com/service-mesh/docs/overview.", +"id": "GoogleCloudRunV2ServiceMesh", +"properties": { +"mesh": { +"description": "The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can be project id or number.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2ServiceScaling": { +"description": "Scaling settings applied at the service level rather than at the revision level.", +"id": "GoogleCloudRunV2ServiceScaling", +"properties": { +"manualInstanceCount": { +"description": "Optional. total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", +"format": "int32", +"type": "integer" +}, +"maxInstanceCount": { +"description": "Optional. total max instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", +"format": "int32", +"type": "integer" +}, +"minInstanceCount": { +"description": "Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", +"format": "int32", +"type": "integer" +}, +"scalingMode": { +"description": "Optional. The scaling mode for the service.", +"enum": [ +"SCALING_MODE_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Unspecified.", +"Scale based on traffic between min and max instances.", +"Scale to exactly min instances and ignore max instances." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2StorageSource": { +"description": "Location of the source in an archive file in Google Cloud Storage.", +"id": "GoogleCloudRunV2StorageSource", +"properties": { +"bucket": { +"description": "Required. Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Optional. Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2SubmitBuildRequest": { +"description": "Request message for submitting a Build.", +"id": "GoogleCloudRunV2SubmitBuildRequest", +"properties": { +"buildpackBuild": { +"$ref": "GoogleCloudRunV2BuildpacksBuild", +"description": "Build the source using Buildpacks." +}, +"dockerBuild": { +"$ref": "GoogleCloudRunV2DockerBuild", +"description": "Build the source using Docker. This means the source has a Dockerfile." +}, +"imageUri": { +"description": "Required. Artifact Registry URI to store the built image.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. The service account to use for the build. If not set, the default Cloud Build service account for the project will be used.", +"type": "string" +}, +"storageSource": { +"$ref": "GoogleCloudRunV2StorageSource", +"description": "Required. Source for the build." +}, +"tags": { +"description": "Optional. Additional tags to annotate the build.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workerPool": { +"description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2SubmitBuildResponse": { +"description": "Response message for submitting a Build.", +"id": "GoogleCloudRunV2SubmitBuildResponse", +"properties": { +"baseImageUri": { +"description": "URI of the base builder image in Artifact Registry being used in the build. Used to opt into automatic base image updates.", +"type": "string" +}, +"baseImageWarning": { +"description": "Warning message for the base image.", +"type": "string" +}, +"buildOperation": { +"$ref": "GoogleLongrunningOperation", +"description": "Cloud Build operation to be polled via CloudBuild API." +} +}, +"type": "object" +}, +"GoogleCloudRunV2TCPSocketAction": { +"description": "TCPSocketAction describes an action based on opening a socket", +"id": "GoogleCloudRunV2TCPSocketAction", +"properties": { +"port": { +"description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Task": { +"description": "Task represents a single run of a container to completion.", +"id": "GoogleCloudRunV2Task", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", +"readOnly": true, +"type": "object" +}, +"completionTime": { +"description": "Output only. Represents time when the Task was completed. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"conditions": { +"description": "Output only. The Condition of this Task, containing its readiness status, and detailed error information in case it did not reach the desired state.", +"items": { +"$ref": "GoogleCloudRunV2Condition" +}, +"readOnly": true, +"type": "array" +}, +"containers": { +"description": "Holds the single container that defines the unit of execution for this task.", +"items": { +"$ref": "GoogleCloudRunV2Container" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Represents time when the task was created by the system. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"encryptionKey": { +"description": "Output only. A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", +"readOnly": true, +"type": "string" +}, +"execution": { +"description": "Output only. The name of the parent Execution.", +"readOnly": true, +"type": "string" +}, +"executionEnvironment": { +"description": "The execution environment being used to host this Task.", +"enum": [ +"EXECUTION_ENVIRONMENT_UNSPECIFIED", +"EXECUTION_ENVIRONMENT_GEN1", +"EXECUTION_ENVIRONMENT_GEN2" +], +"enumDescriptions": [ +"Unspecified", +"Uses the First Generation environment.", +"Uses Second Generation environment." +], +"type": "string" +}, +"expireTime": { +"description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generation": { +"description": "Output only. A number that monotonically increases every time the user modifies the desired state.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"index": { +"description": "Output only. Index of the Task, unique per execution, and beginning at 0.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"job": { +"description": "Output only. The name of the parent Job.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", +"readOnly": true, +"type": "object" +}, +"lastAttemptResult": { +"$ref": "GoogleCloudRunV2TaskAttemptResult", +"description": "Output only. Result of the last attempt of this Task.", +"readOnly": true +}, +"logUri": { +"description": "Output only. URI where logs for this execution can be found in Cloud Console.", +"readOnly": true, +"type": "string" +}, +"maxRetries": { +"description": "Number of retries allowed per Task, before marking this Task failed.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. The unique name of this Task.", +"readOnly": true, +"type": "string" +}, +"observedGeneration": { +"description": "Output only. The generation of this Task. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reconciling": { +"description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", +"readOnly": true, +"type": "boolean" +}, +"retried": { +"description": "Output only. The number of times this Task was retried. Tasks are retried when they fail up to the maxRetries limit.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scheduledTime": { +"description": "Output only. Represents time when the task was scheduled to run by the system. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", +"type": "string" +}, +"startTime": { +"description": "Output only. Represents time when the task started to run. It is not guaranteed to be set in happens-before order across separate operations.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"timeout": { +"description": "Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.", +"format": "google-duration", +"type": "string" +}, +"uid": { +"description": "Output only. Server assigned unique identifier for the Task. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last-modified time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"volumes": { +"description": "A list of Volumes to make available to containers.", +"items": { +"$ref": "GoogleCloudRunV2Volume" +}, +"type": "array" +}, +"vpcAccess": { +"$ref": "GoogleCloudRunV2VpcAccess", +"description": "Output only. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudRunV2TaskAttemptResult": { +"description": "Result of a task attempt.", +"id": "GoogleCloudRunV2TaskAttemptResult", +"properties": { +"exitCode": { +"description": "Output only. The exit code of this attempt. This may be unset if the container was unable to exit cleanly with a code due to some other failure. See status field for possible failure details.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The status of this attempt. If the status code is OK, then the attempt succeeded.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudRunV2TaskTemplate": { +"description": "TaskTemplate describes the data a task should have when created from a template.", +"id": "GoogleCloudRunV2TaskTemplate", +"properties": { +"containers": { +"description": "Holds the single container that defines the unit of execution for this task.", +"items": { +"$ref": "GoogleCloudRunV2Container" +}, +"type": "array" +}, +"encryptionKey": { +"description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", +"type": "string" +}, +"executionEnvironment": { +"description": "Optional. The execution environment being used to host this Task.", +"enum": [ +"EXECUTION_ENVIRONMENT_UNSPECIFIED", +"EXECUTION_ENVIRONMENT_GEN1", +"EXECUTION_ENVIRONMENT_GEN2" +], +"enumDescriptions": [ +"Unspecified", +"Uses the First Generation environment.", +"Uses Second Generation environment." +], +"type": "string" +}, +"maxRetries": { +"description": "Number of retries allowed per Task, before marking this Task failed. Defaults to 3.", +"format": "int32", +"type": "integer" +}, +"serviceAccount": { +"description": "Optional. Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", +"type": "string" +}, +"timeout": { +"description": "Optional. Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout. Defaults to 600 seconds.", +"format": "google-duration", +"type": "string" +}, +"volumes": { +"description": "Optional. A list of Volumes to make available to containers.", +"items": { +"$ref": "GoogleCloudRunV2Volume" +}, +"type": "array" +}, +"vpcAccess": { +"$ref": "GoogleCloudRunV2VpcAccess", +"description": "Optional. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." +} +}, +"type": "object" +}, +"GoogleCloudRunV2TrafficTarget": { +"description": "Holds a single traffic routing entry for the Service. Allocations can be done to a specific Revision name, or pointing to the latest Ready Revision.", +"id": "GoogleCloudRunV2TrafficTarget", +"properties": { +"percent": { +"description": "Specifies percent of the traffic to this Revision. This defaults to zero if unspecified.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "Revision to which to send this portion of traffic, if traffic allocation is by revision.", +"type": "string" +}, +"tag": { +"description": "Indicates a string to be part of the URI to exclusively reference this target.", +"type": "string" +}, +"type": { +"description": "The allocation type for this traffic target.", +"enum": [ +"TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", +"TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", +"TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" +], +"enumDescriptions": [ +"Unspecified instance allocation type.", +"Allocates instances to the Service's latest ready Revision.", +"Allocates instances to a Revision by name." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2TrafficTargetStatus": { +"description": "Represents the observed state of a single `TrafficTarget` entry.", +"id": "GoogleCloudRunV2TrafficTargetStatus", +"properties": { +"percent": { +"description": "Specifies percent of the traffic to this Revision.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "Revision to which this traffic is sent.", +"type": "string" +}, +"tag": { +"description": "Indicates the string used in the URI to exclusively reference this target.", +"type": "string" +}, +"type": { +"description": "The allocation type for this traffic target.", +"enum": [ +"TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", +"TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", +"TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" +], +"enumDescriptions": [ +"Unspecified instance allocation type.", +"Allocates instances to the Service's latest ready Revision.", +"Allocates instances to a Revision by name." +], +"type": "string" +}, +"uri": { +"description": "Displays the target URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2VersionToPath": { +"description": "VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mount_path.", +"id": "GoogleCloudRunV2VersionToPath", +"properties": { +"mode": { +"description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", +"format": "int32", +"type": "integer" +}, +"path": { +"description": "Required. The relative path of the secret in the container.", +"type": "string" +}, +"version": { +"description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value, or an integer or a secret alias for a specific version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2Volume": { +"description": "Volume represents a named volume in a container.", +"id": "GoogleCloudRunV2Volume", +"properties": { +"cloudSqlInstance": { +"$ref": "GoogleCloudRunV2CloudSqlInstance", +"description": "For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run." +}, +"emptyDir": { +"$ref": "GoogleCloudRunV2EmptyDirVolumeSource", +"description": "Ephemeral storage used as a shared volume." +}, +"gcs": { +"$ref": "GoogleCloudRunV2GCSVolumeSource", +"description": "Persistent storage backed by a Google Cloud Storage bucket." +}, +"name": { +"description": "Required. Volume's name.", +"type": "string" +}, +"nfs": { +"$ref": "GoogleCloudRunV2NFSVolumeSource", +"description": "For NFS Voumes, contains the path to the nfs Volume" +}, +"secret": { +"$ref": "GoogleCloudRunV2SecretVolumeSource", +"description": "Secret represents a secret that should populate this volume." +} +}, +"type": "object" +}, +"GoogleCloudRunV2VolumeMount": { +"description": "VolumeMount describes a mounting of a Volume within a container.", +"id": "GoogleCloudRunV2VolumeMount", +"properties": { +"mountPath": { +"description": "Required. Path within the container at which the volume should be mounted. Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run", +"type": "string" +}, +"name": { +"description": "Required. This must match the Name of a Volume.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRunV2VpcAccess": { +"description": "VPC Access settings. For more information on sending traffic to a VPC network, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", +"id": "GoogleCloudRunV2VpcAccess", +"properties": { +"connector": { +"description": "VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where `{project}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", +"type": "string" +}, +"egress": { +"description": "Optional. Traffic VPC egress settings. If not provided, it defaults to PRIVATE_RANGES_ONLY.", +"enum": [ +"VPC_EGRESS_UNSPECIFIED", +"ALL_TRAFFIC", +"PRIVATE_RANGES_ONLY" +], +"enumDescriptions": [ +"Unspecified", +"All outbound traffic is routed through the VPC connector.", +"Only private IP ranges are routed through the VPC connector." +], +"type": "string" +}, +"networkInterfaces": { +"description": "Optional. Direct VPC egress settings. Currently only single network interface is supported.", +"items": { +"$ref": "GoogleCloudRunV2NetworkInterface" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1ApprovalConfig": { +"description": "ApprovalConfig describes configuration for manual approval of a build.", +"id": "GoogleDevtoolsCloudbuildV1ApprovalConfig", +"properties": { +"approvalRequired": { +"description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1ApprovalResult": { +"description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", +"id": "GoogleDevtoolsCloudbuildV1ApprovalResult", +"properties": { +"approvalTime": { +"description": "Output only. The time when the approval decision was made.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"approverAccount": { +"description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called.", +"readOnly": true, +"type": "string" +}, +"comment": { +"description": "Optional. An optional comment for this manual approval result.", +"type": "string" +}, +"decision": { +"description": "Required. The decision of this manual approval.", +"enum": [ +"DECISION_UNSPECIFIED", +"APPROVED", +"REJECTED" +], +"enumDescriptions": [ +"Default enum type. This should not be used.", +"Build is approved.", +"Build is rejected." +], +"type": "string" +}, +"url": { +"description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1ArtifactObjects": { +"description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", +"id": "GoogleDevtoolsCloudbuildV1ArtifactObjects", +"properties": { +"location": { +"description": "Cloud Storage bucket and optional object path, in the form \"gs://bucket/path/to/somewhere/\". (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.", +"type": "string" +}, +"paths": { +"description": "Path globs used to match files in the build's workspace.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timing": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing all artifact objects.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Artifacts": { +"description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", +"id": "GoogleDevtoolsCloudbuildV1Artifacts", +"properties": { +"images": { +"description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mavenArtifacts": { +"description": "A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1MavenArtifact" +}, +"type": "array" +}, +"npmPackages": { +"description": "A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1NpmPackage" +}, +"type": "array" +}, +"objects": { +"$ref": "GoogleDevtoolsCloudbuildV1ArtifactObjects", +"description": "A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the specified Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE." +}, +"pythonPackages": { +"description": "A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1PythonPackage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Build": { +"description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.", +"id": "GoogleDevtoolsCloudbuildV1Build", +"properties": { +"approval": { +"$ref": "GoogleDevtoolsCloudbuildV1BuildApproval", +"description": "Output only. Describes this build's approval configuration, status, and result.", +"readOnly": true +}, +"artifacts": { +"$ref": "GoogleDevtoolsCloudbuildV1Artifacts", +"description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." +}, +"availableSecrets": { +"$ref": "GoogleDevtoolsCloudbuildV1Secrets", +"description": "Secrets and secret environment variables." +}, +"buildTriggerId": { +"description": "Output only. The ID of the `BuildTrigger` that triggered this build, if it was triggered automatically.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time at which the request to create the build was received.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"failureInfo": { +"$ref": "GoogleDevtoolsCloudbuildV1FailureInfo", +"description": "Output only. Contains information about the build when status=FAILURE.", +"readOnly": true +}, +"finishTime": { +"description": "Output only. Time at which execution of the build was finished. The difference between finish_time and start_time is the duration of the build's execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"gitConfig": { +"$ref": "GoogleDevtoolsCloudbuildV1GitConfig", +"description": "Optional. Configuration for git operations." +}, +"id": { +"description": "Output only. Unique identifier of the build.", +"readOnly": true, +"type": "string" +}, +"images": { +"description": "A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the `Build` resource's results field. If any of the images fail to be pushed, the build status is marked `FAILURE`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logUrl": { +"description": "Output only. URL to logs for this build in Google Cloud Console.", +"readOnly": true, +"type": "string" +}, +"logsBucket": { +"description": "Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.", +"type": "string" +}, +"name": { +"description": "Output only. The 'Build' name with format: `projects/{project}/locations/{location}/builds/{build}`, where {build} is a unique identifier generated by the service.", +"readOnly": true, +"type": "string" +}, +"options": { +"$ref": "GoogleDevtoolsCloudbuildV1BuildOptions", +"description": "Special options for this build." +}, +"projectId": { +"description": "Output only. ID of the project.", +"readOnly": true, +"type": "string" +}, +"queueTtl": { +"description": "TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be `EXPIRED`. The TTL starts ticking from create_time.", +"format": "google-duration", +"type": "string" +}, +"results": { +"$ref": "GoogleDevtoolsCloudbuildV1Results", +"description": "Output only. Results of the build.", +"readOnly": true +}, +"secrets": { +"description": "Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1Secret" +}, +"type": "array" +}, +"serviceAccount": { +"description": "IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. ", +"type": "string" +}, +"source": { +"$ref": "GoogleDevtoolsCloudbuildV1Source", +"description": "Optional. The location of the source files to build." +}, +"sourceProvenance": { +"$ref": "GoogleDevtoolsCloudbuildV1SourceProvenance", +"description": "Output only. A permanent fixed identifier for source.", +"readOnly": true +}, +"startTime": { +"description": "Output only. Time at which execution of the build was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Status of the build.", +"enum": [ +"STATUS_UNKNOWN", +"PENDING", +"QUEUED", +"WORKING", +"SUCCESS", +"FAILURE", +"INTERNAL_ERROR", +"TIMEOUT", +"CANCELLED", +"EXPIRED" +], +"enumDescriptions": [ +"Status of the build is unknown.", +"Build has been created and is pending execution and queuing. It has not been queued.", +"Build or step is queued; work has not yet begun.", +"Build or step is being executed.", +"Build or step finished successfully.", +"Build or step failed to complete successfully.", +"Build or step failed due to an internal cause.", +"Build or step took longer than was allowed.", +"Build or step was canceled by a user.", +"Build was enqueued for longer than the value of `queue_ttl`." +], +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Customer-readable message about the current status.", +"readOnly": true, +"type": "string" +}, +"steps": { +"description": "Required. The operations to be performed on the workspace.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1BuildStep" +}, +"type": "array" +}, +"substitutions": { +"additionalProperties": { +"type": "string" +}, +"description": "Substitutions data for `Build` resource.", +"type": "object" +}, +"tags": { +"description": "Tags for annotation of a `Build`. These are not docker tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeout": { +"description": "Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes.", +"format": "google-duration", +"type": "string" +}, +"timing": { +"additionalProperties": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan" +}, +"description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included.", +"readOnly": true, +"type": "object" +}, +"warnings": { +"description": "Output only. Non-fatal problems encountered during the execution of the build.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1Warning" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1BuildApproval": { +"description": "BuildApproval describes a build's approval configuration, state, and result.", +"id": "GoogleDevtoolsCloudbuildV1BuildApproval", +"properties": { +"config": { +"$ref": "GoogleDevtoolsCloudbuildV1ApprovalConfig", +"description": "Output only. Configuration for manual approval of this build.", +"readOnly": true +}, +"result": { +"$ref": "GoogleDevtoolsCloudbuildV1ApprovalResult", +"description": "Output only. Result of manual approval for this Build.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of this build's approval.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"APPROVED", +"REJECTED", +"CANCELLED" +], +"enumDescriptions": [ +"Default enum type. This should not be used.", +"Build approval is pending.", +"Build approval has been approved.", +"Build approval has been rejected.", +"Build was cancelled while it was still pending approval." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1BuildOperationMetadata": { +"description": "Metadata for build operations.", +"id": "GoogleDevtoolsCloudbuildV1BuildOperationMetadata", +"properties": { +"build": { +"$ref": "GoogleDevtoolsCloudbuildV1Build", +"description": "The build that the operation is tracking." +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1BuildOptions": { +"description": "Optional arguments to enable specific features of builds.", +"id": "GoogleDevtoolsCloudbuildV1BuildOptions", +"properties": { +"automapSubstitutions": { +"description": "Option to include built-in and custom substitutions as env variables for all build steps.", +"type": "boolean" +}, +"defaultLogsBucketBehavior": { +"description": "Optional. Option to specify how default logs buckets are setup.", +"enum": [ +"DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED", +"REGIONAL_USER_OWNED_BUCKET", +"LEGACY_BUCKET" +], +"enumDescriptions": [ +"Unspecified.", +"Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.", +"Bucket is located in a Google-owned project and is not regionalized." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Requested disk size for the VM that runs the build. Note that this is *NOT* \"disk free\"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 4000GB; builds that request more than the maximum are rejected with an error.", +"format": "int64", +"type": "string" +}, +"dynamicSubstitutions": { +"description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", +"type": "boolean" +}, +"env": { +"description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"logStreamingOption": { +"description": "Option to define build log streaming behavior to Cloud Storage.", +"enum": [ +"STREAM_DEFAULT", +"STREAM_ON", +"STREAM_OFF" +], +"enumDescriptions": [ +"Service may automatically determine build log streaming behavior.", +"Build logs should be streamed to Cloud Storage.", +"Build logs should not be streamed to Cloud Storage; they will be written when the build is completed." +], +"type": "string" +}, +"logging": { +"description": "Option to specify the logging mode, which determines if and where build logs are stored.", +"enum": [ +"LOGGING_UNSPECIFIED", +"LEGACY", +"GCS_ONLY", +"STACKDRIVER_ONLY", +"CLOUD_LOGGING_ONLY", +"NONE" +], +"enumDeprecated": [ +false, +false, +false, +true, +false, +false +], +"enumDescriptions": [ +"The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", +"Build logs are stored in Cloud Logging and Cloud Storage.", +"Build logs are stored in Cloud Storage.", +"This option is the same as CLOUD_LOGGING_ONLY.", +"Build logs are stored in Cloud Logging. Selecting this option will not allow [logs streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).", +"Turn off all logging. No build logs will be captured." +], +"type": "string" +}, +"machineType": { +"description": "Compute Engine machine type on which to run the build.", +"enum": [ +"UNSPECIFIED", +"N1_HIGHCPU_8", +"N1_HIGHCPU_32", +"E2_HIGHCPU_8", +"E2_HIGHCPU_32", +"E2_MEDIUM" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Standard machine type.", +"Highcpu machine with 8 CPUs.", +"Highcpu machine with 32 CPUs.", +"Highcpu e2 machine with 8 CPUs.", +"Highcpu e2 machine with 32 CPUs.", +"E2 machine with 1 CPU." +], +"type": "string" +}, +"pool": { +"$ref": "GoogleDevtoolsCloudbuildV1PoolOption", +"description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." +}, +"requestedVerifyOption": { +"description": "Requested verifiability options.", +"enum": [ +"NOT_VERIFIED", +"VERIFIED" +], +"enumDescriptions": [ +"Not a verifiable build (the default).", +"Build must be verified." +], +"type": "string" +}, +"secretEnv": { +"description": "A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. These variables will be available to all build steps in this build.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceProvenanceHash": { +"description": "Requested hash for SourceProvenance.", +"items": { +"enum": [ +"NONE", +"SHA256", +"MD5", +"SHA512" +], +"enumDescriptions": [ +"No hash requested.", +"Use a sha256 hash.", +"Use a md5 hash.", +"Use a sha512 hash." +], +"type": "string" +}, +"type": "array" +}, +"substitutionOption": { +"description": "Option to specify behavior when there is an error in the substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file.", +"enum": [ +"MUST_MATCH", +"ALLOW_LOOSE" +], +"enumDescriptions": [ +"Fails the build if error in substitutions checks, like missing a substitution in the template or in the map.", +"Do not fail the build if error in substitutions checks." +], +"type": "string" +}, +"volumes": { +"description": "Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1Volume" +}, +"type": "array" +}, +"workerPool": { +"deprecated": true, +"description": "This field deprecated; please use `pool.name` instead.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1BuildStep": { +"description": "A step in the build pipeline.", +"id": "GoogleDevtoolsCloudbuildV1BuildStep", +"properties": { +"allowExitCodes": { +"description": "Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allow_failure is also specified, this field will take precedence.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"allowFailure": { +"description": "Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failure_detail field.", +"type": "boolean" +}, +"args": { +"description": "A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the `args` are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.", +"items": { +"type": "string" +}, +"type": "array" +}, +"automapSubstitutions": { +"description": "Option to include built-in and custom substitutions as env variables for this build step. This option will override the global option in BuildOption.", +"type": "boolean" +}, +"dir": { +"description": "Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a `volume` for that path is specified. If the build specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution.", +"type": "string" +}, +"entrypoint": { +"description": "Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.", +"type": "string" +}, +"env": { +"description": "A list of environment variable definitions to be used when running a step. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"exitCode": { +"description": "Output only. Return code from running the step.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"id": { +"description": "Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency.", +"type": "string" +}, +"name": { +"description": "Required. The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also have cached many of the layers for some popular images, like \"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.", +"type": "string" +}, +"pullTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pulling this build step's builder image only.", +"readOnly": true +}, +"script": { +"description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", +"type": "string" +}, +"secretEnv": { +"description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.", +"enum": [ +"STATUS_UNKNOWN", +"PENDING", +"QUEUED", +"WORKING", +"SUCCESS", +"FAILURE", +"INTERNAL_ERROR", +"TIMEOUT", +"CANCELLED", +"EXPIRED" +], +"enumDescriptions": [ +"Status of the build is unknown.", +"Build has been created and is pending execution and queuing. It has not been queued.", +"Build or step is queued; work has not yet begun.", +"Build or step is being executed.", +"Build or step finished successfully.", +"Build or step failed to complete successfully.", +"Build or step failed due to an internal cause.", +"Build or step took longer than was allowed.", +"Build or step was canceled by a user.", +"Build was enqueued for longer than the value of `queue_ttl`." +], +"readOnly": true, +"type": "string" +}, +"timeout": { +"description": "Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.", +"format": "google-duration", +"type": "string" +}, +"timing": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for executing this build step.", +"readOnly": true +}, +"volumes": { +"description": "List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1Volume" +}, +"type": "array" +}, +"waitFor": { +"description": "The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1BuiltImage": { +"description": "An image built by the pipeline.", +"id": "GoogleDevtoolsCloudbuildV1BuiltImage", +"properties": { +"digest": { +"description": "Docker Registry 2.0 digest.", +"type": "string" +}, +"name": { +"description": "Name used to push the container image to Google Container Registry, as presented to `docker push`.", +"type": "string" +}, +"pushTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified image.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1ConnectedRepository": { +"description": "Location of the source in a 2nd-gen Google Cloud Build repository resource.", +"id": "GoogleDevtoolsCloudbuildV1ConnectedRepository", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"repository": { +"description": "Required. Name of the Google Cloud Build repository, formatted as `projects/*/locations/*/connections/*/repositories/*`.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1DeveloperConnectConfig": { +"description": "This config defines the location of a source through Developer Connect.", +"id": "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig", +"properties": { +"dir": { +"description": "Required. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"gitRepositoryLink": { +"description": "Required. The Developer Connect Git repository link, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1FailureInfo": { +"description": "A fatal problem encountered during the execution of the build.", +"id": "GoogleDevtoolsCloudbuildV1FailureInfo", +"properties": { +"detail": { +"description": "Explains the failure issue in more detail using hard-coded text.", +"type": "string" +}, +"type": { +"description": "The name of the failure.", +"enum": [ +"FAILURE_TYPE_UNSPECIFIED", +"PUSH_FAILED", +"PUSH_IMAGE_NOT_FOUND", +"PUSH_NOT_AUTHORIZED", +"LOGGING_FAILURE", +"USER_BUILD_STEP", +"FETCH_SOURCE_FAILED" +], +"enumDescriptions": [ +"Type unspecified", +"Unable to push the image to the repository.", +"Final image not found.", +"Unauthorized push of the final image.", +"Backend logging failures. Should retry.", +"A build step has failed.", +"The source fetching has failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1FileHashes": { +"description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", +"id": "GoogleDevtoolsCloudbuildV1FileHashes", +"properties": { +"fileHash": { +"description": "Collection of file hashes.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1Hash" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1GitConfig": { +"description": "GitConfig is a configuration for git operations.", +"id": "GoogleDevtoolsCloudbuildV1GitConfig", +"properties": { +"http": { +"$ref": "GoogleDevtoolsCloudbuildV1HttpConfig", +"description": "Configuration for HTTP related git operations." +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1GitSource": { +"description": "Location of the source in any accessible Git repository.", +"id": "GoogleDevtoolsCloudbuildV1GitSource", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", +"type": "string" +}, +"revision": { +"description": "Optional. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. Cloud Build uses `git fetch` to fetch the revision from the Git repository; therefore make sure that the string you provide for `revision` is parsable by the command. For information on string values accepted by `git fetch`, see https://git-scm.com/docs/gitrevisions#_specifying_revisions. For information on `git fetch`, see https://git-scm.com/docs/git-fetch.", +"type": "string" +}, +"url": { +"description": "Required. Location of the Git repo to build. This will be used as a `git remote`, see https://git-scm.com/docs/git-remote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Hash": { +"description": "Container message for hash values.", +"id": "GoogleDevtoolsCloudbuildV1Hash", +"properties": { +"type": { +"description": "The type of hash that was performed.", +"enum": [ +"NONE", +"SHA256", +"MD5", +"SHA512" +], +"enumDescriptions": [ +"No hash requested.", +"Use a sha256 hash.", +"Use a md5 hash.", +"Use a sha512 hash." +], +"type": "string" +}, +"value": { +"description": "The hash value.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1HttpConfig": { +"description": "HttpConfig is a configuration for HTTP related git operations.", +"id": "GoogleDevtoolsCloudbuildV1HttpConfig", +"properties": { +"proxySecretVersionName": { +"description": "SecretVersion resource of the HTTP proxy URL. The Service Account used in the build (either the default Service Account or user-specified Service Account) should have `secretmanager.versions.access` permissions on this secret. The proxy URL should be in format `protocol://@]proxyhost[:port]`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1InlineSecret": { +"description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", +"id": "GoogleDevtoolsCloudbuildV1InlineSecret", +"properties": { +"envMap": { +"additionalProperties": { +"format": "byte", +"type": "string" +}, +"description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", +"type": "object" +}, +"kmsKeyName": { +"description": "Resource name of Cloud KMS crypto key to decrypt the encrypted value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1MavenArtifact": { +"description": "A Maven artifact to upload to Artifact Registry upon successful completion of all build steps.", +"id": "GoogleDevtoolsCloudbuildV1MavenArtifact", +"properties": { +"artifactId": { +"description": "Maven `artifactId` value used when uploading the artifact to Artifact Registry.", +"type": "string" +}, +"groupId": { +"description": "Maven `groupId` value used when uploading the artifact to Artifact Registry.", +"type": "string" +}, +"path": { +"description": "Path to an artifact in the build's workspace to be uploaded to Artifact Registry. This can be either an absolute path, e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.", +"type": "string" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY\" Artifact in the workspace specified by path will be uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +}, +"version": { +"description": "Maven `version` value used when uploading the artifact to Artifact Registry.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1NpmPackage": { +"description": "Npm package to upload to Artifact Registry upon successful completion of all build steps.", +"id": "GoogleDevtoolsCloudbuildV1NpmPackage", +"properties": { +"packagePath": { +"description": "Path to the package.json. e.g. workspace/path/to/package", +"type": "string" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY\" Npm package in the workspace specified by path will be zipped and uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1PoolOption": { +"description": "Details about how a build should be executed on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information.", +"id": "GoogleDevtoolsCloudbuildV1PoolOption", +"properties": { +"name": { +"description": "The `WorkerPool` resource to execute the build on. You must have `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format projects/{project}/locations/{location}/workerPools/{workerPoolId}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1PythonPackage": { +"description": "Python package to upload to Artifact Registry upon successful completion of all build steps. A package can encapsulate multiple objects to be uploaded to a single repository.", +"id": "GoogleDevtoolsCloudbuildV1PythonPackage", +"properties": { +"paths": { +"description": "Path globs used to match files in the build's workspace. For Python/ Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.", +"items": { +"type": "string" +}, +"type": "array" +}, +"repository": { +"description": "Artifact Registry repository, in the form \"https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY\" Files in the workspace matching any path pattern will be uploaded to Artifact Registry with this location as a prefix.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1RepoSource": { +"description": "Location of the source in a Google Cloud Source Repository.", +"id": "GoogleDevtoolsCloudbuildV1RepoSource", +"properties": { +"branchName": { +"description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +}, +"commitSha": { +"description": "Explicit commit SHA to build.", +"type": "string" +}, +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", +"type": "string" +}, +"invertRegex": { +"description": "Optional. Only trigger a build if the revision regex does NOT match the revision regex.", +"type": "boolean" +}, +"projectId": { +"description": "Optional. ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", +"type": "string" +}, +"repoName": { +"description": "Required. Name of the Cloud Source Repository.", +"type": "string" +}, +"substitutions": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Substitutions to use in a triggered build. Should only be used with RunBuildTrigger", +"type": "object" +}, +"tagName": { +"description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Results": { +"description": "Artifacts created by the build pipeline.", +"id": "GoogleDevtoolsCloudbuildV1Results", +"properties": { +"artifactManifest": { +"description": "Path to the artifact manifest for non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", +"type": "string" +}, +"artifactTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Time to push all non-container artifacts to Cloud Storage." +}, +"buildStepImages": { +"description": "List of build step digests, in the order corresponding to build step indices.", +"items": { +"type": "string" +}, +"type": "array" +}, +"buildStepOutputs": { +"description": "List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"images": { +"description": "Container images that were built as a part of the build.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1BuiltImage" +}, +"type": "array" +}, +"mavenArtifacts": { +"description": "Maven artifacts uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact" +}, +"type": "array" +}, +"npmPackages": { +"description": "Npm packages uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1UploadedNpmPackage" +}, +"type": "array" +}, +"numArtifacts": { +"description": "Number of non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", +"format": "int64", +"type": "string" +}, +"pythonPackages": { +"description": "Python artifacts uploaded to Artifact Registry at the end of the build.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1UploadedPythonPackage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Secret": { +"description": "Pairs a set of secret environment variables containing encrypted values with the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with `secret`. For instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.", +"id": "GoogleDevtoolsCloudbuildV1Secret", +"properties": { +"kmsKeyName": { +"description": "Cloud KMS key name to use to decrypt these envs.", +"type": "string" +}, +"secretEnv": { +"additionalProperties": { +"format": "byte", +"type": "string" +}, +"description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1SecretManagerSecret": { +"description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", +"id": "GoogleDevtoolsCloudbuildV1SecretManagerSecret", +"properties": { +"env": { +"description": "Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.", +"type": "string" +}, +"versionName": { +"description": "Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Secrets": { +"description": "Secrets and secret environment variables.", +"id": "GoogleDevtoolsCloudbuildV1Secrets", +"properties": { +"inline": { +"description": "Secrets encrypted with KMS key and the associated secret environment variable.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1InlineSecret" +}, +"type": "array" +}, +"secretManager": { +"description": "Secrets in Secret Manager and associated secret environment variable.", +"items": { +"$ref": "GoogleDevtoolsCloudbuildV1SecretManagerSecret" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Source": { +"description": "Location of the source in a supported storage service.", +"id": "GoogleDevtoolsCloudbuildV1Source", +"properties": { +"connectedRepository": { +"$ref": "GoogleDevtoolsCloudbuildV1ConnectedRepository", +"description": "Optional. If provided, get the source from this 2nd-gen Google Cloud Build repository resource." +}, +"developerConnectConfig": { +"$ref": "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig", +"description": "If provided, get the source from this Developer Connect config." +}, +"gitSource": { +"$ref": "GoogleDevtoolsCloudbuildV1GitSource", +"description": "If provided, get the source from this Git repository." +}, +"repoSource": { +"$ref": "GoogleDevtoolsCloudbuildV1RepoSource", +"description": "If provided, get the source from this location in a Cloud Source Repository." +}, +"storageSource": { +"$ref": "GoogleDevtoolsCloudbuildV1StorageSource", +"description": "If provided, get the source from this location in Cloud Storage." +}, +"storageSourceManifest": { +"$ref": "GoogleDevtoolsCloudbuildV1StorageSourceManifest", +"description": "If provided, get the source from this manifest in Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher)." +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1SourceProvenance": { +"description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", +"id": "GoogleDevtoolsCloudbuildV1SourceProvenance", +"properties": { +"fileHashes": { +"additionalProperties": { +"$ref": "GoogleDevtoolsCloudbuildV1FileHashes" +}, +"description": "Output only. Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file.", +"readOnly": true, +"type": "object" +}, +"resolvedConnectedRepository": { +"$ref": "GoogleDevtoolsCloudbuildV1ConnectedRepository", +"description": "Output only. A copy of the build's `source.connected_repository`, if exists, with any revisions resolved.", +"readOnly": true +}, +"resolvedGitSource": { +"$ref": "GoogleDevtoolsCloudbuildV1GitSource", +"description": "Output only. A copy of the build's `source.git_source`, if exists, with any revisions resolved.", +"readOnly": true +}, +"resolvedRepoSource": { +"$ref": "GoogleDevtoolsCloudbuildV1RepoSource", +"description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." +}, +"resolvedStorageSource": { +"$ref": "GoogleDevtoolsCloudbuildV1StorageSource", +"description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." +}, +"resolvedStorageSourceManifest": { +"$ref": "GoogleDevtoolsCloudbuildV1StorageSourceManifest", +"description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1StorageSource": { +"description": "Location of the source in an archive file in Cloud Storage.", +"id": "GoogleDevtoolsCloudbuildV1StorageSource", +"properties": { +"bucket": { +"description": "Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Optional. Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Cloud Storage object containing the source. This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.", +"type": "string" +}, +"sourceFetcher": { +"description": "Optional. Option to specify the tool to fetch the source file for the build.", +"enum": [ +"SOURCE_FETCHER_UNSPECIFIED", +"GSUTIL", +"GCS_FETCHER" +], +"enumDescriptions": [ +"Unspecified defaults to GSUTIL.", +"Use the \"gsutil\" tool to download the source file.", +"Use the Cloud Storage Fetcher tool to download the source file." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1StorageSourceManifest": { +"description": "Location of the source manifest in Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).", +"id": "GoogleDevtoolsCloudbuildV1StorageSourceManifest", +"properties": { +"bucket": { +"description": "Required. Cloud Storage bucket containing the source manifest (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", +"type": "string" +}, +"generation": { +"description": "Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Cloud Storage object containing the source manifest. This object must be a JSON file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1TimeSpan": { +"description": "Start and end times for a build execution phase.", +"id": "GoogleDevtoolsCloudbuildV1TimeSpan", +"properties": { +"endTime": { +"description": "End of time span.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time span.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1UploadedMavenArtifact": { +"description": "A Maven artifact uploaded using the MavenArtifact directive.", +"id": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact", +"properties": { +"fileHashes": { +"$ref": "GoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the Maven Artifact." +}, +"pushTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded artifact.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1UploadedNpmPackage": { +"description": "An npm package uploaded to Artifact Registry using the NpmPackage directive.", +"id": "GoogleDevtoolsCloudbuildV1UploadedNpmPackage", +"properties": { +"fileHashes": { +"$ref": "GoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the npm package." +}, +"pushTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded npm package.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1UploadedPythonPackage": { +"description": "Artifact uploaded using the PythonPackage directive.", +"id": "GoogleDevtoolsCloudbuildV1UploadedPythonPackage", +"properties": { +"fileHashes": { +"$ref": "GoogleDevtoolsCloudbuildV1FileHashes", +"description": "Hash types and values of the Python Artifact." +}, +"pushTiming": { +"$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", +"description": "Output only. Stores timing information for pushing the specified artifact.", +"readOnly": true +}, +"uri": { +"description": "URI of the uploaded artifact.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Volume": { +"description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", +"id": "GoogleDevtoolsCloudbuildV1Volume", +"properties": { +"name": { +"description": "Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.", +"type": "string" +}, +"path": { +"description": "Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevtoolsCloudbuildV1Warning": { +"description": "A non-fatal problem encountered during the execution of the build.", +"id": "GoogleDevtoolsCloudbuildV1Warning", +"properties": { +"priority": { +"description": "The priority for this warning.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"INFO", +"WARNING", +"ALERT" +], +"enumDescriptions": [ +"Should not be used.", +"e.g. deprecation warnings and alternative feature highlights.", +"e.g. automated detection of possible issues with the build.", +"e.g. alerts that a feature used in the build is pending removal" +], +"type": "string" +}, +"text": { +"description": "Explanation of the warning generated.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "GoogleIamV1AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "GoogleIamV1AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "GoogleIamV1AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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 < 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 < 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": "GoogleIamV1Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "GoogleIamV1AuditConfig" +}, +"type": "array" +}, +"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`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "GoogleIamV1SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "GoogleIamV1Policy", +"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." +}, +"updateMask": { +"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"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": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"GoogleLongrunningWaitOperationRequest": { +"description": "The request message for Operations.WaitOperation.", +"id": "GoogleLongrunningWaitOperationRequest", +"properties": { +"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.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"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).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "GoogleTypeExpr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"Proto2BridgeMessageSet": { +"description": "This is proto2's version of MessageSet.", +"id": "Proto2BridgeMessageSet", +"properties": {}, +"type": "object" +}, +"UtilStatusProto": { +"description": "Wire-format for a Status object", +"id": "UtilStatusProto", +"properties": { +"canonicalCode": { +"description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.", +"format": "int32", +"type": "integer" +}, +"code": { +"description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto", +"format": "int32", +"type": "integer" +}, +"message": { +"description": "Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3;", +"type": "string" +}, +"messageSet": { +"$ref": "Proto2BridgeMessageSet", +"description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" +}, +"space": { +"description": "The following are usually only present when code != 0 Space to which this status belongs", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Run Admin API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/script.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/script.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..7eeb96ddd6d53caa66f2a4761842561f186886b6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/script.v1.json @@ -0,0 +1,1800 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://mail.google.com/": { +"description": "Read, compose, send, and permanently delete all your email from Gmail" +}, +"https://www.google.com/calendar/feeds": { +"description": "See, edit, share, and permanently delete all the calendars you can access using Google Calendar" +}, +"https://www.google.com/m8/feeds": { +"description": "See, edit, download, and permanently delete your contacts" +}, +"https://www.googleapis.com/auth/admin.directory.group": { +"description": "View and manage the provisioning of groups on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user": { +"description": "View and manage the provisioning of users on your domain" +}, +"https://www.googleapis.com/auth/documents": { +"description": "See, edit, create, and delete all your Google Docs documents" +}, +"https://www.googleapis.com/auth/drive": { +"description": "See, edit, create, and delete all of your Google Drive files" +}, +"https://www.googleapis.com/auth/forms": { +"description": "View and manage your forms in Google Drive" +}, +"https://www.googleapis.com/auth/forms.currentonly": { +"description": "View and manage forms that this application has been installed in" +}, +"https://www.googleapis.com/auth/groups": { +"description": "View and manage your Google Groups" +}, +"https://www.googleapis.com/auth/script.deployments": { +"description": "Create and update Google Apps Script deployments" +}, +"https://www.googleapis.com/auth/script.deployments.readonly": { +"description": "View Google Apps Script deployments" +}, +"https://www.googleapis.com/auth/script.metrics": { +"description": "View Google Apps Script project's metrics" +}, +"https://www.googleapis.com/auth/script.processes": { +"description": "View Google Apps Script processes" +}, +"https://www.googleapis.com/auth/script.projects": { +"description": "Create and update Google Apps Script projects" +}, +"https://www.googleapis.com/auth/script.projects.readonly": { +"description": "View Google Apps Script projects" +}, +"https://www.googleapis.com/auth/spreadsheets": { +"description": "See, edit, create, and delete all your Google Sheets spreadsheets" +}, +"https://www.googleapis.com/auth/userinfo.email": { +"description": "See your primary Google Account email address" +} +} +} +}, +"basePath": "", +"baseUrl": "https://script.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Script", +"description": "Manages and executes Google Apps Script projects. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/apps-script/api/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "script:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://script.mtls.googleapis.com/", +"name": "script", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"processes": { +"methods": { +"list": { +"description": "List information about processes made by or on behalf of a user, such as process type and current status.", +"flatPath": "v1/processes", +"httpMethod": "GET", +"id": "script.processes.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of returned processes per page of results. Defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response.", +"location": "query", +"type": "string" +}, +"userProcessFilter.deploymentId": { +"description": "Optional field used to limit returned processes to those originating from projects with a specific deployment ID.", +"location": "query", +"type": "string" +}, +"userProcessFilter.endTime": { +"description": "Optional field used to limit returned processes to those that completed on or before the given timestamp.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"userProcessFilter.functionName": { +"description": "Optional field used to limit returned processes to those originating from a script function with the given function name.", +"location": "query", +"type": "string" +}, +"userProcessFilter.projectName": { +"description": "Optional field used to limit returned processes to those originating from projects with project names containing a specific string.", +"location": "query", +"type": "string" +}, +"userProcessFilter.scriptId": { +"description": "Optional field used to limit returned processes to those originating from projects with a specific script ID.", +"location": "query", +"type": "string" +}, +"userProcessFilter.startTime": { +"description": "Optional field used to limit returned processes to those that were started on or after the given timestamp.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"userProcessFilter.statuses": { +"description": "Optional field used to limit returned processes to those having one of the specified process statuses.", +"enum": [ +"PROCESS_STATUS_UNSPECIFIED", +"RUNNING", +"PAUSED", +"COMPLETED", +"CANCELED", +"FAILED", +"TIMED_OUT", +"UNKNOWN", +"DELAYED", +"EXECUTION_DISABLED" +], +"enumDescriptions": [ +"Unspecified status.", +"The process is currently running.", +"The process has paused.", +"The process has completed.", +"The process was cancelled.", +"The process failed.", +"The process timed out.", +"Process status unknown.", +"The process is delayed, waiting for quota.", +"AppsScript executions are disabled by Admin." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"userProcessFilter.types": { +"description": "Optional field used to limit returned processes to those having one of the specified process types.", +"enum": [ +"PROCESS_TYPE_UNSPECIFIED", +"ADD_ON", +"EXECUTION_API", +"TIME_DRIVEN", +"TRIGGER", +"WEBAPP", +"EDITOR", +"SIMPLE_TRIGGER", +"MENU", +"BATCH_TASK" +], +"enumDescriptions": [ +"Unspecified type.", +"The process was started from an add-on entry point.", +"The process was started using the Apps Script API.", +"The process was started from a time-based trigger.", +"The process was started from an event-based trigger.", +"The process was started from a web app entry point.", +"The process was started using the Apps Script IDE.", +"The process was started from a G Suite simple trigger.", +"The process was started from a G Suite menu item.", +"The process was started as a task in a batch job." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"userProcessFilter.userAccessLevels": { +"description": "Optional field used to limit returned processes to those having one of the specified user access levels.", +"enum": [ +"USER_ACCESS_LEVEL_UNSPECIFIED", +"NONE", +"READ", +"WRITE", +"OWNER" +], +"enumDescriptions": [ +"User access level unspecified", +"The user has no access.", +"The user has read-only access.", +"The user has write access.", +"The user is an owner." +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1/processes", +"response": { +"$ref": "ListUserProcessesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.processes" +] +}, +"listScriptProcesses": { +"description": "List information about a script's executed processes, such as process type and current status.", +"flatPath": "v1/processes:listScriptProcesses", +"httpMethod": "GET", +"id": "script.processes.listScriptProcesses", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of returned processes per page of results. Defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response.", +"location": "query", +"type": "string" +}, +"scriptId": { +"description": "The script ID of the project whose processes are listed.", +"location": "query", +"type": "string" +}, +"scriptProcessFilter.deploymentId": { +"description": "Optional field used to limit returned processes to those originating from projects with a specific deployment ID.", +"location": "query", +"type": "string" +}, +"scriptProcessFilter.endTime": { +"description": "Optional field used to limit returned processes to those that completed on or before the given timestamp.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"scriptProcessFilter.functionName": { +"description": "Optional field used to limit returned processes to those originating from a script function with the given function name.", +"location": "query", +"type": "string" +}, +"scriptProcessFilter.startTime": { +"description": "Optional field used to limit returned processes to those that were started on or after the given timestamp.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"scriptProcessFilter.statuses": { +"description": "Optional field used to limit returned processes to those having one of the specified process statuses.", +"enum": [ +"PROCESS_STATUS_UNSPECIFIED", +"RUNNING", +"PAUSED", +"COMPLETED", +"CANCELED", +"FAILED", +"TIMED_OUT", +"UNKNOWN", +"DELAYED", +"EXECUTION_DISABLED" +], +"enumDescriptions": [ +"Unspecified status.", +"The process is currently running.", +"The process has paused.", +"The process has completed.", +"The process was cancelled.", +"The process failed.", +"The process timed out.", +"Process status unknown.", +"The process is delayed, waiting for quota.", +"AppsScript executions are disabled by Admin." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"scriptProcessFilter.types": { +"description": "Optional field used to limit returned processes to those having one of the specified process types.", +"enum": [ +"PROCESS_TYPE_UNSPECIFIED", +"ADD_ON", +"EXECUTION_API", +"TIME_DRIVEN", +"TRIGGER", +"WEBAPP", +"EDITOR", +"SIMPLE_TRIGGER", +"MENU", +"BATCH_TASK" +], +"enumDescriptions": [ +"Unspecified type.", +"The process was started from an add-on entry point.", +"The process was started using the Apps Script API.", +"The process was started from a time-based trigger.", +"The process was started from an event-based trigger.", +"The process was started from a web app entry point.", +"The process was started using the Apps Script IDE.", +"The process was started from a G Suite simple trigger.", +"The process was started from a G Suite menu item.", +"The process was started as a task in a batch job." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"scriptProcessFilter.userAccessLevels": { +"description": "Optional field used to limit returned processes to those having one of the specified user access levels.", +"enum": [ +"USER_ACCESS_LEVEL_UNSPECIFIED", +"NONE", +"READ", +"WRITE", +"OWNER" +], +"enumDescriptions": [ +"User access level unspecified", +"The user has no access.", +"The user has read-only access.", +"The user has write access.", +"The user is an owner." +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1/processes:listScriptProcesses", +"response": { +"$ref": "ListScriptProcessesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.processes" +] +} +} +}, +"projects": { +"methods": { +"create": { +"description": "Creates a new, empty script project with no script files and a base manifest file.", +"flatPath": "v1/projects", +"httpMethod": "POST", +"id": "script.projects.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/projects", +"request": { +"$ref": "CreateProjectRequest" +}, +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects" +] +}, +"get": { +"description": "Gets a script project's metadata.", +"flatPath": "v1/projects/{scriptId}", +"httpMethod": "GET", +"id": "script.projects.get", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects", +"https://www.googleapis.com/auth/script.projects.readonly" +] +}, +"getContent": { +"description": "Gets the content of the script project, including the code source and metadata for each script file.", +"flatPath": "v1/projects/{scriptId}/content", +"httpMethod": "GET", +"id": "script.projects.getContent", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +}, +"versionNumber": { +"description": "The version number of the project to retrieve. If not provided, the project's HEAD version is returned.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/projects/{scriptId}/content", +"response": { +"$ref": "Content" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects", +"https://www.googleapis.com/auth/script.projects.readonly" +] +}, +"getMetrics": { +"description": "Get metrics data for scripts, such as number of executions and active users.", +"flatPath": "v1/projects/{scriptId}/metrics", +"httpMethod": "GET", +"id": "script.projects.getMetrics", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"metricsFilter.deploymentId": { +"description": "Optional field indicating a specific deployment to retrieve metrics from.", +"location": "query", +"type": "string" +}, +"metricsGranularity": { +"description": "Required field indicating what granularity of metrics are returned.", +"enum": [ +"UNSPECIFIED_GRANULARITY", +"WEEKLY", +"DAILY" +], +"enumDescriptions": [ +"Default metric granularity used to query no metrics.", +"Represents weekly metrics.", +"Represents daily metrics over a period of 7 days." +], +"location": "query", +"type": "string" +}, +"scriptId": { +"description": "Required field indicating the script to get metrics for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/metrics", +"response": { +"$ref": "Metrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.metrics" +] +}, +"updateContent": { +"description": "Updates the content of the specified script project. This content is stored as the HEAD version, and is used when the script is executed as a trigger, in the script editor, in add-on preview mode, or as a web app or Apps Script API in development mode. This clears all the existing files in the project.", +"flatPath": "v1/projects/{scriptId}/content", +"httpMethod": "PUT", +"id": "script.projects.updateContent", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/content", +"request": { +"$ref": "Content" +}, +"response": { +"$ref": "Content" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects" +] +} +}, +"resources": { +"deployments": { +"methods": { +"create": { +"description": "Creates a deployment of an Apps Script project.", +"flatPath": "v1/projects/{scriptId}/deployments", +"httpMethod": "POST", +"id": "script.projects.deployments.create", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/deployments", +"request": { +"$ref": "DeploymentConfig" +}, +"response": { +"$ref": "Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.deployments" +] +}, +"delete": { +"description": "Deletes a deployment of an Apps Script project.", +"flatPath": "v1/projects/{scriptId}/deployments/{deploymentId}", +"httpMethod": "DELETE", +"id": "script.projects.deployments.delete", +"parameterOrder": [ +"scriptId", +"deploymentId" +], +"parameters": { +"deploymentId": { +"description": "The deployment ID to be undeployed.", +"location": "path", +"required": true, +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/deployments/{deploymentId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.deployments" +] +}, +"get": { +"description": "Gets a deployment of an Apps Script project.", +"flatPath": "v1/projects/{scriptId}/deployments/{deploymentId}", +"httpMethod": "GET", +"id": "script.projects.deployments.get", +"parameterOrder": [ +"scriptId", +"deploymentId" +], +"parameters": { +"deploymentId": { +"description": "The deployment ID.", +"location": "path", +"required": true, +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/deployments/{deploymentId}", +"response": { +"$ref": "Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.deployments", +"https://www.googleapis.com/auth/script.deployments.readonly" +] +}, +"list": { +"description": "Lists the deployments of an Apps Script project.", +"flatPath": "v1/projects/{scriptId}/deployments", +"httpMethod": "GET", +"id": "script.projects.deployments.list", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"pageSize": { +"description": "The maximum number of deployments on each returned page. Defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response.", +"location": "query", +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/deployments", +"response": { +"$ref": "ListDeploymentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.deployments", +"https://www.googleapis.com/auth/script.deployments.readonly" +] +}, +"update": { +"description": "Updates a deployment of an Apps Script project.", +"flatPath": "v1/projects/{scriptId}/deployments/{deploymentId}", +"httpMethod": "PUT", +"id": "script.projects.deployments.update", +"parameterOrder": [ +"scriptId", +"deploymentId" +], +"parameters": { +"deploymentId": { +"description": "The deployment ID for this deployment.", +"location": "path", +"required": true, +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/deployments/{deploymentId}", +"request": { +"$ref": "UpdateDeploymentRequest" +}, +"response": { +"$ref": "Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.deployments" +] +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Creates a new immutable version using the current code, with a unique version number.", +"flatPath": "v1/projects/{scriptId}/versions", +"httpMethod": "POST", +"id": "script.projects.versions.create", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/versions", +"request": { +"$ref": "Version" +}, +"response": { +"$ref": "Version" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects" +] +}, +"get": { +"description": "Gets a version of a script project.", +"flatPath": "v1/projects/{scriptId}/versions/{versionNumber}", +"httpMethod": "GET", +"id": "script.projects.versions.get", +"parameterOrder": [ +"scriptId", +"versionNumber" +], +"parameters": { +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +}, +"versionNumber": { +"description": "The version number.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +} +}, +"path": "v1/projects/{scriptId}/versions/{versionNumber}", +"response": { +"$ref": "Version" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects", +"https://www.googleapis.com/auth/script.projects.readonly" +] +}, +"list": { +"description": "List the versions of a script project.", +"flatPath": "v1/projects/{scriptId}/versions", +"httpMethod": "GET", +"id": "script.projects.versions.list", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"pageSize": { +"description": "The maximum number of versions on each returned page. Defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response.", +"location": "query", +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{scriptId}/versions", +"response": { +"$ref": "ListVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/script.projects", +"https://www.googleapis.com/auth/script.projects.readonly" +] +} +} +} +} +}, +"scripts": { +"methods": { +"run": { +"description": "Runs a function in an Apps Script project. The script project must be deployed for use with the Apps Script API and the calling application must share the same Cloud Platform project. This method requires authorization with an OAuth 2.0 token that includes at least one of the scopes listed in the [Authorization](#authorization-scopes) section; script projects that do not require authorization cannot be executed through this API. To find the correct scopes to include in the authentication token, open the script project **Overview** page and scroll down to \"Project OAuth Scopes.\" The error `403, PERMISSION_DENIED: The caller does not have permission` indicates that the Cloud Platform project used to authorize the request is not the same as the one used by the script.", +"flatPath": "v1/scripts/{scriptId}:run", +"httpMethod": "POST", +"id": "script.scripts.run", +"parameterOrder": [ +"scriptId" +], +"parameters": { +"scriptId": { +"description": "The script ID of the script to be executed. Find the script ID on the **Project settings** page under \"IDs.\" As multiple executable APIs can be deployed in new IDE for same script, this field should be populated with DeploymentID generated while deploying in new IDE instead of script ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/scripts/{scriptId}:run", +"request": { +"$ref": "ExecutionRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://mail.google.com/", +"https://www.google.com/calendar/feeds", +"https://www.google.com/m8/feeds", +"https://www.googleapis.com/auth/admin.directory.group", +"https://www.googleapis.com/auth/admin.directory.user", +"https://www.googleapis.com/auth/documents", +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/forms", +"https://www.googleapis.com/auth/forms.currentonly", +"https://www.googleapis.com/auth/groups", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/userinfo.email" +] +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://script.googleapis.com/", +"schemas": { +"Content": { +"description": "The Content resource.", +"id": "Content", +"properties": { +"files": { +"description": "The list of script project files. One of the files is a script manifest; it must be named \"appsscript\", must have type of JSON, and include the manifest configurations for the project.", +"items": { +"$ref": "File" +}, +"type": "array" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"type": "string" +} +}, +"type": "object" +}, +"CreateProjectRequest": { +"description": "Request to create a script project. Request to create a script project.", +"id": "CreateProjectRequest", +"properties": { +"parentId": { +"description": "The Drive ID of a parent file that the created script project is bound to. This is usually the ID of a Google Doc, Google Sheet, Google Form, or Google Slides file. If not set, a standalone script project is created.", +"type": "string" +}, +"title": { +"description": "The title for the project.", +"type": "string" +} +}, +"type": "object" +}, +"Deployment": { +"description": "Representation of a single script deployment.", +"id": "Deployment", +"properties": { +"deploymentConfig": { +"$ref": "DeploymentConfig", +"description": "The deployment configuration." +}, +"deploymentId": { +"description": "The deployment ID for this deployment.", +"type": "string" +}, +"entryPoints": { +"description": "The deployment's entry points.", +"items": { +"$ref": "EntryPoint" +}, +"type": "array" +}, +"updateTime": { +"description": "Last modified date time stamp.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentConfig": { +"description": "Metadata the defines how a deployment is configured.", +"id": "DeploymentConfig", +"properties": { +"description": { +"description": "The description for this deployment.", +"type": "string" +}, +"manifestFileName": { +"description": "The manifest file name for this deployment.", +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"type": "string" +}, +"versionNumber": { +"description": "The version number on which this deployment is based.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EntryPoint": { +"description": "A configuration that defines how a deployment is accessed externally.", +"id": "EntryPoint", +"properties": { +"addOn": { +"$ref": "GoogleAppsScriptTypeAddOnEntryPoint", +"description": "Add-on properties." +}, +"entryPointType": { +"description": "The type of the entry point.", +"enum": [ +"ENTRY_POINT_TYPE_UNSPECIFIED", +"WEB_APP", +"EXECUTION_API", +"ADD_ON" +], +"enumDescriptions": [ +"An unspecified entry point.", +"A web application entry point.", +"An API executable entry point.", +"An Add-On entry point." +], +"type": "string" +}, +"executionApi": { +"$ref": "GoogleAppsScriptTypeExecutionApiEntryPoint", +"description": "An entry point specification for Apps Script API execution calls." +}, +"webApp": { +"$ref": "GoogleAppsScriptTypeWebAppEntryPoint", +"description": "An entry point specification for web apps." +} +}, +"type": "object" +}, +"ExecuteStreamResponse": { +"description": "The response for executing or debugging a function in an Apps Script project.", +"id": "ExecuteStreamResponse", +"properties": { +"result": { +"$ref": "ScriptExecutionResult", +"description": "The result of the execution." +} +}, +"type": "object" +}, +"ExecutionError": { +"description": "An object that provides information about the nature of an error resulting from an attempted execution of a script function using the Apps Script API. If a run call succeeds but the script function (or Apps Script itself) throws an exception, the response body's error field contains a Status object. The `Status` object's `details` field contains an array with a single one of these `ExecutionError` objects.", +"id": "ExecutionError", +"properties": { +"errorMessage": { +"description": "The error message thrown by Apps Script, usually localized into the user's language.", +"type": "string" +}, +"errorType": { +"description": "The error type, for example `TypeError` or `ReferenceError`. If the error type is unavailable, this field is not included.", +"type": "string" +}, +"scriptStackTraceElements": { +"description": "An array of objects that provide a stack trace through the script to show where the execution failed, with the deepest call first.", +"items": { +"$ref": "ScriptStackTraceElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExecutionRequest": { +"description": "A request to run the function in a script. The script is identified by the specified `script_id`. Executing a function on a script returns results based on the implementation of the script.", +"id": "ExecutionRequest", +"properties": { +"devMode": { +"description": "If `true` and the user is an owner of the script, the script runs at the most recently saved version rather than the version deployed for use with the Apps Script API. Optional; default is `false`.", +"type": "boolean" +}, +"function": { +"description": "The name of the function to execute in the given script. The name does not include parentheses or parameters. It can reference a function in an included library such as `Library.libFunction1`.", +"type": "string" +}, +"parameters": { +"description": "The parameters to be passed to the function being executed. The object type for each parameter should match the expected type in Apps Script. Parameters cannot be Apps Script-specific object types (such as a `Document` or a `Calendar`); they can only be primitive types such as `string`, `number`, `array`, `object`, or `boolean`. Optional.", +"items": { +"type": "any" +}, +"type": "array" +}, +"sessionState": { +"description": "*Deprecated*. For use with Android add-ons only. An ID that represents the user's current session in the Android app for Google Docs or Sheets, included as extra data in the [Intent](https://developer.android.com/guide/components/intents-filters.html) that launches the add-on. When an Android add-on is run with a session state, it gains the privileges of a [bound](https://developers.google.com/apps-script/guides/bound) script\u2014that is, it can access information like the user's current cursor position (in Docs) or selected cell (in Sheets). To retrieve the state, call `Intent.getStringExtra(\"com.google.android.apps.docs.addons.SessionState\")`. Optional.", +"type": "string" +} +}, +"type": "object" +}, +"ExecutionResponse": { +"description": "An object that provides the return value of a function executed using the Apps Script API. If the script function returns successfully, the response body's response field contains this `ExecutionResponse` object.", +"id": "ExecutionResponse", +"properties": { +"result": { +"description": "The return value of the script function. The type matches the object type returned in Apps Script. Functions called using the Apps Script API cannot return Apps Script-specific objects (such as a `Document` or a `Calendar`); they can only return primitive types such as a `string`, `number`, `array`, `object`, or `boolean`.", +"type": "any" +} +}, +"type": "object" +}, +"File": { +"description": "An individual file within a script project. A file is a third-party source code created by one or more developers. It can be a server-side JS code, HTML, or a configuration file. Each script project can contain multiple files.", +"id": "File", +"properties": { +"createTime": { +"description": "Creation date timestamp. This read-only field is only visible to users who have WRITER permission for the script project.", +"format": "google-datetime", +"type": "string" +}, +"functionSet": { +"$ref": "GoogleAppsScriptTypeFunctionSet", +"description": "The defined set of functions in the script file, if any." +}, +"lastModifyUser": { +"$ref": "GoogleAppsScriptTypeUser", +"description": "The user who modified the file most recently. This read-only field is only visible to users who have WRITER permission for the script project." +}, +"name": { +"description": "The name of the file. The file extension is not part of the file name, which can be identified from the type field.", +"type": "string" +}, +"source": { +"description": "The file content.", +"type": "string" +}, +"type": { +"description": "The type of the file.", +"enum": [ +"ENUM_TYPE_UNSPECIFIED", +"SERVER_JS", +"HTML", +"JSON" +], +"enumDescriptions": [ +"Undetermined file type; never actually used.", +"An Apps Script server-side code file.", +"A file containing client-side HTML.", +"A file in JSON format. This type is only used for the script project's manifest. The manifest file content must match the structure of a valid [ScriptManifest](/apps-script/concepts/manifests)" +], +"type": "string" +}, +"updateTime": { +"description": "Last modified date timestamp. This read-only field is only visible to users who have WRITER permission for the script project.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeAddOnEntryPoint": { +"description": "An add-on entry point.", +"id": "GoogleAppsScriptTypeAddOnEntryPoint", +"properties": { +"addOnType": { +"description": "The add-on's required list of supported container types.", +"enum": [ +"UNKNOWN_ADDON_TYPE", +"GMAIL", +"DATA_STUDIO" +], +"enumDescriptions": [ +"Default value, unknown add-on type.", +"Add-on type for Gmail.", +"Add-on type for Data Studio." +], +"type": "string" +}, +"description": { +"description": "The add-on's optional description.", +"type": "string" +}, +"helpUrl": { +"description": "The add-on's optional help URL.", +"type": "string" +}, +"postInstallTipUrl": { +"description": "The add-on's required post install tip URL.", +"type": "string" +}, +"reportIssueUrl": { +"description": "The add-on's optional report issue URL.", +"type": "string" +}, +"title": { +"description": "The add-on's required title.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeExecutionApiConfig": { +"description": "API executable entry point configuration.", +"id": "GoogleAppsScriptTypeExecutionApiConfig", +"properties": { +"access": { +"description": "Who has permission to run the API executable.", +"enum": [ +"UNKNOWN_ACCESS", +"MYSELF", +"DOMAIN", +"ANYONE", +"ANYONE_ANONYMOUS" +], +"enumDescriptions": [ +"Default value, should not be used.", +"Only the user who deployed the web app or executable can access it. Note that this is not necessarily the owner of the script project.", +"Only users in the same domain as the user who deployed the web app or executable can access it.", +"Any logged in user can access the web app or executable.", +"Any user, logged in or not, can access the web app or executable." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeExecutionApiEntryPoint": { +"description": "An API executable entry point.", +"id": "GoogleAppsScriptTypeExecutionApiEntryPoint", +"properties": { +"entryPointConfig": { +"$ref": "GoogleAppsScriptTypeExecutionApiConfig", +"description": "The entry point's configuration." +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeFunction": { +"description": "Represents a function in a script project.", +"id": "GoogleAppsScriptTypeFunction", +"properties": { +"name": { +"description": "The function name in the script project.", +"type": "string" +}, +"parameters": { +"description": "The ordered list of parameter names of the function in the script project.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeFunctionSet": { +"description": "A set of functions. No duplicates are permitted.", +"id": "GoogleAppsScriptTypeFunctionSet", +"properties": { +"values": { +"description": "A list of functions composing the set.", +"items": { +"$ref": "GoogleAppsScriptTypeFunction" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeProcess": { +"description": "Representation of a single script process execution that was started from the script editor, a trigger, an application, or using the Apps Script API. This is distinct from the `Operation` resource, which only represents executions started via the Apps Script API.", +"id": "GoogleAppsScriptTypeProcess", +"properties": { +"duration": { +"description": "Duration the execution spent executing.", +"format": "google-duration", +"type": "string" +}, +"functionName": { +"description": "Name of the function the started the execution.", +"type": "string" +}, +"processStatus": { +"description": "The executions status.", +"enum": [ +"PROCESS_STATUS_UNSPECIFIED", +"RUNNING", +"PAUSED", +"COMPLETED", +"CANCELED", +"FAILED", +"TIMED_OUT", +"UNKNOWN", +"DELAYED", +"EXECUTION_DISABLED" +], +"enumDescriptions": [ +"Unspecified status.", +"The process is currently running.", +"The process has paused.", +"The process has completed.", +"The process was cancelled.", +"The process failed.", +"The process timed out.", +"Process status unknown.", +"The process is delayed, waiting for quota.", +"AppsScript executions are disabled by Admin." +], +"type": "string" +}, +"processType": { +"description": "The executions type.", +"enum": [ +"PROCESS_TYPE_UNSPECIFIED", +"ADD_ON", +"EXECUTION_API", +"TIME_DRIVEN", +"TRIGGER", +"WEBAPP", +"EDITOR", +"SIMPLE_TRIGGER", +"MENU", +"BATCH_TASK" +], +"enumDescriptions": [ +"Unspecified type.", +"The process was started from an add-on entry point.", +"The process was started using the Apps Script API.", +"The process was started from a time-based trigger.", +"The process was started from an event-based trigger.", +"The process was started from a web app entry point.", +"The process was started using the Apps Script IDE.", +"The process was started from a G Suite simple trigger.", +"The process was started from a G Suite menu item.", +"The process was started as a task in a batch job." +], +"type": "string" +}, +"projectName": { +"description": "Name of the script being executed.", +"type": "string" +}, +"runtimeVersion": { +"description": "Which version of maestro to use to execute the script.", +"enum": [ +"RUNTIME_VERSION_UNSPECIFIED", +"DEPRECATED_ES5", +"V8" +], +"enumDescriptions": [ +"Runtime version unset / unknown.", +"Legacy rhino version of the Apps script runtime", +"Current default V8 version of the apps script runtime." +], +"type": "string" +}, +"startTime": { +"description": "Time the execution started.", +"format": "google-datetime", +"type": "string" +}, +"userAccessLevel": { +"description": "The executing users access level to the script.", +"enum": [ +"USER_ACCESS_LEVEL_UNSPECIFIED", +"NONE", +"READ", +"WRITE", +"OWNER" +], +"enumDescriptions": [ +"User access level unspecified", +"The user has no access.", +"The user has read-only access.", +"The user has write access.", +"The user is an owner." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeUser": { +"description": "A simple user profile resource.", +"id": "GoogleAppsScriptTypeUser", +"properties": { +"domain": { +"description": "The user's domain.", +"type": "string" +}, +"email": { +"description": "The user's identifying email address.", +"type": "string" +}, +"name": { +"description": "The user's display name.", +"type": "string" +}, +"photoUrl": { +"description": "The user's photo.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeWebAppConfig": { +"description": "Web app entry point configuration.", +"id": "GoogleAppsScriptTypeWebAppConfig", +"properties": { +"access": { +"description": "Who has permission to run the web app.", +"enum": [ +"UNKNOWN_ACCESS", +"MYSELF", +"DOMAIN", +"ANYONE", +"ANYONE_ANONYMOUS" +], +"enumDescriptions": [ +"Default value, should not be used.", +"Only the user who deployed the web app or executable can access it. Note that this is not necessarily the owner of the script project.", +"Only users in the same domain as the user who deployed the web app or executable can access it.", +"Any logged in user can access the web app or executable.", +"Any user, logged in or not, can access the web app or executable." +], +"type": "string" +}, +"executeAs": { +"description": "Who to execute the web app as.", +"enum": [ +"UNKNOWN_EXECUTE_AS", +"USER_ACCESSING", +"USER_DEPLOYING" +], +"enumDescriptions": [ +"Default value, should not be used.", +"The script runs as the user accessing the web app.", +"The script runs as the user who deployed the web app. Note that this is not necessarily the owner of the script project." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsScriptTypeWebAppEntryPoint": { +"description": "A web application entry point.", +"id": "GoogleAppsScriptTypeWebAppEntryPoint", +"properties": { +"entryPointConfig": { +"$ref": "GoogleAppsScriptTypeWebAppConfig", +"description": "The entry point's configuration." +}, +"url": { +"description": "The URL for the web application.", +"type": "string" +} +}, +"type": "object" +}, +"ListDeploymentsResponse": { +"description": "Response with the list of deployments for the specified Apps Script project.", +"id": "ListDeploymentsResponse", +"properties": { +"deployments": { +"description": "The list of deployments.", +"items": { +"$ref": "Deployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token that can be used in the next call to get the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListScriptProcessesResponse": { +"description": "Response with the list of Process resources.", +"id": "ListScriptProcessesResponse", +"properties": { +"nextPageToken": { +"description": "Token for the next page of results. If empty, there are no more pages remaining.", +"type": "string" +}, +"processes": { +"description": "List of processes matching request parameters.", +"items": { +"$ref": "GoogleAppsScriptTypeProcess" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUserProcessesResponse": { +"description": "Response with the list of Process resources.", +"id": "ListUserProcessesResponse", +"properties": { +"nextPageToken": { +"description": "Token for the next page of results. If empty, there are no more pages remaining.", +"type": "string" +}, +"processes": { +"description": "List of processes matching request parameters.", +"items": { +"$ref": "GoogleAppsScriptTypeProcess" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListValue": { +"description": "`ListValue` is a wrapper around a repeated field of values.", +"id": "ListValue", +"properties": { +"values": { +"description": "Repeated field of dynamically typed values.", +"items": { +"$ref": "Value" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVersionsResponse": { +"description": "Response with the list of the versions for the specified script project.", +"id": "ListVersionsResponse", +"properties": { +"nextPageToken": { +"description": "The token use to fetch the next page of records. if not exist in the response, that means no more versions to list.", +"type": "string" +}, +"versions": { +"description": "The list of versions.", +"items": { +"$ref": "Version" +}, +"type": "array" +} +}, +"type": "object" +}, +"Metrics": { +"description": "Resource containing usage stats for a given script, based on the supplied filter and mask present in the request.", +"id": "Metrics", +"properties": { +"activeUsers": { +"description": "Number of active users.", +"items": { +"$ref": "MetricsValue" +}, +"type": "array" +}, +"failedExecutions": { +"description": "Number of failed executions.", +"items": { +"$ref": "MetricsValue" +}, +"type": "array" +}, +"totalExecutions": { +"description": "Number of total executions.", +"items": { +"$ref": "MetricsValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"MetricsValue": { +"description": "Metrics value that holds number of executions counted.", +"id": "MetricsValue", +"properties": { +"endTime": { +"description": "Required field indicating the end time of the interval.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Required field indicating the start time of the interval.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "Indicates the number of executions counted.", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "A representation of an execution of an Apps Script function started with run. The execution response does not arrive until the function finishes executing. The maximum execution runtime is listed in the [Apps Script quotas guide](/apps-script/guides/services/quotas#current_limitations). After execution has started, it can have one of four outcomes: - If the script function returns successfully, the response field contains an ExecutionResponse object with the function's return value in the object's `result` field. - If the script function (or Apps Script itself) throws an exception, the error field contains a Status object. The `Status` object's `details` field contains an array with a single ExecutionError object that provides information about the nature of the error. - If the execution has not yet completed, the done field is `false` and the neither the `response` nor `error` fields are present. - If the `run` call itself fails (for example, because of a malformed request or an authorization error), the method returns an HTTP response code in the 4XX range with a different format for the response body. Client libraries automatically convert a 4XX response into an exception class. ", +"id": "Operation", +"properties": { +"done": { +"description": "This field indicates whether the script execution has completed. A completed execution has a populated `response` field containing the ExecutionResponse from function that was executed.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, this field contains a Status object. The `Status` object's `details` field contains an array with a single ExecutionError object that provides information about the nature of the error." +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "If the script function returns successfully, this field contains an ExecutionResponse object with the function's return value.", +"type": "object" +} +}, +"type": "object" +}, +"Project": { +"description": "The script project resource.", +"id": "Project", +"properties": { +"createTime": { +"description": "When the script was created.", +"format": "google-datetime", +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsScriptTypeUser", +"description": "User who originally created the script." +}, +"lastModifyUser": { +"$ref": "GoogleAppsScriptTypeUser", +"description": "User who last modified the script." +}, +"parentId": { +"description": "The parent's Drive ID that the script will be attached to. This is usually the ID of a Google Document or Google Sheet. This filed is optional, and if not set, a stand-alone script will be created.", +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"type": "string" +}, +"title": { +"description": "The title for the project.", +"type": "string" +}, +"updateTime": { +"description": "When the script was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ScriptExecutionResult": { +"description": "The result of an execution.", +"id": "ScriptExecutionResult", +"properties": { +"returnValue": { +"$ref": "Value", +"description": "The returned value of the execution." +} +}, +"type": "object" +}, +"ScriptStackTraceElement": { +"description": "A stack trace through the script that shows where the execution failed.", +"id": "ScriptStackTraceElement", +"properties": { +"function": { +"description": "The name of the function that failed.", +"type": "string" +}, +"lineNumber": { +"description": "The line number where the script failed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Status": { +"description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's error field contains this `Status` object.", +"id": "Status", +"properties": { +"code": { +"description": "The status code. For this API, this value either: - 10, indicating a `SCRIPT_TIMEOUT` error, - 3, indicating an `INVALID_ARGUMENT` error, or - 1, indicating a `CANCELLED` execution. ", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "An array that contains a single ExecutionError object that provides information about the nature of the error.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which is in English. Any user-facing error message is localized and sent in the details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Struct": { +"description": "`Struct` represents a structured data value, consisting of fields which map to dynamically typed values.", +"id": "Struct", +"properties": { +"fields": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "Unordered map of dynamically typed values.", +"type": "object" +} +}, +"type": "object" +}, +"UpdateDeploymentRequest": { +"description": "Request with deployment information to update an existing deployment.", +"id": "UpdateDeploymentRequest", +"properties": { +"deploymentConfig": { +"$ref": "DeploymentConfig", +"description": "The deployment configuration." +} +}, +"type": "object" +}, +"Value": { +"description": "`Value` represents a dynamically typed value which is the outcome of an executed script.", +"id": "Value", +"properties": { +"boolValue": { +"description": "Represents a boolean value.", +"type": "boolean" +}, +"bytesValue": { +"description": "Represents raw byte values.", +"format": "byte", +"type": "string" +}, +"dateValue": { +"description": "Represents a date in ms since the epoch.", +"format": "int64", +"type": "string" +}, +"listValue": { +"$ref": "ListValue", +"description": "Represents a repeated `Value`." +}, +"nullValue": { +"description": "Represents a null value.", +"enum": [ +"NULL_VALUE" +], +"enumDescriptions": [ +"Null value." +], +"type": "string" +}, +"numberValue": { +"description": "Represents a double value.", +"format": "double", +"type": "number" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Represents a structured proto value.", +"type": "object" +}, +"stringValue": { +"description": "Represents a string value.", +"type": "string" +}, +"structValue": { +"$ref": "Struct", +"description": "Represents a structured value." +} +}, +"type": "object" +}, +"Version": { +"description": "A resource representing a script project version. A version is a \"snapshot\" of a script project and is similar to a read-only branched release. When creating deployments, the version to use must be specified.", +"id": "Version", +"properties": { +"createTime": { +"description": "When the version was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "The description for this version.", +"type": "string" +}, +"scriptId": { +"description": "The script project's Drive ID.", +"type": "string" +}, +"versionNumber": { +"description": "The incremental ID that is created by Apps Script when a version is created. This is system assigned number and is immutable once created.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Apps Script API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..0addadbd3b4782ac557289c9ecf6966c08cc8108 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json @@ -0,0 +1,3448 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://serviceconsumermanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Service Consumer Management", +"description": "Manages the service consumers of a Service Infrastructure service.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "serviceconsumermanagement:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://serviceconsumermanagement.mtls.googleapis.com/", +"name": "serviceconsumermanagement", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"get": { +"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.", +"flatPath": "v1beta1/operations/{operationsId}", +"httpMethod": "GET", +"id": "serviceconsumermanagement.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"services": { +"resources": { +"consumerQuotaMetrics": { +"methods": { +"get": { +"description": "Retrieves a summary of quota information for a specific quota metric.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the quota metric, returned by a ListConsumerQuotaMetrics call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies the level of detail for quota information in the response.", +"enum": [ +"QUOTA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.", +"Only buckets with overrides are shown in the response.", +"Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "V1Beta1ConsumerQuotaMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importProducerOverrides": { +"description": "Create or update multiple producer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics:importProducerOverrides", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.importProducerOverrides", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the consumer. An example name would be: `services/compute.googleapis.com/projects/123`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consumerQuotaMetrics:importProducerOverrides", +"request": { +"$ref": "V1Beta1ImportProducerOverridesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importProducerQuotaPolicies": { +"description": "Create or update multiple producer quota policies atomically, all on the same ancestor, but on many different metrics or limits. The name field in the quota policy message should not be set.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics:importProducerQuotaPolicies", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.importProducerQuotaPolicies", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The resource name of the consumer. An example name would be: `services/compute.googleapis.com/organizations/123`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consumerQuotaMetrics:importProducerQuotaPolicies", +"request": { +"$ref": "V1Beta1ImportProducerQuotaPoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieves a summary of all quota information about this consumer that is visible to the service producer, for each quota metric defined by the service. Each metric includes information about all of its defined limits. Each limit includes the limit configuration (quota unit, preciseness, default value), the current effective limit value, and all of the overrides applied to the limit.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested size of the next page of data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Parent of the quotas resource. An example parent would be: `services/serviceconsumermanagement.googleapis.com/projects/123`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies the level of detail for quota information in the response.", +"enum": [ +"QUOTA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.", +"Only buckets with overrides are shown in the response.", +"Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consumerQuotaMetrics", +"response": { +"$ref": "V1Beta1ListConsumerQuotaMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"limits": { +"methods": { +"get": { +"description": "Retrieves a summary of quota information for a specific quota limit.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies the level of detail for quota information in the response.", +"enum": [ +"QUOTA_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.", +"Only buckets with overrides are shown in the response.", +"Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "V1Beta1ConsumerQuotaLimit" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"producerOverrides": { +"methods": { +"create": { +"description": "Creates a producer override. A producer override is applied by the owner or administrator of a service to increase or decrease the amount of quota a consumer of the service is allowed to use. To create multiple overrides at once, use ImportProducerOverrides instead. If an override with the specified dimensions already exists, this call will fail. To overwrite an existing override if one is already present (\"upsert\" semantics), use ImportProducerOverrides instead.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"force": { +"description": "Whether to force the creation of the quota override. Setting the force parameter to 'true' ignores all quota safety checks that would fail the request. QuotaSafetyCheck lists all such validations.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"forceOnly": { +"description": "The list of quota safety checks to ignore before the override mutation. Unlike 'force' field that ignores all the quota safety checks, the 'force_only' field ignores only the specified checks; other checks are still enforced. The 'force' and 'force_only' fields cannot both be set.", +"enum": [ +"QUOTA_SAFETY_CHECK_UNSPECIFIED", +"LIMIT_DECREASE_BELOW_USAGE", +"LIMIT_DECREASE_PERCENTAGE_TOO_HIGH" +], +"enumDescriptions": [ +"Unspecified quota safety check.", +"Validates that a quota mutation would not cause the consumer's effective limit to be lower than the consumer's quota usage.", +"Validates that a quota mutation would not cause the consumer's effective limit to decrease by more than 10 percent." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "The resource name of the parent quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/producerOverrides", +"request": { +"$ref": "V1Beta1QuotaOverride" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a producer override.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}", +"httpMethod": "DELETE", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Whether to force the deletion of the quota override. Setting the force parameter to 'true' ignores all quota safety checks that would fail the request. QuotaSafetyCheck lists all such validations.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"forceOnly": { +"description": "The list of quota safety checks to ignore before the override mutation. Unlike 'force' field that ignores all the quota safety checks, the 'force_only' field ignores only the specified checks; other checks are still enforced. The 'force' and 'force_only' fields cannot both be set.", +"enum": [ +"QUOTA_SAFETY_CHECK_UNSPECIFIED", +"LIMIT_DECREASE_BELOW_USAGE", +"LIMIT_DECREASE_PERCENTAGE_TOO_HIGH" +], +"enumDescriptions": [ +"Unspecified quota safety check.", +"Validates that a quota mutation would not cause the consumer's effective limit to be lower than the consumer's quota usage.", +"Validates that a quota mutation would not cause the consumer's effective limit to decrease by more than 10 percent." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "The resource name of the override to delete. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all producer overrides on this limit.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested size of the next page of data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The resource name of the parent quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/producerOverrides", +"response": { +"$ref": "V1Beta1ListProducerOverridesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a producer override.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}", +"httpMethod": "PATCH", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Whether to force the update of the quota override. Setting the force parameter to 'true' ignores all quota safety checks that would fail the request. QuotaSafetyCheck lists all such validations.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"forceOnly": { +"description": "The list of quota safety checks to ignore before the override mutation. Unlike 'force' field that ignores all the quota safety checks, the 'force_only' field ignores only the specified checks; other checks are still enforced. The 'force' and 'force_only' fields cannot both be set.", +"enum": [ +"QUOTA_SAFETY_CHECK_UNSPECIFIED", +"LIMIT_DECREASE_BELOW_USAGE", +"LIMIT_DECREASE_PERCENTAGE_TOO_HIGH" +], +"enumDescriptions": [ +"Unspecified quota safety check.", +"Validates that a quota mutation would not cause the consumer's effective limit to be lower than the consumer's quota usage.", +"Validates that a quota mutation would not cause the consumer's effective limit to decrease by more than 10 percent." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "The resource name of the override to update. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Update only the specified fields. If unset, all modifiable fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "V1Beta1QuotaOverride" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"producerQuotaPolicies": { +"methods": { +"create": { +"description": "Creates a producer quota policy. A producer quota policy is applied by the owner or administrator of a service at an org or folder node to set the default quota limit for all consumers under the node where the policy is created. To create multiple policies at once, use ImportProducerQuotaPolicies instead. If a policy with the specified dimensions already exists, this call will fail. To overwrite an existing policy if one is already present (\"upsert\" semantics), use ImportProducerQuotaPolicies instead.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerQuotaPolicies", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerQuotaPolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"force": { +"description": "Whether to force the creation of the quota policy. If the policy creation would decrease the default limit of any consumer tier by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent quota limit. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If set to true, validate the request, but do not actually update.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/producerQuotaPolicies", +"request": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a producer quota policy.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerQuotaPolicies/{producerQuotaPoliciesId}", +"httpMethod": "DELETE", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerQuotaPolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Whether to force the deletion of the quota policy. If the policy deletion would decrease the default limit of any consumer tier by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the policy to delete. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerQuotaPolicies/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If set to true, validate the request, but do not actually update.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all producer policies created at current consumer node for a limit.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerQuotaPolicies", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerQuotaPolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested size of the next page of data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent quota limit. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/producerQuotaPolicies", +"response": { +"$ref": "V1Beta1ListProducerQuotaPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a producer quota policy.", +"flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerQuotaPolicies/{producerQuotaPoliciesId}", +"httpMethod": "PATCH", +"id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerQuotaPolicies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Whether to force the update of the quota policy. If the policy update would decrease the default limit of any consumer tier by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction.", +"location": "query", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource name of the producer policy. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerQuotaPolicies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Update only the specified fields. If unset, all modifiable fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If set to true, validate the request, but do not actually update.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://serviceconsumermanagement.googleapis.com/", +"schemas": { +"Api": { +"description": "Api is a light-weight descriptor for an API Interface. Interfaces are also described as \"protocol buffer services\" in some contexts, such as by the \"service\" keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as \"APIs\" in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.", +"id": "Api", +"properties": { +"methods": { +"description": "The methods of this interface, in unspecified order.", +"items": { +"$ref": "Method" +}, +"type": "array" +}, +"mixins": { +"description": "Included interfaces. See Mixin.", +"items": { +"$ref": "Mixin" +}, +"type": "array" +}, +"name": { +"description": "The fully qualified name of this interface, including package name followed by the interface's simple name.", +"type": "string" +}, +"options": { +"description": "Any metadata attached to the interface.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "Source context for the protocol buffer service represented by this message." +}, +"syntax": { +"description": "The source syntax of the service.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +}, +"version": { +"description": "A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces. ", +"type": "string" +} +}, +"type": "object" +}, +"AuthProvider": { +"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).", +"id": "AuthProvider", +"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. When this setting is absent, JWTs with audiences: - \"https://[service.name]/[google.protobuf.Api.name]\" - \"https://[service.name]/\" will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com", +"type": "string" +}, +"authorizationUrl": { +"description": "Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec.", +"type": "string" +}, +"id": { +"description": "The unique identifier of the auth provider. It will be referred to by `AuthRequirement.provider_id`. Example: \"bookstore_auth\".", +"type": "string" +}, +"issuer": { +"description": "Identifies the principal that issued the JWT. See https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 Usually a URL or an email address. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com", +"type": "string" +}, +"jwksUri": { +"description": "URL of the provider's public key set to validate signature of the JWT. See [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). Optional if the key set document: - can be retrieved from [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) of the issuer. - can be inferred from the email domain of the issuer (e.g. a Google service account). Example: https://www.googleapis.com/oauth2/v1/certs", +"type": "string" +}, +"jwtLocations": { +"description": "Defines the locations to extract the JWT. For now it is only used by the Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations] (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) JWT locations can be one of HTTP headers, URL query parameters or cookies. The rule is that the first match wins. If not specified, default to use following 3 locations: 1) Authorization: Bearer 2) x-goog-iap-jwt-assertion 3) access_token query parameter Default locations can be specified as followings: jwt_locations: - header: Authorization value_prefix: \"Bearer \" - header: x-goog-iap-jwt-assertion - query: access_token", +"items": { +"$ref": "JwtLocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthRequirement": { +"description": "User-defined authentication requirements, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", +"id": "AuthRequirement", +"properties": { +"audiences": { +"description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is implemented and accepted in all the runtime components. 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. When this setting is absent, only JWTs with audience \"https://Service_name/API_name\" will be accepted. For example, if no audiences are in the setting, LibraryService API will only accept JWTs with the following audience \"https://library-example.googleapis.com/google.example.library.v1.LibraryService\". Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com", +"type": "string" +}, +"providerId": { +"description": "id from authentication provider. Example: provider_id: bookstore_auth", +"type": "string" +} +}, +"type": "object" +}, +"Authentication": { +"description": "`Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read", +"id": "Authentication", +"properties": { +"providers": { +"description": "Defines a set of authentication providers that a service supports.", +"items": { +"$ref": "AuthProvider" +}, +"type": "array" +}, +"rules": { +"description": "A list of authentication rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "AuthenticationRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthenticationRule": { +"description": "Authentication rules for the service. By default, if a method has any authentication requirements, every request must include a valid credential matching one of the requirements. It's an error to include more than one kind of credential in a single request. If a method doesn't have any auth requirements, request credentials will be ignored.", +"id": "AuthenticationRule", +"properties": { +"allowWithoutCredential": { +"description": "If true, the service accepts API keys without any other credential. This flag only applies to HTTP and gRPC requests.", +"type": "boolean" +}, +"oauth": { +"$ref": "OAuthRequirements", +"description": "The requirements for OAuth credentials." +}, +"requirements": { +"description": "Requirements for additional authentication providers.", +"items": { +"$ref": "AuthRequirement" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Backend": { +"description": "`Backend` defines the backend configuration for a service.", +"id": "Backend", +"properties": { +"rules": { +"description": "A list of API backend rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "BackendRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendRule": { +"description": "A backend rule provides configuration for an individual API element.", +"id": "BackendRule", +"properties": { +"address": { +"description": "The address of the API backend. The scheme is used to determine the backend protocol and security. The following schemes are accepted: SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// gRPC None grpcs:// gRPC TLS It is recommended to explicitly include a scheme. Leaving out the scheme may cause constrasting behaviors across platforms. If the port is unspecified, the default is: - 80 for schemes without TLS - 443 for schemes with TLS For HTTP backends, use protocol to specify the protocol version.", +"type": "string" +}, +"deadline": { +"description": "The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.", +"format": "double", +"type": "number" +}, +"disableAuth": { +"description": "When disable_auth is true, a JWT ID token won't be generated and the original \"Authorization\" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.", +"type": "boolean" +}, +"jwtAudience": { +"description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", +"type": "string" +}, +"minDeadline": { +"deprecated": true, +"description": "Deprecated, do not use.", +"format": "double", +"type": "number" +}, +"operationDeadline": { +"description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline.", +"format": "double", +"type": "number" +}, +"overridesByRequestProtocol": { +"additionalProperties": { +"$ref": "BackendRule" +}, +"description": "The map between request protocol and the backend address.", +"type": "object" +}, +"pathTranslation": { +"enum": [ +"PATH_TRANSLATION_UNSPECIFIED", +"CONSTANT_ADDRESS", +"APPEND_PATH_TO_ADDRESS" +], +"enumDescriptions": [ +"", +"Use the backend address as-is, with no modification to the path. If the URL pattern contains variables, the variable names and values will be appended to the query string. If a query string parameter and a URL pattern variable have the same name, this may result in duplicate keys in the query string. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.cloudfunctions.net/getUser Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe", +"The request path will be appended to the backend address. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.appspot.com Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST" +], +"type": "string" +}, +"protocol": { +"description": "The protocol used for sending a request to the backend. The supported values are \"http/1.1\" and \"h2\". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to \"h2\" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.", +"type": "string" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Billing": { +"description": "Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: | Predefined label to support billing location restriction. - key: city description: | Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: \"1\" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count", +"id": "Billing", +"properties": { +"consumerDestinations": { +"description": "Billing configurations for sending metrics to the consumer project. There can be multiple consumer destinations per service, each one must have a different monitored resource type. A metric can be used in at most one consumer destination.", +"items": { +"$ref": "BillingDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"BillingDestination": { +"description": "Configuration of a specific billing destination (Currently only support bill against consumer project).", +"id": "BillingDestination", +"properties": { +"metrics": { +"description": "Names of the metrics to report to this billing destination. Each name must be defined in Service.metrics section.", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"ClientLibrarySettings": { +"description": "Details about how and where to publish client libraries.", +"id": "ClientLibrarySettings", +"properties": { +"cppSettings": { +"$ref": "CppSettings", +"description": "Settings for C++ client libraries." +}, +"dotnetSettings": { +"$ref": "DotnetSettings", +"description": "Settings for .NET client libraries." +}, +"goSettings": { +"$ref": "GoSettings", +"description": "Settings for Go client libraries." +}, +"javaSettings": { +"$ref": "JavaSettings", +"description": "Settings for legacy Java features, supported in the Service YAML." +}, +"launchStage": { +"description": "Launch stage of this version of the API.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"nodeSettings": { +"$ref": "NodeSettings", +"description": "Settings for Node client libraries." +}, +"phpSettings": { +"$ref": "PhpSettings", +"description": "Settings for PHP client libraries." +}, +"pythonSettings": { +"$ref": "PythonSettings", +"description": "Settings for Python client libraries." +}, +"restNumericEnums": { +"description": "When using transport=rest, the client request will encode enums as numbers rather than strings.", +"type": "boolean" +}, +"rubySettings": { +"$ref": "RubySettings", +"description": "Settings for Ruby client libraries." +}, +"version": { +"description": "Version of the API to apply these settings to. This is the full protobuf package for the API, ending in the version element. Examples: \"google.cloud.speech.v1\" and \"google.spanner.admin.database.v1\".", +"type": "string" +} +}, +"type": "object" +}, +"CommonLanguageSettings": { +"description": "Required information for every language.", +"id": "CommonLanguageSettings", +"properties": { +"destinations": { +"description": "The destination where API teams want this client library to be published.", +"items": { +"enum": [ +"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED", +"GITHUB", +"PACKAGE_MANAGER" +], +"enumDescriptions": [ +"Client libraries will neither be generated nor published to package managers.", +"Generate the client library in a repo under github.com/googleapis, but don't publish it to package managers.", +"Publish the library to package managers like nuget.org and npmjs.com." +], +"type": "string" +}, +"type": "array" +}, +"referenceDocsUri": { +"deprecated": true, +"description": "Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest", +"type": "string" +}, +"selectiveGapicGeneration": { +"$ref": "SelectiveGapicGeneration", +"description": "Configuration for which RPCs should be generated in the GAPIC client." +} +}, +"type": "object" +}, +"Context": { +"description": "`Context` defines which contexts an API requests. Example: context: rules: - selector: \"*\" requested: - google.rpc.context.ProjectContext - google.rpc.context.OriginContext The above specifies that all methods in the API request `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`. Available context types are defined in package `google.rpc.context`. This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using \u201cx-goog-ext--bin\u201d and \u201cx-goog-ext--jspb\u201d format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file: Example: context: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allowed_request_extensions: - google.foo.v1.NewExtension allowed_response_extensions: - google.foo.v1.NewExtension You can also specify extension ID instead of fully qualified extension name here.", +"id": "Context", +"properties": { +"rules": { +"description": "A list of RPC context rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "ContextRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContextRule": { +"description": "A context rule provides information about the context for an individual API element.", +"id": "ContextRule", +"properties": { +"allowedRequestExtensions": { +"description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from client to backend.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowedResponseExtensions": { +"description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from backend to client.", +"items": { +"type": "string" +}, +"type": "array" +}, +"provided": { +"description": "A list of full type names of provided contexts. It is used to support propagating HTTP headers and ETags from the response extension.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requested": { +"description": "A list of full type names of requested contexts, only the requested context will be made available to the backend.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Control": { +"description": "Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com", +"id": "Control", +"properties": { +"environment": { +"description": "The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com", +"type": "string" +}, +"methodPolicies": { +"description": "Defines policies applying to the API methods of the service.", +"items": { +"$ref": "MethodPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"CppSettings": { +"description": "Settings for C++ client libraries.", +"id": "CppSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"CustomError": { +"description": "Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError", +"id": "CustomError", +"properties": { +"rules": { +"description": "The list of custom error rules that apply to individual API messages. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "CustomErrorRule" +}, +"type": "array" +}, +"types": { +"description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomErrorRule": { +"description": "A custom error rule.", +"id": "CustomErrorRule", +"properties": { +"isErrorType": { +"description": "Mark this message as possible payload in error response. Otherwise, objects of this type will be filtered when they appear in error payload.", +"type": "boolean" +}, +"selector": { +"description": "Selects messages to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"CustomHttpPattern": { +"description": "A custom pattern is used for defining custom HTTP verb.", +"id": "CustomHttpPattern", +"properties": { +"kind": { +"description": "The name of this custom HTTP verb.", +"type": "string" +}, +"path": { +"description": "The path matched by this custom verb.", +"type": "string" +} +}, +"type": "object" +}, +"Documentation": { +"description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", +"id": "Documentation", +"properties": { +"additionalIamInfo": { +"description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", +"type": "string" +}, +"documentationRootUrl": { +"description": "The URL to the root of documentation.", +"type": "string" +}, +"overview": { +"description": "Declares a single overview page. For example: documentation: summary: ... overview: (== include overview.md ==) This is a shortcut for the following declaration (using pages style): documentation: summary: ... pages: - name: Overview content: (== include overview.md ==) Note: you cannot specify both `overview` field and `pages` field.", +"type": "string" +}, +"pages": { +"description": "The top level pages for the documentation set.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"rules": { +"description": "A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "DocumentationRule" +}, +"type": "array" +}, +"sectionOverrides": { +"description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"serviceRootUrl": { +"description": "Specifies the service root url if the default one (the service name from the yaml file) is not suitable. This can be seen in any fully specified service urls as well as sections that show a base that other urls are relative to.", +"type": "string" +}, +"summary": { +"description": "A short description of what the service does. The summary must be plain text. It becomes the overview of the service displayed in Google Cloud Console. NOTE: This field is equivalent to the standard field `description`.", +"type": "string" +} +}, +"type": "object" +}, +"DocumentationRule": { +"description": "A documentation rule provides information about individual API elements.", +"id": "DocumentationRule", +"properties": { +"deprecationDescription": { +"description": "Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.", +"type": "string" +}, +"description": { +"description": "Description of the selected proto element (e.g. a message, a method, a 'service' definition, or a field). Defaults to leading & trailing comments taken from the proto source definition of the proto element.", +"type": "string" +}, +"disableReplacementWords": { +"description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", +"type": "string" +}, +"selector": { +"description": "The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in \"*\", indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern \"*\" is used.", +"type": "string" +} +}, +"type": "object" +}, +"DotnetSettings": { +"description": "Settings for Dotnet client libraries.", +"id": "DotnetSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"forcedNamespaceAliases": { +"description": "Namespaces which must be aliased in snippets due to a known (but non-generator-predictable) naming collision", +"items": { +"type": "string" +}, +"type": "array" +}, +"handwrittenSignatures": { +"description": "Method signatures (in the form \"service.method(signature)\") which are provided separately, so shouldn't be generated. Snippets *calling* these methods are still generated, however.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ignoredResources": { +"description": "List of full resource types to ignore during generation. This is typically used for API-specific Location resources, which should be handled by the generator as if they were actually the common Location resources. Example entry: \"documentai.googleapis.com/Location\"", +"items": { +"type": "string" +}, +"type": "array" +}, +"renamedResources": { +"additionalProperties": { +"type": "string" +}, +"description": "Map from full resource types to the effective short name for the resource. This is used when otherwise resource named from different services would cause naming collisions. Example entry: \"datalabeling.googleapis.com/Dataset\": \"DataLabelingDataset\"", +"type": "object" +}, +"renamedServices": { +"additionalProperties": { +"type": "string" +}, +"description": "Map from original service names to renamed versions. This is used when the default generated types would cause a naming conflict. (Neither name is fully-qualified.) Example: Subscriber to SubscriberServiceApi.", +"type": "object" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Endpoint": { +"description": "`Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true", +"id": "Endpoint", +"properties": { +"aliases": { +"description": "Aliases for this endpoint, these will be served by the same UrlMap as the parent endpoint, and will be provisioned in the GCP stack for the Regional Endpoints.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowCors": { +"description": "Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.", +"type": "boolean" +}, +"name": { +"description": "The canonical name of this endpoint.", +"type": "string" +}, +"target": { +"description": "The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, \"8.8.8.8\" or \"myservice.appspot.com\".", +"type": "string" +} +}, +"type": "object" +}, +"Enum": { +"description": "Enum type definition.", +"id": "Enum", +"properties": { +"edition": { +"description": "The source edition string, only valid when syntax is SYNTAX_EDITIONS.", +"type": "string" +}, +"enumvalue": { +"description": "Enum value definitions.", +"items": { +"$ref": "EnumValue" +}, +"type": "array" +}, +"name": { +"description": "Enum type name.", +"type": "string" +}, +"options": { +"description": "Protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "The source context." +}, +"syntax": { +"description": "The source syntax.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"EnumValue": { +"description": "Enum value definition.", +"id": "EnumValue", +"properties": { +"name": { +"description": "Enum value name.", +"type": "string" +}, +"number": { +"description": "Enum value number.", +"format": "int32", +"type": "integer" +}, +"options": { +"description": "Protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExperimentalFeatures": { +"description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", +"id": "ExperimentalFeatures", +"properties": { +"protobufPythonicTypesEnabled": { +"description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", +"type": "boolean" +}, +"restAsyncIoEnabled": { +"description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", +"type": "boolean" +} +}, +"type": "object" +}, +"Field": { +"description": "A single field of a message type.", +"id": "Field", +"properties": { +"cardinality": { +"description": "The field cardinality.", +"enum": [ +"CARDINALITY_UNKNOWN", +"CARDINALITY_OPTIONAL", +"CARDINALITY_REQUIRED", +"CARDINALITY_REPEATED" +], +"enumDescriptions": [ +"For fields with unknown cardinality.", +"For optional fields.", +"For required fields. Proto2 syntax only.", +"For repeated fields." +], +"type": "string" +}, +"defaultValue": { +"description": "The string value of the default value of this field. Proto2 syntax only.", +"type": "string" +}, +"jsonName": { +"description": "The field JSON name.", +"type": "string" +}, +"kind": { +"description": "The field type.", +"enum": [ +"TYPE_UNKNOWN", +"TYPE_DOUBLE", +"TYPE_FLOAT", +"TYPE_INT64", +"TYPE_UINT64", +"TYPE_INT32", +"TYPE_FIXED64", +"TYPE_FIXED32", +"TYPE_BOOL", +"TYPE_STRING", +"TYPE_GROUP", +"TYPE_MESSAGE", +"TYPE_BYTES", +"TYPE_UINT32", +"TYPE_ENUM", +"TYPE_SFIXED32", +"TYPE_SFIXED64", +"TYPE_SINT32", +"TYPE_SINT64" +], +"enumDescriptions": [ +"Field type unknown.", +"Field type double.", +"Field type float.", +"Field type int64.", +"Field type uint64.", +"Field type int32.", +"Field type fixed64.", +"Field type fixed32.", +"Field type bool.", +"Field type string.", +"Field type group. Proto2 syntax only, and deprecated.", +"Field type message.", +"Field type bytes.", +"Field type uint32.", +"Field type enum.", +"Field type sfixed32.", +"Field type sfixed64.", +"Field type sint32.", +"Field type sint64." +], +"type": "string" +}, +"name": { +"description": "The field name.", +"type": "string" +}, +"number": { +"description": "The field number.", +"format": "int32", +"type": "integer" +}, +"oneofIndex": { +"description": "The index of the field type in `Type.oneofs`, for message or enumeration types. The first type has index 1; zero means the type is not in the list.", +"format": "int32", +"type": "integer" +}, +"options": { +"description": "The protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"packed": { +"description": "Whether to use alternative packed wire representation.", +"type": "boolean" +}, +"typeUrl": { +"description": "The field type URL, without the scheme, for message or enumeration types. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", +"type": "string" +} +}, +"type": "object" +}, +"FieldPolicy": { +"description": "Google API Policy Annotation This message defines a simple API policy annotation that can be used to annotate API request and response message fields with applicable policies. One field may have multiple applicable policies that must all be satisfied before a request can be processed. This policy annotation is used to generate the overall policy that will be used for automatic runtime policy enforcement and documentation generation.", +"id": "FieldPolicy", +"properties": { +"resourcePermission": { +"description": "Specifies the required permission(s) for the resource referred to by the field. It requires the field contains a valid resource reference, and the request must pass the permission checks to proceed. For example, \"resourcemanager.projects.get\".", +"type": "string" +}, +"resourceType": { +"description": "Specifies the resource type for the resource referred to by the field.", +"type": "string" +}, +"selector": { +"description": "Selects one or more request or response message fields to apply this `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector must be left as empty. The service config generator will automatically fill the correct value. When a `FieldPolicy` is used in service config, the selector must be a comma-separated string with valid request or response field paths, such as \"foo.bar\" or \"foo.bar,foo.baz\".", +"type": "string" +} +}, +"type": "object" +}, +"GoSettings": { +"description": "Settings for Go client libraries.", +"id": "GoSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"renamedServices": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", +"type": "object" +} +}, +"type": "object" +}, +"Http": { +"description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.", +"id": "Http", +"properties": { +"fullyDecodeReservedExpansion": { +"description": "When set to true, URL path parameters will be fully URI-decoded except in cases of single segment matches in reserved expansion, where \"%2F\" will be left encoded. The default behavior is to not decode RFC 6570 reserved characters in multi segment matches.", +"type": "boolean" +}, +"rules": { +"description": "A list of HTTP configuration rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "HttpRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRule": { +"description": "gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC method and one or more HTTP REST endpoints. It allows developers to build a single API service that supports both gRPC APIs and REST APIs. Many systems, including [Google APIs](https://github.com/googleapis/googleapis), [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and use it for large scale production services. `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies how different portions of the gRPC request message are mapped to the URL path, URL query parameters, and HTTP request body. It also controls how the gRPC response message is mapped to the HTTP response body. `HttpRule` is typically specified as an `google.api.http` annotation on the gRPC method. Each mapping specifies a URL path template and an HTTP method. The path template may refer to one or more fields in the gRPC request message, as long as each field is a non-repeated field with a primitive (non-message) type. The path template controls how fields of the request message are mapped to the URL path. Example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get: \"/v1/{name=messages/*}\" }; } } message GetMessageRequest { string name = 1; // Mapped to URL path. } message Message { string text = 1; // The resource content. } This enables an HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `GetMessage(name: \"messages/123456\")` Any fields in the request message which are not bound by the path template automatically become HTTP query parameters if there is no HTTP request body. For example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get:\"/v1/messages/{message_id}\" }; } } message GetMessageRequest { message SubMessage { string subfield = 1; } string message_id = 1; // Mapped to URL path. int64 revision = 2; // Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))` Note that fields which are mapped to URL query parameters must have a primitive type or a repeated primitive type or a non-repeated message type. In the case of a repeated type, the parameter can be repeated in the URL as `...?param=A¶m=B`. In the case of a message type, each field of the message is mapped to a separate parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body` field specifies the mapping. Consider a REST update method on the message resource collection: service Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) { option (google.api.http) = { patch: \"/v1/messages/{message_id}\" body: \"message\" }; } } message UpdateMessageRequest { string message_id = 1; // mapped to the URL Message message = 2; // mapped to the body } The following HTTP JSON to RPC mapping is enabled, where the representation of the JSON in the request body is determined by protos JSON encoding: - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` - gRPC: `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })` The special name `*` can be used in the body mapping to define that every field not bound by the path template should be mapped to the request body. This enables the following alternative definition of the update method: service Messaging { rpc UpdateMessage(Message) returns (Message) { option (google.api.http) = { patch: \"/v1/messages/{message_id}\" body: \"*\" }; } } message Message { string message_id = 1; string text = 2; } The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` - gRPC: `UpdateMessage(message_id: \"123456\" text: \"Hi!\")` Note that when using `*` in the body mapping, it is not possible to have HTTP parameters, as all fields not bound by the path end in the body. This makes this option more rarely used in practice when defining REST APIs. The common usage of `*` is in custom methods which don't use the URL at all for transferring data. It is possible to define multiple HTTP methods for one RPC by using the `additional_bindings` option. Example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get: \"/v1/messages/{message_id}\" additional_bindings { get: \"/v1/users/{user_id}/messages/{message_id}\" } }; } } message GetMessageRequest { string message_id = 1; string user_id = 2; } This enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /v1/messages/123456` - gRPC: `GetMessage(message_id: \"123456\")` - HTTP: `GET /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: \"me\" message_id: \"123456\")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion nested messages in the request message) are classified into three categories: - Fields referred by the path template. They are passed via the URL path. - Fields referred by the HttpRule.body. They are passed via the HTTP request body. - All other fields are passed via the URL query parameters, and the parameter name is the field path in the request message. A repeated field can be represented as multiple query parameters under the same name. 2. If HttpRule.body is \"*\", there is no URL query parameter, all fields are passed via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is no HTTP request body, all fields are passed via URL path and URL query parameters. Path template syntax Template = \"/\" Segments [ Verb ] ; Segments = Segment { \"/\" Segment } ; Segment = \"*\" | \"**\" | LITERAL | Variable ; Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ; FieldPath = IDENT { \".\" IDENT } ; Verb = \":\" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**` matches zero or more URL path segments, which must be the last part of the URL path except the `Verb`. The syntax `Variable` matches part of the URL path as specified by its template. A variable template must not contain other variables. If a variable matches a single path segment, its template may be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` contains any reserved character, such characters should be percent-encoded before the matching. If a variable contains exactly one path segment, such as `\"{var}\"` or `\"{var=*}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{var}`. If a variable contains multiple path segments, such as `\"{var=foo/*}\"` or `\"{var=**}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left unchanged. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{+var}`. Using gRPC API Service Configuration gRPC API Service Configuration (service config) is a configuration language for configuring a gRPC service to become a user-facing product. The service config is simply the YAML representation of the `google.api.Service` proto message. As an alternative to annotating your proto file, you can configure gRPC transcoding in your service config YAML files. You do this by specifying a `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same effect as the proto annotation. This can be particularly useful if you have a proto that is reused in multiple services. Note that any transcoding specified in the service config will override any matching transcoding configuration in the proto. The following example selects a gRPC method and applies an `HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get: /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion must follow the [proto3 specification](https://developers.google.com/protocol-buffers/docs/proto3#json). While the single segment variable follows the semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String Expansion, the multi segment variable **does not** follow RFC 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion does not expand special characters like `?` and `#`, which would lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding for multi segment variables. The path variables **must not** refer to any repeated or mapped field, because client libraries are not capable of handling such variable expansion. The path variables **must not** capture the leading \"/\" character. The reason is that the most common use case \"{var}\" does not capture the leading \"/\" character. For consistency, all path variables must share the same behavior. Repeated message fields must not be mapped to URL query parameters, because no client library can support such complicated mapping. If an API needs to use a JSON array for request or response body, it can map the request or response body to a repeated field. However, some gRPC Transcoding implementations may not support this feature.", +"id": "HttpRule", +"properties": { +"additionalBindings": { +"description": "Additional HTTP bindings for the selector. Nested bindings must not contain an `additional_bindings` field themselves (that is, the nesting may only be one level deep).", +"items": { +"$ref": "HttpRule" +}, +"type": "array" +}, +"body": { +"description": "The name of the request field whose value is mapped to the HTTP request body, or `*` for mapping all request fields not captured by the path pattern to the HTTP body, or omitted for not having any HTTP request body. NOTE: the referred field must be present at the top-level of the request message type.", +"type": "string" +}, +"custom": { +"$ref": "CustomHttpPattern", +"description": "The custom pattern is used for specifying an HTTP method that is not included in the `pattern` field, such as HEAD, or \"*\" to leave the HTTP method unspecified for this rule. The wild-card rule is useful for services that provide content to Web (HTML) clients." +}, +"delete": { +"description": "Maps to HTTP DELETE. Used for deleting a resource.", +"type": "string" +}, +"get": { +"description": "Maps to HTTP GET. Used for listing and getting information about resources.", +"type": "string" +}, +"patch": { +"description": "Maps to HTTP PATCH. Used for updating a resource.", +"type": "string" +}, +"post": { +"description": "Maps to HTTP POST. Used for creating a resource or performing an action.", +"type": "string" +}, +"put": { +"description": "Maps to HTTP PUT. Used for replacing a resource.", +"type": "string" +}, +"responseBody": { +"description": "Optional. The name of the response field whose value is mapped to the HTTP response body. When omitted, the entire response message will be used as the HTTP response body. NOTE: The referred field must be present at the top-level of the response message type.", +"type": "string" +}, +"selector": { +"description": "Selects a method to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"JavaSettings": { +"description": "Settings for Java client libraries.", +"id": "JavaSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"libraryPackage": { +"description": "The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name\" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1", +"type": "string" +}, +"serviceClassNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names\" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin", +"type": "object" +} +}, +"type": "object" +}, +"JwtLocation": { +"description": "Specifies a location to extract JWT from an API request.", +"id": "JwtLocation", +"properties": { +"cookie": { +"description": "Specifies cookie name to extract JWT token.", +"type": "string" +}, +"header": { +"description": "Specifies HTTP header name to extract JWT token.", +"type": "string" +}, +"query": { +"description": "Specifies URL query parameter name to extract JWT token.", +"type": "string" +}, +"valuePrefix": { +"description": "The value prefix. The value format is \"value_prefix{token}\" Only applies to \"in\" header type. Must be empty for \"in\" query type. If not empty, the header value has to match (case sensitive) this prefix. If not matched, JWT will not be extracted. If matched, JWT will be extracted after the prefix is removed. For example, for \"Authorization: Bearer {JWT}\", value_prefix=\"Bearer \" with a space at the end.", +"type": "string" +} +}, +"type": "object" +}, +"LabelDescriptor": { +"description": "A description of a label.", +"id": "LabelDescriptor", +"properties": { +"description": { +"description": "A human-readable description for the label.", +"type": "string" +}, +"key": { +"description": "The label key.", +"type": "string" +}, +"valueType": { +"description": "The type of data that can be assigned to the label.", +"enum": [ +"STRING", +"BOOL", +"INT64" +], +"enumDescriptions": [ +"A variable-length string. This is the default.", +"Boolean; true or false.", +"A 64-bit signed integer." +], +"type": "string" +} +}, +"type": "object" +}, +"LogDescriptor": { +"description": "A description of a log type. Example in YAML format: - name: library.googleapis.com/activity_history description: The history of borrowing and returning library items. display_name: Activity labels: - key: /customer_id description: Identifier of a library customer", +"id": "LogDescriptor", +"properties": { +"description": { +"description": "A human-readable description of this log. This information appears in the documentation and can contain details.", +"type": "string" +}, +"displayName": { +"description": "The human-readable name for this log. This information appears on the user interface and should be concise.", +"type": "string" +}, +"labels": { +"description": "The set of labels that are available to describe a specific log entry. Runtime requests that contain labels not specified here are considered invalid.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"name": { +"description": "The name of the log. It must be less than 512 characters long and can include the following characters: upper- and lower-case alphanumeric characters [A-Za-z0-9], and punctuation characters including slash, underscore, hyphen, period [/_-.].", +"type": "string" +} +}, +"type": "object" +}, +"Logging": { +"description": "Logging configuration of the service. The following example shows how to configure logs to be sent to the producer and consumer projects. In the example, the `activity_history` log is sent to both the producer and consumer projects, whereas the `purchase_history` log is only sent to the producer project. monitored_resources: - type: library.googleapis.com/branch labels: - key: /city description: The city where the library branch is located in. - key: /name description: The name of the branch. logs: - name: activity_history labels: - key: /customer_id - name: purchase_history logging: producer_destinations: - monitored_resource: library.googleapis.com/branch logs: - activity_history - purchase_history consumer_destinations: - monitored_resource: library.googleapis.com/branch logs: - activity_history", +"id": "Logging", +"properties": { +"consumerDestinations": { +"description": "Logging configurations for sending logs to the consumer project. There can be multiple consumer destinations, each one must have a different monitored resource type. A log can be used in at most one consumer destination.", +"items": { +"$ref": "LoggingDestination" +}, +"type": "array" +}, +"producerDestinations": { +"description": "Logging configurations for sending logs to the producer project. There can be multiple producer destinations, each one must have a different monitored resource type. A log can be used in at most one producer destination.", +"items": { +"$ref": "LoggingDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoggingDestination": { +"description": "Configuration of a specific logging destination (the producer project or the consumer project).", +"id": "LoggingDestination", +"properties": { +"logs": { +"description": "Names of the logs to be sent to this destination. Each name must be defined in the Service.logs section. If the log name is not a domain scoped name, it will be automatically prefixed with the service name followed by \"/\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in the Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"LongRunning": { +"description": "Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).", +"id": "LongRunning", +"properties": { +"initialPollDelay": { +"description": "Initial delay after which the first poll request will be made. Default value: 5 seconds.", +"format": "google-duration", +"type": "string" +}, +"maxPollDelay": { +"description": "Maximum time between two subsequent poll requests. Default value: 45 seconds.", +"format": "google-duration", +"type": "string" +}, +"pollDelayMultiplier": { +"description": "Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5.", +"format": "float", +"type": "number" +}, +"totalPollTimeout": { +"description": "Total polling timeout. Default value: 5 minutes.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Method": { +"description": "Method represents a method of an API interface.", +"id": "Method", +"properties": { +"name": { +"description": "The simple name of this method.", +"type": "string" +}, +"options": { +"description": "Any metadata attached to the method.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"requestStreaming": { +"description": "If true, the request is streamed.", +"type": "boolean" +}, +"requestTypeUrl": { +"description": "A URL of the input message type.", +"type": "string" +}, +"responseStreaming": { +"description": "If true, the response is streamed.", +"type": "boolean" +}, +"responseTypeUrl": { +"description": "The URL of the output message type.", +"type": "string" +}, +"syntax": { +"description": "The source syntax of this method.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"MethodPolicy": { +"description": "Defines policies applying to an RPC method.", +"id": "MethodPolicy", +"properties": { +"requestPolicies": { +"description": "Policies that are applicable to the request message.", +"items": { +"$ref": "FieldPolicy" +}, +"type": "array" +}, +"selector": { +"description": "Selects a method to which these policies should be enforced, for example, \"google.pubsub.v1.Subscriber.CreateSubscription\". Refer to selector for syntax details. NOTE: This field must not be set in the proto annotation. It will be automatically filled by the service config compiler .", +"type": "string" +} +}, +"type": "object" +}, +"MethodSettings": { +"description": "Describes the generator configuration for a method.", +"id": "MethodSettings", +"properties": { +"autoPopulatedFields": { +"description": "List of top-level fields of the request message, that should be automatically populated by the client libraries based on their (google.api.field_info).format. Currently supported format: UUID4. Example of a YAML configuration: publishing: method_settings: - selector: google.example.v1.ExampleService.CreateExample auto_populated_fields: - request_id", +"items": { +"type": "string" +}, +"type": "array" +}, +"longRunning": { +"$ref": "LongRunning", +"description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes" +}, +"selector": { +"description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder...", +"type": "string" +} +}, +"type": "object" +}, +"MetricDescriptor": { +"description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. ", +"id": "MetricDescriptor", +"properties": { +"description": { +"description": "A detailed description of the metric, which can be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.", +"type": "string" +}, +"labels": { +"description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies` metric type has a label for the HTTP response code, `response_code`, so you can look at latencies for successful responses or just for responses that failed.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the metric definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"metadata": { +"$ref": "MetricDescriptorMetadata", +"description": "Optional. Metadata which can be used to guide usage of the metric." +}, +"metricKind": { +"description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of `metric_kind` and `value_type` might not be supported.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"monitoredResourceTypes": { +"description": "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the metric descriptor.", +"type": "string" +}, +"type": { +"description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com` or `external.googleapis.com`. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"", +"type": "string" +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. Different systems might scale the values to be more easily displayed (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then the value of the metric is always in thousands of bytes, no matter how it might be displayed. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the value is written as `12005`. Alternatively, if you want a custom metric to record data in a more granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). The supported units are a subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost never have `/s` in a metric `unit`; rates should always be computed at query time from the underlying cumulative or delta value). * `.` multiplication or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: Expression = Component { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`. If the annotation is used alone, then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing `{` or `}`. * `1` represents a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in `1/s`. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3` would mean \"5300 page views per day\"). * `%` represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value `0.03` means \"3 percent\").", +"type": "string" +}, +"valueType": { +"description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of `metric_kind` and `value_type` might not be supported.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a `Distribution`.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"MetricDescriptorMetadata": { +"description": "Additional annotations that can be used to guide the usage of a metric.", +"id": "MetricDescriptorMetadata", +"properties": { +"ingestDelay": { +"description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.", +"format": "google-duration", +"type": "string" +}, +"launchStage": { +"deprecated": true, +"description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"samplePeriod": { +"description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.", +"format": "google-duration", +"type": "string" +}, +"timeSeriesResourceHierarchyLevel": { +"description": "The scope of the timeseries data of the metric.", +"items": { +"enum": [ +"TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED", +"PROJECT", +"ORGANIZATION", +"FOLDER" +], +"enumDescriptions": [ +"Do not use this default value.", +"Scopes a metric to a project.", +"Scopes a metric to an organization.", +"Scopes a metric to a folder." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MetricRule": { +"description": "Bind API methods to metrics. Binding a method to a metric causes that metric's configured quota behaviors to apply to the method call.", +"id": "MetricRule", +"properties": { +"metricCosts": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Metrics to update when the selected methods are called, and the associated cost applied to each metric. The key of the map is the metric name, and the values are the amount increased for the metric against which the quota limits are defined. The value must not be negative.", +"type": "object" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Mixin": { +"description": "Declares an API Interface to be included in this interface. The including interface must redeclare all the methods from the included interface, but documentation and options are inherited as follows: - If after comment and whitespace stripping, the documentation string of the redeclared method is empty, it will be inherited from the original method. - Each annotation belonging to the service config (http, visibility) which is not set in the redeclared method will be inherited. - If an http annotation is inherited, the path pattern will be modified as follows. Any version prefix will be replaced by the version of the including interface plus the root path if specified. Example of a simple mixin: package google.acl.v1; service AccessControl { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v1/{resource=**}:getAcl\"; } } package google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns (Data) { option (google.api.http).get = \"/v2/{resource=**}\"; } } Example of a mixin configuration: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl The mixin construct implies that all methods in `AccessControl` are also declared with same name and request/response types in `Storage`. A documentation generator or annotation processor will see the effective `Storage.GetAcl` method after inheriting documentation and annotations as follows: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/{resource=**}:getAcl\"; } ... } Note how the version in the path pattern changed from `v1` to `v2`. If the `root` field in the mixin is specified, it should be a relative path under which inherited HTTP paths are placed. Example: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl root: acls This implies the following inherited HTTP annotation: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\"; } ... }", +"id": "Mixin", +"properties": { +"name": { +"description": "The fully qualified name of the interface which is included.", +"type": "string" +}, +"root": { +"description": "If non-empty specifies a path under which inherited HTTP paths are rooted.", +"type": "string" +} +}, +"type": "object" +}, +"MonitoredResourceDescriptor": { +"description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and `\"zone\"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API. ", +"id": "MonitoredResourceDescriptor", +"properties": { +"description": { +"description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, `\"Google Cloud SQL Database\"`.", +"type": "string" +}, +"labels": { +"description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels `\"database_id\"` and `\"zone\"`.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the monitored resource definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"name": { +"description": "Optional. The resource name of the monitored resource descriptor: `\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `\"monitoredResourceDescriptors/{type}\"`.", +"type": "string" +}, +"type": { +"description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitored resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).", +"type": "string" +} +}, +"type": "object" +}, +"Monitoring": { +"description": "Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: \"Library Branch\" description: \"A branch of a library.\" launch_stage: GA labels: - key: resource_container description: \"The Cloud container (ie. project id) for the Branch.\" - key: location description: \"The location of the library branch.\" - key: branch_id description: \"The id of the branch.\" metrics: - name: library.googleapis.com/book/returned_count display_name: \"Books Returned\" description: \"The count of books that have been returned.\" launch_stage: GA metric_kind: DELTA value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" - name: library.googleapis.com/book/num_overdue display_name: \"Books Overdue\" description: \"The current number of overdue books.\" launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue", +"id": "Monitoring", +"properties": { +"consumerDestinations": { +"description": "Monitoring configurations for sending metrics to the consumer project. There can be multiple consumer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.", +"items": { +"$ref": "MonitoringDestination" +}, +"type": "array" +}, +"producerDestinations": { +"description": "Monitoring configurations for sending metrics to the producer project. There can be multiple producer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.", +"items": { +"$ref": "MonitoringDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"MonitoringDestination": { +"description": "Configuration of a specific monitoring destination (the producer project or the consumer project).", +"id": "MonitoringDestination", +"properties": { +"metrics": { +"description": "Types of the metrics to report to this monitoring destination. Each type must be defined in Service.metrics section.", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"NodeSettings": { +"description": "Settings for Node client libraries.", +"id": "NodeSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"OAuthRequirements": { +"description": "OAuth scopes are a way to define data and permissions on data. For example, there are scopes defined for \"Read-only access to Google Calendar\" and \"Access to Cloud Platform\". Users can consent to a scope for an application, giving it permission to access that data on their behalf. OAuth scope specifications should be fairly coarse grained; a user will need to see and understand the text description of what your scope means. In most cases: use one or at most two OAuth scopes for an entire family of products. If your product has multiple APIs, you should probably be sharing the OAuth scope across all of those APIs. When you need finer grained OAuth consent screens: talk with your product management about how developers will use them in practice. Please note that even though each of the canonical scopes is enough for a request to be accepted and passed to the backend, a request can still fail due to the backend requiring additional scopes or permissions.", +"id": "OAuthRequirements", +"properties": { +"canonicalScopes": { +"description": "The list of publicly documented OAuth scopes that are allowed access. An OAuth token containing any of these scopes will be accepted. Example: canonical_scopes: https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/calendar.read", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"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": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +}, +"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" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"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" +} +}, +"type": "object" +}, +"Option": { +"description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", +"id": "Option", +"properties": { +"name": { +"description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `\"map_entry\"`. For custom options, it should be the fully-qualified name. For example, `\"google.api.http\"`.", +"type": "string" +}, +"value": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.", +"type": "object" +} +}, +"type": "object" +}, +"Page": { +"description": "Represents a documentation page. A page can contain subpages to represent nested documentation set structure.", +"id": "Page", +"properties": { +"content": { +"description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", +"type": "string" +}, +"name": { +"description": "The name of the page. It will be used as an identity of the page to generate URI of the page, text of the link to this page in navigation, etc. The full page name (start from the root page name to this page concatenated with `.`) can be used as reference to the page in your documentation. For example: pages: - name: Tutorial content: (== include tutorial.md ==) subpages: - name: Java content: (== include tutorial_java.md ==) You can reference `Java` page using Markdown reference link syntax: `Java`.", +"type": "string" +}, +"subpages": { +"description": "Subpages of this page. The order of subpages specified here will be honored in the generated docset.", +"items": { +"$ref": "Page" +}, +"type": "array" +} +}, +"type": "object" +}, +"PhpSettings": { +"description": "Settings for Php client libraries.", +"id": "PhpSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"Publishing": { +"description": "This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config.", +"id": "Publishing", +"properties": { +"apiShortName": { +"description": "Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: \"speech\".", +"type": "string" +}, +"codeownerGithubTeams": { +"description": "GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API.", +"items": { +"type": "string" +}, +"type": "array" +}, +"docTagPrefix": { +"description": "A prefix used in sample code when demarking regions to be included in documentation.", +"type": "string" +}, +"documentationUri": { +"description": "Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview", +"type": "string" +}, +"githubLabel": { +"description": "GitHub label to apply to issues and pull requests opened for this API.", +"type": "string" +}, +"librarySettings": { +"description": "Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded.", +"items": { +"$ref": "ClientLibrarySettings" +}, +"type": "array" +}, +"methodSettings": { +"description": "A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern.", +"items": { +"$ref": "MethodSettings" +}, +"type": "array" +}, +"newIssueUri": { +"description": "Link to a *public* URI where users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103", +"type": "string" +}, +"organization": { +"description": "For whom the client library is being published.", +"enum": [ +"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED", +"CLOUD", +"ADS", +"PHOTOS", +"STREET_VIEW", +"SHOPPING", +"GEO", +"GENERATIVE_AI" +], +"enumDescriptions": [ +"Not useful.", +"Google Cloud Platform Org.", +"Ads (Advertising) Org.", +"Photos Org.", +"Street View Org.", +"Shopping Org.", +"Geo Org.", +"Generative AI - https://developers.generativeai.google" +], +"type": "string" +}, +"protoReferenceDocumentationUri": { +"description": "Optional link to proto reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rpc", +"type": "string" +}, +"restReferenceDocumentationUri": { +"description": "Optional link to REST reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rest", +"type": "string" +} +}, +"type": "object" +}, +"PythonSettings": { +"description": "Settings for Python client libraries.", +"id": "PythonSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"experimentalFeatures": { +"$ref": "ExperimentalFeatures", +"description": "Experimental features to be included during client library generation." +} +}, +"type": "object" +}, +"Quota": { +"description": "Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: \"1/min/{project}\" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: \"*\" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 ", +"id": "Quota", +"properties": { +"limits": { +"description": "List of QuotaLimit definitions for the service.", +"items": { +"$ref": "QuotaLimit" +}, +"type": "array" +}, +"metricRules": { +"description": "List of MetricRule definitions, each one mapping a selected method to one or more metrics.", +"items": { +"$ref": "MetricRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"QuotaLimit": { +"description": "`QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`.", +"id": "QuotaLimit", +"properties": { +"defaultLimit": { +"description": "Default number of tokens that can be consumed during the specified duration. This is the number of tokens assigned when a client application developer activates the service for his/her project. Specifying a value of 0 will block all requests. This can be used if you are provisioning quota to selected consumers and blocking others. Similarly, a value of -1 will indicate an unlimited quota. No other negative values are allowed. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"description": { +"description": "Optional. User-visible, extended description for this quota limit. Should be used only when more context is needed to understand this limit than provided by the limit's display name (see: `display_name`).", +"type": "string" +}, +"displayName": { +"description": "User-visible display name for this limit. Optional. If not set, the UI will provide a default display name based on the quota configuration. This field can be used to override the default display name generated from the configuration.", +"type": "string" +}, +"duration": { +"description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\". Used by group-based quotas only.", +"type": "string" +}, +"freeTier": { +"description": "Free tier value displayed in the Developers Console for this limit. The free tier is the number of tokens that will be subtracted from the billed amount when billing is enabled. This field can only be set on a limit with duration \"1d\", in a billable group; it is invalid on any other limit. If this field is not set, it defaults to 0, indicating that there is no free tier for this service. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"maxLimit": { +"description": "Maximum number of tokens that can be consumed during the specified duration. Client application developers can override the default limit up to this maximum. If specified, this value cannot be set to a value less than the default limit. If not specified, it is set to the default limit. To allow clients to apply overrides with no upper bound, set this to -1, indicating unlimited maximum quota. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"metric": { +"description": "The name of the metric this quota limit applies to. The quota limits with the same metric will be checked together during runtime. The metric must be defined within the service config.", +"type": "string" +}, +"name": { +"description": "Name of the quota limit. The name must be provided, and it must be unique within the service. The name can only include alphanumeric characters as well as '-'. The maximum length of the limit name is 64 characters.", +"type": "string" +}, +"unit": { +"description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", +"type": "string" +}, +"values": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Tiered limit values. You must specify this as a key:value pair, with an integer value that is the maximum number of requests allowed for the specified unit. Currently only STANDARD is supported.", +"type": "object" +} +}, +"type": "object" +}, +"RubySettings": { +"description": "Settings for Ruby client libraries.", +"id": "RubySettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"SelectiveGapicGeneration": { +"description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", +"id": "SelectiveGapicGeneration", +"properties": { +"methods": { +"description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Service": { +"description": "`Service` is the root object of Google API service configuration (service config). It describes the basic information about a logical service, such as the service name and the user-facing title, and delegates other aspects to sub-sections. Each sub-section is either a proto message or a repeated proto message that configures a specific aspect, such as auth. For more information, see each proto message definition. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar visibility: rules: - selector: \"google.calendar.v3.*\" restriction: PREVIEW backend: rules: - selector: \"google.calendar.v3.*\" address: calendar.example.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth", +"id": "Service", +"properties": { +"apis": { +"description": "A list of API interfaces exported by this service. Only the `name` field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files.", +"items": { +"$ref": "Api" +}, +"type": "array" +}, +"authentication": { +"$ref": "Authentication", +"description": "Auth configuration." +}, +"backend": { +"$ref": "Backend", +"description": "API backend configuration." +}, +"billing": { +"$ref": "Billing", +"description": "Billing configuration." +}, +"configVersion": { +"description": "Obsolete. Do not use. This field has no semantic meaning. The service config compiler always sets this field to `3`.", +"format": "uint32", +"type": "integer" +}, +"context": { +"$ref": "Context", +"description": "Context configuration." +}, +"control": { +"$ref": "Control", +"description": "Configuration for the service control plane." +}, +"customError": { +"$ref": "CustomError", +"description": "Custom error configuration." +}, +"documentation": { +"$ref": "Documentation", +"description": "Additional API documentation." +}, +"endpoints": { +"description": "Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.", +"items": { +"$ref": "Endpoint" +}, +"type": "array" +}, +"enums": { +"description": "A list of all enum types included in this API service. Enums referenced directly or indirectly by the `apis` are automatically included. Enums which are not referenced but shall be included should be listed here by name by the configuration author. Example: enums: - name: google.someapi.v1.SomeEnum", +"items": { +"$ref": "Enum" +}, +"type": "array" +}, +"http": { +"$ref": "Http", +"description": "HTTP configuration." +}, +"id": { +"description": "A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If empty, the server may choose to generate one instead.", +"type": "string" +}, +"logging": { +"$ref": "Logging", +"description": "Logging configuration." +}, +"logs": { +"description": "Defines the logs used by this service.", +"items": { +"$ref": "LogDescriptor" +}, +"type": "array" +}, +"metrics": { +"description": "Defines the metrics used by this service.", +"items": { +"$ref": "MetricDescriptor" +}, +"type": "array" +}, +"monitoredResources": { +"description": "Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations.", +"items": { +"$ref": "MonitoredResourceDescriptor" +}, +"type": "array" +}, +"monitoring": { +"$ref": "Monitoring", +"description": "Monitoring configuration." +}, +"name": { +"description": "The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name.", +"type": "string" +}, +"producerProjectId": { +"description": "The Google project that owns this service.", +"type": "string" +}, +"publishing": { +"$ref": "Publishing", +"description": "Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers." +}, +"quota": { +"$ref": "Quota", +"description": "Quota configuration." +}, +"sourceInfo": { +"$ref": "SourceInfo", +"description": "Output only. The source information for this configuration if available." +}, +"systemParameters": { +"$ref": "SystemParameters", +"description": "System parameter configuration." +}, +"systemTypes": { +"description": "A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF.", +"items": { +"$ref": "Type" +}, +"type": "array" +}, +"title": { +"description": "The product title for this service, it is the name displayed in Google Cloud Console.", +"type": "string" +}, +"types": { +"description": "A list of all proto message types included in this API service. Types referenced directly or indirectly by the `apis` are automatically included. Messages which are not referenced but shall be included, such as types used by the `google.protobuf.Any` type, should be listed here by name by the configuration author. Example: types: - name: google.protobuf.Int32", +"items": { +"$ref": "Type" +}, +"type": "array" +}, +"usage": { +"$ref": "Usage", +"description": "Configuration controlling usage of this service." +} +}, +"type": "object" +}, +"SourceContext": { +"description": "`SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.", +"id": "SourceContext", +"properties": { +"fileName": { +"description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: `\"google/protobuf/source_context.proto\"`.", +"type": "string" +} +}, +"type": "object" +}, +"SourceInfo": { +"description": "Source information used to create a Service Config", +"id": "SourceInfo", +"properties": { +"sourceFiles": { +"description": "All files used during config generation.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"SystemParameter": { +"description": "Define a parameter's name and location. The parameter may be passed as either an HTTP header or a URL query parameter, and if both are passed the behavior is implementation-dependent.", +"id": "SystemParameter", +"properties": { +"httpHeader": { +"description": "Define the HTTP header name to use for the parameter. It is case insensitive.", +"type": "string" +}, +"name": { +"description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", +"type": "string" +}, +"urlQueryParameter": { +"description": "Define the URL query parameter name to use for the parameter. It is case sensitive.", +"type": "string" +} +}, +"type": "object" +}, +"SystemParameterRule": { +"description": "Define a system parameter rule mapping system parameter definitions to methods.", +"id": "SystemParameterRule", +"properties": { +"parameters": { +"description": "Define parameters. Multiple names may be defined for a parameter. For a given method call, only one of them should be used. If multiple names are used the behavior is implementation-dependent. If none of the specified names are present the behavior is parameter-dependent.", +"items": { +"$ref": "SystemParameter" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"SystemParameters": { +"description": "### System parameter configuration A system parameter is a special kind of parameter defined by the API system, not by an individual API. It is typically mapped to an HTTP header and/or a URL query parameter. This configuration specifies which methods change the names of the system parameters.", +"id": "SystemParameters", +"properties": { +"rules": { +"description": "Define system parameters. The parameters defined here will override the default parameters implemented by the system. If this field is missing from the service config, default system parameters will be used. Default system parameters and names is implementation-dependent. Example: define api key for all methods system_parameters rules: - selector: \"*\" parameters: - name: api_key url_query_parameter: api_key Example: define 2 api key names for a specific method. system_parameters rules: - selector: \"/ListShelves\" parameters: - name: api_key http_header: Api-Key1 - name: api_key http_header: Api-Key2 **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "SystemParameterRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"Type": { +"description": "A protocol buffer message type.", +"id": "Type", +"properties": { +"edition": { +"description": "The source edition string, only valid when syntax is SYNTAX_EDITIONS.", +"type": "string" +}, +"fields": { +"description": "The list of fields.", +"items": { +"$ref": "Field" +}, +"type": "array" +}, +"name": { +"description": "The fully qualified message name.", +"type": "string" +}, +"oneofs": { +"description": "The list of types appearing in `oneof` definitions in this type.", +"items": { +"type": "string" +}, +"type": "array" +}, +"options": { +"description": "The protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "The source context." +}, +"syntax": { +"description": "The source syntax.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"Usage": { +"description": "Configuration controlling usage of a service.", +"id": "Usage", +"properties": { +"producerNotificationChannel": { +"description": "The full resource name of a channel used for sending notifications to the service producer. Google Service Management currently only supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification channel. To use Google Cloud Pub/Sub as the channel, this must be the name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format documented in https://cloud.google.com/pubsub/docs/overview.", +"type": "string" +}, +"requirements": { +"description": "Requirements that must be satisfied before a consumer project can use the service. Each requirement is of the form /; for example 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a Terms of Service requirement must be included here. Google Cloud APIs must include \"serviceusage.googleapis.com/tos/cloud\". Other Google APIs should include \"serviceusage.googleapis.com/tos/universal\". Additional ToS can be included based on the business needs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rules": { +"description": "A list of usage rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "UsageRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"UsageRule": { +"description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", +"id": "UsageRule", +"properties": { +"allowUnregisteredCalls": { +"description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", +"type": "boolean" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details.", +"type": "string" +}, +"skipServiceControl": { +"description": "If true, the selected method should skip service control and the control plane features, such as quota and billing, will not be available. This flag is used by Google Cloud Endpoints to bypass checks for internal methods, such as service health check methods.", +"type": "boolean" +} +}, +"type": "object" +}, +"V1Beta1BatchCreateProducerOverridesResponse": { +"description": "Response message for BatchCreateProducerOverrides", +"id": "V1Beta1BatchCreateProducerOverridesResponse", +"properties": { +"overrides": { +"description": "The overrides that were created.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ConsumerQuotaLimit": { +"description": "Consumer quota settings for a quota limit.", +"id": "V1Beta1ConsumerQuotaLimit", +"properties": { +"isPrecise": { +"description": "Whether this limit is precise or imprecise.", +"type": "boolean" +}, +"metric": { +"description": "The name of the parent metric of this limit. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the quota limit. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.", +"type": "string" +}, +"quotaBuckets": { +"description": "Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).", +"items": { +"$ref": "V1Beta1QuotaBucket" +}, +"type": "array" +}, +"supportedLocations": { +"description": "List of all supported locations. This field is present only if the limit has a {region} or {zone} dimension.", +"items": { +"type": "string" +}, +"type": "array" +}, +"unit": { +"description": "The limit unit. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1ConsumerQuotaMetric": { +"description": "Consumer quota settings for a quota metric.", +"id": "V1Beta1ConsumerQuotaMetric", +"properties": { +"consumerQuotaLimits": { +"description": "The consumer quota for each quota limit defined on the metric.", +"items": { +"$ref": "V1Beta1ConsumerQuotaLimit" +}, +"type": "array" +}, +"descendantConsumerQuotaLimits": { +"description": "The quota limits targeting the descendant containers of the consumer in request. If the consumer in request is of type `organizations` or `folders`, the field will list per-project limits in the metric; if the consumer in request is of type `project`, the field will be empty. The `quota_buckets` field of each descendant consumer quota limit will not be populated.", +"items": { +"$ref": "V1Beta1ConsumerQuotaLimit" +}, +"type": "array" +}, +"displayName": { +"description": "The display name of the metric. An example name would be: \"CPUs\"", +"type": "string" +}, +"metric": { +"description": "The name of the metric. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the quota settings on this metric for this consumer. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.", +"type": "string" +}, +"unit": { +"description": "The units in which the metric value is reported.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1DisableConsumerResponse": { +"description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1DisableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1EnableConsumerResponse": { +"description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1EnableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1GenerateServiceIdentityResponse": { +"description": "Response message for the `GenerateServiceIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1GenerateServiceIdentityResponse", +"properties": { +"identity": { +"$ref": "V1Beta1ServiceIdentity", +"description": "ServiceIdentity that was created or retrieved." +} +}, +"type": "object" +}, +"V1Beta1ImportProducerOverridesRequest": { +"description": "Request message for ImportProducerOverrides", +"id": "V1Beta1ImportProducerOverridesRequest", +"properties": { +"force": { +"description": "Whether to force the creation of the quota overrides. Setting the force parameter to 'true' ignores all quota safety checks that would fail the request. QuotaSafetyCheck lists all such validations.", +"type": "boolean" +}, +"forceJustification": { +"description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"type": "string" +}, +"forceOnly": { +"description": "The list of quota safety checks to ignore before the override mutation. Unlike 'force' field that ignores all the quota safety checks, the 'force_only' field ignores only the specified checks; other checks are still enforced. The 'force' and 'force_only' fields cannot both be set.", +"items": { +"enum": [ +"QUOTA_SAFETY_CHECK_UNSPECIFIED", +"LIMIT_DECREASE_BELOW_USAGE", +"LIMIT_DECREASE_PERCENTAGE_TOO_HIGH" +], +"enumDescriptions": [ +"Unspecified quota safety check.", +"Validates that a quota mutation would not cause the consumer's effective limit to be lower than the consumer's quota usage.", +"Validates that a quota mutation would not cause the consumer's effective limit to decrease by more than 10 percent." +], +"type": "string" +}, +"type": "array" +}, +"inlineSource": { +"$ref": "V1Beta1OverrideInlineSource", +"description": "The import data is specified in the request message itself" +} +}, +"type": "object" +}, +"V1Beta1ImportProducerOverridesResponse": { +"description": "Response message for ImportProducerOverrides", +"id": "V1Beta1ImportProducerOverridesResponse", +"properties": { +"overrides": { +"description": "The overrides that were created from the imported data.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ImportProducerQuotaPoliciesRequest": { +"description": "Request message for ImportProducerQuotaPolicies", +"id": "V1Beta1ImportProducerQuotaPoliciesRequest", +"properties": { +"force": { +"description": "Whether quota policy can result in a decrease of effective limit. Don't allow any decreases if force is not specified. If force is specified, then don't allow any decreases below 120% of the 7d quota usage, or for cases where usage cannot be examined (custom dimensions/ per user/per resource), only allow a 10% decrease.", +"type": "boolean" +}, +"forceJustification": { +"description": "If force or force_skip_quota_usage_check option is set to true, force_justification is suggested to be set to log the reason in audit logs.", +"type": "string" +}, +"forceSkipQuotaUsageCheck": { +"description": "If set to true, skip the quota usage check. This field is only used when the effective limit can be decreased. If the force field is not set, this field will be ignored.", +"type": "boolean" +}, +"inlineSource": { +"$ref": "V1Beta1PolicyInlineSource", +"description": "The import data is specified in the request message itself" +}, +"validateOnly": { +"description": "If set to true, validate the request, but do not actually update.", +"type": "boolean" +} +}, +"type": "object" +}, +"V1Beta1ImportProducerQuotaPoliciesResponse": { +"description": "Response message for ImportProducerQuotaPolicies", +"id": "V1Beta1ImportProducerQuotaPoliciesResponse", +"properties": { +"policies": { +"description": "The policies that were created from the imported data.", +"items": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ListConsumerQuotaMetricsResponse": { +"description": "Response message for ListConsumerQuotaMetrics.", +"id": "V1Beta1ListConsumerQuotaMetricsResponse", +"properties": { +"metrics": { +"description": "Quota settings for the consumer, organized by quota metric.", +"items": { +"$ref": "V1Beta1ConsumerQuotaMetric" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1ListProducerOverridesResponse": { +"description": "Response message for ListProducerOverrides.", +"id": "V1Beta1ListProducerOverridesResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"type": "string" +}, +"overrides": { +"description": "Producer overrides on this limit.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ListProducerQuotaPoliciesResponse": { +"description": "Response message for ListProducerQuotaPolicies.", +"id": "V1Beta1ListProducerQuotaPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"type": "string" +}, +"producerQuotaPolicies": { +"description": "Producer policies on this limit.", +"items": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1OverrideInlineSource": { +"description": "Import data embedded in the request message", +"id": "V1Beta1OverrideInlineSource", +"properties": { +"overrides": { +"description": "The overrides to create. Each override must have a value for 'metric' and 'unit', to specify which metric and which limit the override should be applied to. The 'name' field of the override does not need to be set; it is ignored.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1PolicyInlineSource": { +"description": "Import data embedded in the request message", +"id": "V1Beta1PolicyInlineSource", +"properties": { +"policies": { +"description": "The policies to create. Each policy must have a value for 'metric' and 'unit', to specify which metric and which limit the policy should be applied to.", +"items": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ProducerQuotaPolicy": { +"description": "Quota policy created by service producer.", +"id": "V1Beta1ProducerQuotaPolicy", +"properties": { +"container": { +"description": "The cloud resource container at which the quota policy is created. The format is {container_type}/{container_number}", +"type": "string" +}, +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": " If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the policy is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map.", +"type": "object" +}, +"metric": { +"description": "The name of the metric to which this policy applies. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the producer policy. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", +"type": "string" +}, +"policyValue": { +"description": "The quota policy value. Can be any nonnegative integer, or -1 (unlimited quota).", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The limit unit of the limit to which this policy applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1QuotaBucket": { +"description": "A quota bucket is a quota provisioning unit for a specific set of dimensions.", +"id": "V1Beta1QuotaBucket", +"properties": { +"adminOverride": { +"$ref": "V1Beta1QuotaOverride", +"description": "Admin override on this quota bucket." +}, +"consumerOverride": { +"$ref": "V1Beta1QuotaOverride", +"description": "Consumer override on this quota bucket." +}, +"defaultLimit": { +"description": "The default limit of this quota bucket, as specified by the service configuration.", +"format": "int64", +"type": "string" +}, +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": "The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key \"region\" and value \"us-east-1\", then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.", +"type": "object" +}, +"effectiveLimit": { +"description": "The effective limit of this quota bucket. Equal to default_limit if there are no overrides.", +"format": "int64", +"type": "string" +}, +"producerOverride": { +"$ref": "V1Beta1QuotaOverride", +"description": "Producer override on this quota bucket." +}, +"producerQuotaPolicy": { +"$ref": "V1Beta1ProducerQuotaPolicy", +"description": "Producer policy inherited from the closet ancestor of the current consumer." +}, +"rolloutInfo": { +"$ref": "V1Beta1RolloutInfo", +"description": "Rollout information of this quota bucket. This field is present only if the effective limit will change due to the ongoing rollout of the service config." +} +}, +"type": "object" +}, +"V1Beta1QuotaOverride": { +"description": "A quota override", +"id": "V1Beta1QuotaOverride", +"properties": { +"adminOverrideAncestor": { +"description": "The resource name of the ancestor that requested the override. For example: \"organizations/12345\" or \"folders/67890\". Used by admin overrides only.", +"type": "string" +}, +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": " If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota overrides that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map.", +"type": "object" +}, +"metric": { +"description": "The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the producer override. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", +"type": "string" +}, +"overrideValue": { +"description": "The overriding quota limit value. Can be any nonnegative integer, or -1 (unlimited quota).", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1RefreshConsumerResponse": { +"description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1RefreshConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1RolloutInfo": { +"description": "[Output only] Rollout information of a quota.", +"id": "V1Beta1RolloutInfo", +"properties": { +"defaultLimitOngoingRollout": { +"description": "Whether there is an ongoing rollout for the default limit or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"V1Beta1ServiceIdentity": { +"description": "A service identity in the Identity and Access Management API.", +"id": "V1Beta1ServiceIdentity", +"properties": { +"email": { +"description": "The email address of the service identity.", +"type": "string" +}, +"name": { +"description": "P4 service identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default`", +"type": "string" +}, +"tag": { +"description": "The P4 service identity configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\".", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the service identity.", +"type": "string" +} +}, +"type": "object" +}, +"V1beta1AddVisibilityLabelsResponse": { +"description": "Response message for the `AddVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1AddVisibilityLabelsResponse", +"properties": { +"labels": { +"description": "The updated set of visibility labels for this consumer on this service.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1beta1DefaultIdentity": { +"description": "A default identity in the Identity and Access Management API.", +"id": "V1beta1DefaultIdentity", +"properties": { +"email": { +"description": "The email address of the default identity. Calling GenerateDefaultIdentity with a deleted or purged default identity should expect does_not_exist@invalid-project.iam.gserviceaccount.com placeholder email.", +"type": "string" +}, +"name": { +"description": "Default identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity`", +"type": "string" +}, +"tag": { +"description": "The Default Identity tag. If specified when creating the account, the tag must be present in activation_grants. If not specified when creating the account, the tag is set to the tag specified in activation_grants.", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the default identity.", +"type": "string" +} +}, +"type": "object" +}, +"V1beta1DisableConsumerResponse": { +"description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1DisableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1beta1EnableConsumerResponse": { +"description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1EnableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1beta1GenerateDefaultIdentityResponse": { +"description": "Response message for the `GenerateDefaultIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1GenerateDefaultIdentityResponse", +"properties": { +"attachStatus": { +"description": "Status of the role attachment. Under development (go/si-attach-role), currently always return ATTACH_STATUS_UNSPECIFIED)", +"enum": [ +"ATTACH_STATUS_UNSPECIFIED", +"ATTACHED", +"ATTACH_SKIPPED", +"PREVIOUSLY_ATTACHED", +"ATTACH_DENIED_BY_ORG_POLICY" +], +"enumDescriptions": [ +"Indicates that the AttachStatus was not set.", +"The default identity was attached to a role successfully in this request.", +"The request specified that no attempt should be made to attach the role.", +"Role was attached to the consumer project at some point in time. Tenant manager doesn't make assertion about the current state of the identity with respect to the consumer. Role attachment should happen only once after activation and cannot be reattached after customer removes it. (go/si-attach-role)", +"Role attachment was denied in this request by customer set org policy. (go/si-attach-role)" +], +"type": "string" +}, +"identity": { +"$ref": "V1beta1DefaultIdentity", +"description": "DefaultIdentity that was created or retrieved." +}, +"role": { +"description": "Role attached to consumer project. Empty if not attached in this request. (Under development, currently always return empty.)", +"type": "string" +} +}, +"type": "object" +}, +"V1beta1GenerateServiceAccountResponse": { +"description": "Response message for the `GenerateServiceAccount` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1GenerateServiceAccountResponse", +"properties": { +"account": { +"$ref": "V1beta1ServiceAccount", +"description": "ServiceAccount that was created or retrieved." +} +}, +"type": "object" +}, +"V1beta1RefreshConsumerResponse": { +"description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1RefreshConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1beta1RemoveVisibilityLabelsResponse": { +"description": "Response message for the `RemoveVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1beta1RemoveVisibilityLabelsResponse", +"properties": { +"labels": { +"description": "The updated set of visibility labels for this consumer on this service.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1beta1ServiceAccount": { +"description": "A service account in the Identity and Access Management API.", +"id": "V1beta1ServiceAccount", +"properties": { +"email": { +"description": "The email address of the service account.", +"type": "string" +}, +"iamAccountName": { +"deprecated": true, +"description": "Deprecated. See b/136209818.", +"type": "string" +}, +"name": { +"description": "P4 SA resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default`", +"type": "string" +}, +"tag": { +"description": "The P4 SA configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\".", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the service account.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Service Consumer Management API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicedirectory.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicedirectory.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..1f91a34f9a3c3d2e04c7aede8d8e7315cd8c203d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicedirectory.v1.json @@ -0,0 +1,1253 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://servicedirectory.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Service Directory", +"description": "Service Directory is a platform for discovering, publishing, and connecting services. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/service-directory", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "servicedirectory:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://servicedirectory.mtls.googleapis.com/", +"name": "servicedirectory", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"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" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"namespaces": { +"methods": { +"create": { +"description": "Creates a namespace, and returns the new namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"namespaceId": { +"description": "Required. The Resource ID must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the project and location the namespace will be created in.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/namespaces", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Namespace" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a namespace. This also deletes all services and endpoints in the namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", +"httpMethod": "DELETE", +"id": "servicedirectory.projects.locations.namespaces.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the namespace to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the namespace to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Namespace" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM Policy for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:getIamPolicy", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all namespaces.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to list results by. General `filter` string syntax: ` ()` * `` can be `name` or `labels.` for map field * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` means `HAS`, and is roughly the same as `=` * `` must be the same data type as field * `` can be `AND`, `OR`, `NOT` Examples of valid filters: * `labels.owner` returns namespaces that have a label with the key `owner`, this is the same as `labels:owner` * `labels.owner=sd` returns namespaces that have key/value `owner=sd` * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` returns namespaces that have name that is alphabetically later than the string, so \"namespace-e\" is returned but \"namespace-a\" is not * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have `owner` in label key but value is not `sd` AND have key/value `foo=bar` * `doesnotexist.foo=bar` returns an empty list. Note that namespace doesn't have a field called \"doesnotexist\". Since the filter does not match any namespaces, it returns no results For more information about filtering, see [API Filtering](https://aip.dev/160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order to list results by. General `order_by` string syntax: ` () (,)` * `` allows value: `name` * `` ascending or descending order by ``. If this is left blank, `asc` is used Note that an empty `order_by` string results in default order, which is order by `name` in ascending order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the project and location whose namespaces you'd like to list.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/namespaces", +"response": { +"$ref": "ListNamespacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", +"httpMethod": "PATCH", +"id": "servicedirectory.projects.locations.namespaces.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name for the namespace in the format `projects/*/locations/*/namespaces/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Namespace" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM Policy for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:setIamPolicy", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Tests IAM permissions for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:testIamPermissions", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"services": { +"methods": { +"create": { +"description": "Creates a service, and returns the new service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the namespace this service will belong to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +}, +"serviceId": { +"description": "Required. The Resource ID must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a service. This also deletes all endpoints associated with the service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "servicedirectory.projects.locations.namespaces.services.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the service to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the service to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM Policy for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:getIamPolicy", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.getIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all services belonging to a namespace.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to list results by. General `filter` string syntax: ` ()` * `` can be `name` or `annotations.` for map field * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` means `HAS`, and is roughly the same as `=` * `` must be the same data type as field * `` can be `AND`, `OR`, `NOT` Examples of valid filters: * `annotations.owner` returns services that have a annotation with the key `owner`, this is the same as `annotations:owner` * `annotations.protocol=gRPC` returns services that have key/value `protocol=gRPC` * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` returns services that have name that is alphabetically later than the string, so \"service-e\" is returned but \"service-a\" is not * `annotations.owner!=sd AND annotations.foo=bar` returns services that have `owner` in annotation key but value is not `sd` AND have key/value `foo=bar` * `doesnotexist.foo=bar` returns an empty list. Note that service doesn't have a field called \"doesnotexist\". Since the filter does not match any services, it returns no results For more information about filtering, see [API Filtering](https://aip.dev/160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order to list results by. General `order_by` string syntax: ` () (,)` * `` allows value: `name` * `` ascending or descending order by ``. If this is left blank, `asc` is used Note that an empty `order_by` string results in default order, which is order by `name` in ascending order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the namespace whose services you'd like to list.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "servicedirectory.projects.locations.namespaces.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name for the service in the format `projects/*/locations/*/namespaces/*/services/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resolve": { +"description": "Returns a service and its associated endpoints. Resolving a service is not considered an active developer method.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:resolve", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.resolve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the service to resolve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resolve", +"request": { +"$ref": "ResolveServiceRequest" +}, +"response": { +"$ref": "ResolveServiceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM Policy for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:setIamPolicy", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.setIamPolicy", +"parameterOrder": [ +"resource" +], +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Tests IAM permissions for a resource (namespace or service only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:testIamPermissions", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.testIamPermissions", +"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.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"endpoints": { +"methods": { +"create": { +"description": "Creates an endpoint, and returns the new endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints", +"httpMethod": "POST", +"id": "servicedirectory.projects.locations.namespaces.services.endpoints.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"endpointId": { +"description": "Required. The Resource ID must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the service that this endpoint provides.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/endpoints", +"request": { +"$ref": "Endpoint" +}, +"response": { +"$ref": "Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", +"httpMethod": "DELETE", +"id": "servicedirectory.projects.locations.namespaces.services.endpoints.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the endpoint to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.services.endpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the endpoint to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all endpoints.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints", +"httpMethod": "GET", +"id": "servicedirectory.projects.locations.namespaces.services.endpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to list results by. General `filter` string syntax: ` ()` * `` can be `name`, `address`, `port`, or `annotations.` for map field * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` means `HAS`, and is roughly the same as `=` * `` must be the same data type as field * `` can be `AND`, `OR`, `NOT` Examples of valid filters: * `annotations.owner` returns endpoints that have a annotation with the key `owner`, this is the same as `annotations:owner` * `annotations.protocol=gRPC` returns endpoints that have key/value `protocol=gRPC` * `address=192.108.1.105` returns endpoints that have this address * `port>8080` returns endpoints that have port number larger than 8080 * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` returns endpoints that have name that is alphabetically later than the string, so \"endpoint-e\" is returned but \"endpoint-a\" is not * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that have `owner` in annotation key but value is not `sd` AND have key/value `foo=bar` * `doesnotexist.foo=bar` returns an empty list. Note that endpoint doesn't have a field called \"doesnotexist\". Since the filter does not match any endpoints, it returns no results For more information about filtering, see [API Filtering](https://aip.dev/160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order to list results by. General `order_by` string syntax: ` () (,)` * `` allows values: `name`, `address`, `port` * `` ascending or descending order by ``. If this is left blank, `asc` is used Note that an empty `order_by` string results in default order, which is order by `name` in ascending order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the service whose endpoints you'd like to list.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/endpoints", +"response": { +"$ref": "ListEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", +"httpMethod": "PATCH", +"id": "servicedirectory.projects.locations.namespaces.services.endpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Endpoint" +}, +"response": { +"$ref": "Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://servicedirectory.googleapis.com/", +"schemas": { +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"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)." +}, +"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`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Endpoint": { +"description": "An individual endpoint that provides a service. The service must already exist to create an endpoint.", +"id": "Endpoint", +"properties": { +"address": { +"description": "Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like: * `8.8.8` * `8.8.8.8:53` * `test:bad:address` * `[::1]` * `[::1]:8080` Limited to 45 characters.", +"type": "string" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", +"type": "object" +}, +"name": { +"description": "Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.", +"type": "string" +}, +"network": { +"description": "Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, we also check to make sure that you have the servicedirectory.networks.attach permission on the project specified.", +"type": "string" +}, +"port": { +"description": "Optional. Service Directory rejects values outside of `[0, 65535]`.", +"format": "int32", +"type": "integer" +}, +"uid": { +"description": "Output only. The globally unique identifier of the endpoint in the UUID4 format.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"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() < 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.", +"id": "Expr", +"properties": { +"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" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"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" +}, +"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" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListEndpointsResponse": { +"description": "The response message for RegistrationService.ListEndpoints.", +"id": "ListEndpointsResponse", +"properties": { +"endpoints": { +"description": "The list of endpoints.", +"items": { +"$ref": "Endpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListNamespacesResponse": { +"description": "The response message for RegistrationService.ListNamespaces.", +"id": "ListNamespacesResponse", +"properties": { +"namespaces": { +"description": "The list of namespaces.", +"items": { +"$ref": "Namespace" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "The response message for RegistrationService.ListServices.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"services": { +"description": "The list of services.", +"items": { +"$ref": "Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Namespace": { +"description": "A container for services. Namespaces allow administrators to group services together and define permissions for a collection of services.", +"id": "Namespace", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters.", +"type": "object" +}, +"name": { +"description": "Immutable. The resource name for the namespace in the format `projects/*/locations/*/namespaces/*`.", +"type": "string" +}, +"uid": { +"description": "Output only. The globally unique identifier of the namespace in the UUID4 format.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"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 < 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 < 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", +"properties": { +"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`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"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.", +"format": "byte", +"type": "string" +}, +"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).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResolveServiceRequest": { +"description": "The request message for LookupService.ResolveService. Looks up a service by its name, returns the service and its endpoints.", +"id": "ResolveServiceRequest", +"properties": { +"endpointFilter": { +"description": "Optional. The filter applied to the endpoints of the resolved service. General `filter` string syntax: ` ()` * `` can be `name`, `address`, `port`, or `annotations.` for map field * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` means `HAS`, and is roughly the same as `=` * `` must be the same data type as field * `` can be `AND`, `OR`, `NOT` Examples of valid filters: * `annotations.owner` returns endpoints that have a annotation with the key `owner`, this is the same as `annotations:owner` * `annotations.protocol=gRPC` returns endpoints that have key/value `protocol=gRPC` * `address=192.108.1.105` returns endpoints that have this address * `port>8080` returns endpoints that have port number larger than 8080 * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` returns endpoints that have name that is alphabetically later than the string, so \"endpoint-e\" is returned but \"endpoint-a\" is not * `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` returns the endpoint that has an endpoint_id equal to `ep-1` * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that have `owner` in annotation key but value is not `sd` AND have key/value `foo=bar` * `doesnotexist.foo=bar` returns an empty list. Note that endpoint doesn't have a field called \"doesnotexist\". Since the filter does not match any endpoint, it returns no results For more information about filtering, see [API Filtering](https://aip.dev/160).", +"type": "string" +}, +"maxEndpoints": { +"description": "Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100. If a value less than one is specified, the Default is used. If a value greater than the Maximum is specified, the Maximum is used.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResolveServiceResponse": { +"description": "The response message for LookupService.ResolveService.", +"id": "ResolveServiceResponse", +"properties": { +"service": { +"$ref": "Service" +} +}, +"type": "object" +}, +"Service": { +"description": "An individual service. A service contains a name and optional metadata. A service must exist before endpoints can be added to it.", +"id": "Service", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", +"type": "object" +}, +"endpoints": { +"description": "Output only. Endpoints associated with this service. Returned on LookupService.ResolveService. Control plane clients should use RegistrationService.ListEndpoints.", +"items": { +"$ref": "Endpoint" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Immutable. The resource name for the service in the format `projects/*/locations/*/namespaces/*/services/*`.", +"type": "string" +}, +"uid": { +"description": "Output only. The globally unique identifier of the service in the UUID4 format.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "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." +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"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).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Service Directory API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json new file mode 100644 index 0000000000000000000000000000000000000000..1eb1ec05a8195e12fb3575d44cf08d6985b4063a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json @@ -0,0 +1,6699 @@ +{ +"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/sqlservice.admin": { +"description": "Manage your Google SQL Service instances" +} +} +} +}, +"basePath": "", +"baseUrl": "https://sqladmin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "SQL Admin", +"description": "API for Cloud SQL database instance management", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/cloud-sql/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "sqladmin:v1beta4", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://sqladmin.mtls.googleapis.com/", +"name": "sqladmin", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"backupRuns": { +"methods": { +"delete": { +"description": "Deletes the backup taken by a backup run.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}", +"httpMethod": "DELETE", +"id": "sql.backupRuns.delete", +"parameterOrder": [ +"project", +"instance", +"id" +], +"parameters": { +"id": { +"description": "The ID of the backup run to delete. To find a backup run ID, use the [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/backupRuns/list) method.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a backup run.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}", +"httpMethod": "GET", +"id": "sql.backupRuns.get", +"parameterOrder": [ +"project", +"instance", +"id" +], +"parameters": { +"id": { +"description": "The ID of this backup run.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}", +"response": { +"$ref": "BackupRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates a new backup run on demand.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", +"httpMethod": "POST", +"id": "sql.backupRuns.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", +"request": { +"$ref": "BackupRun" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", +"httpMethod": "GET", +"id": "sql.backupRuns.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID, or \"-\" for all instances. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Maximum number of backup runs per response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", +"response": { +"$ref": "BackupRunsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"connect": { +"methods": { +"generateEphemeralCert": { +"description": "Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}:generateEphemeralCert", +"httpMethod": "POST", +"id": "sql.connect.generateEphemeral", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}:generateEphemeralCert", +"request": { +"$ref": "GenerateEphemeralCertRequest" +}, +"response": { +"$ref": "GenerateEphemeralCertResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves connect settings about a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/connectSettings", +"httpMethod": "GET", +"id": "sql.connect.get", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/connectSettings", +"response": { +"$ref": "ConnectSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"databases": { +"methods": { +"delete": { +"description": "Deletes a database from a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "DELETE", +"id": "sql.databases.delete", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be deleted in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a database inside a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "GET", +"id": "sql.databases.get", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Inserts a resource containing information about a database inside a Cloud SQL instance. **Note:** You can't modify the default character set and collation.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases", +"httpMethod": "POST", +"id": "sql.databases.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists databases in the specified Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases", +"httpMethod": "GET", +"id": "sql.databases.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases", +"response": { +"$ref": "DatabasesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"patch": { +"description": "Partially updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "PATCH", +"id": "sql.databases.patch", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be updated in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates a resource containing information about a database inside a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "PUT", +"id": "sql.databases.update", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be updated in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"flags": { +"methods": { +"list": { +"description": "Lists all available database flags for Cloud SQL instances.", +"flatPath": "sql/v1beta4/flags", +"httpMethod": "GET", +"id": "sql.flags.list", +"parameterOrder": [], +"parameters": { +"databaseVersion": { +"description": "Database type and version you want to retrieve flags for. By default, this method returns flags for all database types and versions.", +"location": "query", +"type": "string" +} +}, +"path": "sql/v1beta4/flags", +"response": { +"$ref": "FlagsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"instances": { +"methods": { +"ListServerCertificates": { +"description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/listServerCertificates", +"httpMethod": "GET", +"id": "sql.instances.ListServerCertificates", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/listServerCertificates", +"response": { +"$ref": "InstancesListServerCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"RotateServerCertificate": { +"description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCertificate", +"httpMethod": "POST", +"id": "sql.instances.RotateServerCertificate", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCertificate", +"request": { +"$ref": "InstancesRotateServerCertificateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"acquireSsrsLease": { +"description": "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/acquireSsrsLease", +"httpMethod": "POST", +"id": "sql.instances.acquireSsrsLease", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id).", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. ID of the project that contains the instance (Example: project-id).", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/acquireSsrsLease", +"request": { +"$ref": "InstancesAcquireSsrsLeaseRequest" +}, +"response": { +"$ref": "SqlInstancesAcquireSsrsLeaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"addServerCa": { +"description": "Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCa", +"httpMethod": "POST", +"id": "sql.instances.addServerCa", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCa", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"addServerCertificate": { +"description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCertificate", +"httpMethod": "POST", +"id": "sql.instances.addServerCertificate", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCertificate", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"clone": { +"description": "Creates a Cloud SQL instance as a clone of the source instance. Using this operation might cause your instance to restart.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/clone", +"httpMethod": "POST", +"id": "sql.instances.clone", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the source as well as the clone Cloud SQL instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/clone", +"request": { +"$ref": "InstancesCloneRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"delete": { +"description": "Deletes a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}", +"httpMethod": "DELETE", +"id": "sql.instances.delete", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be deleted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"demote": { +"description": "Demotes an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/demote", +"httpMethod": "POST", +"id": "sql.instances.demote", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. The name of the Cloud SQL instance.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. The project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/demote", +"request": { +"$ref": "InstancesDemoteRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"demoteMaster": { +"description": "Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/demoteMaster", +"httpMethod": "POST", +"id": "sql.instances.demoteMaster", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/demoteMaster", +"request": { +"$ref": "InstancesDemoteMasterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"export": { +"description": "Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump or CSV file.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/export", +"httpMethod": "POST", +"id": "sql.instances.export", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "The Cloud SQL instance ID. This doesn't include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be exported.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/export", +"request": { +"$ref": "InstancesExportRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"failover": { +"description": "Initiates a manual failover of a high availability (HA) primary instance to a standby instance, which becomes the primary instance. Users are then rerouted to the new primary. For more information, see the [Overview of high availability](https://cloud.google.com/sql/docs/mysql/high-availability) page in the Cloud SQL documentation. If using Legacy HA (MySQL only), this causes the instance to failover to its failover replica instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/failover", +"httpMethod": "POST", +"id": "sql.instances.failover", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/failover", +"request": { +"$ref": "InstancesFailoverRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}", +"httpMethod": "GET", +"id": "sql.instances.get", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}", +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"import": { +"description": "Imports data into a Cloud SQL instance from a SQL dump or CSV file in Cloud Storage.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/import", +"httpMethod": "POST", +"id": "sql.instances.import", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/import", +"request": { +"$ref": "InstancesImportRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"insert": { +"description": "Creates a new Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances", +"httpMethod": "POST", +"id": "sql.instances.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID of the project to which the newly created Cloud SQL instances should belong.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists instances under a given project.", +"flatPath": "sql/v1beta4/projects/{project}/instances", +"httpMethod": "GET", +"id": "sql.instances.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. The expression is in the form of field:value. For example, 'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per their JSON representation, such as 'settings.userLabels.auto_start:true'. Multiple filter queries are space-separated. For example. 'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project for which to list Cloud SQL instances.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances", +"response": { +"$ref": "InstancesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"listServerCas": { +"description": "Lists all of the trusted Certificate Authorities (CAs) for the specified instance. There can be up to three CAs listed: the CA that was used to sign the certificate that is currently in use, a CA that has been added but not yet used to sign a certificate, and a CA used to sign a certificate that has previously rotated out.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/listServerCas", +"httpMethod": "GET", +"id": "sql.instances.listServerCas", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/listServerCas", +"response": { +"$ref": "InstancesListServerCasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"patch": { +"description": "Partially updates settings of a Cloud SQL instance by merging the request with the current configuration. This method supports patch semantics.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}", +"httpMethod": "PATCH", +"id": "sql.instances.patch", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"promoteReplica": { +"description": "Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/promoteReplica", +"httpMethod": "POST", +"id": "sql.instances.promoteReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"failover": { +"description": "Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/promoteReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"reencrypt": { +"description": "Reencrypt CMEK instance with latest key version.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/reencrypt", +"httpMethod": "POST", +"id": "sql.instances.reencrypt", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/reencrypt", +"request": { +"$ref": "InstancesReencryptRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"releaseSsrsLease": { +"description": "Release a lease for the setup of SQL Server Reporting Services (SSRS).", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/releaseSsrsLease", +"httpMethod": "POST", +"id": "sql.instances.releaseSsrsLease", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. The Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id).", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. The ID of the project that contains the instance (Example: project-id).", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/releaseSsrsLease", +"response": { +"$ref": "SqlInstancesReleaseSsrsLeaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"resetSslConfig": { +"description": "Deletes all client certificates and generates a new server SSL certificate for the instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/resetSslConfig", +"httpMethod": "POST", +"id": "sql.instances.resetSslConfig", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/resetSslConfig", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"restart": { +"description": "Restarts a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/restart", +"httpMethod": "POST", +"id": "sql.instances.restart", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be restarted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/restart", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"restoreBackup": { +"description": "Restores a backup of a Cloud SQL instance. Using this operation might cause your instance to restart.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/restoreBackup", +"httpMethod": "POST", +"id": "sql.instances.restoreBackup", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/restoreBackup", +"request": { +"$ref": "InstancesRestoreBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"rotateServerCa": { +"description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa", +"httpMethod": "POST", +"id": "sql.instances.rotateServerCa", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa", +"request": { +"$ref": "InstancesRotateServerCaRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"startReplica": { +"description": "Starts the replication in the read replica instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/startReplica", +"httpMethod": "POST", +"id": "sql.instances.startReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/startReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"stopReplica": { +"description": "Stops the replication in the read replica instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/stopReplica", +"httpMethod": "POST", +"id": "sql.instances.stopReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/stopReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"switchover": { +"description": "Switches over from the primary instance to the DR replica instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/switchover", +"httpMethod": "POST", +"id": "sql.instances.switchover", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"dbTimeout": { +"description": "Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", +"format": "google-duration", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/switchover", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"truncateLog": { +"description": "Truncate MySQL general and slow query log tables MySQL only.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/truncateLog", +"httpMethod": "POST", +"id": "sql.instances.truncateLog", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the Cloud SQL project.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/truncateLog", +"request": { +"$ref": "InstancesTruncateLogRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}", +"httpMethod": "PUT", +"id": "sql.instances.update", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Cancels an instance operation that has been performed on an instance.", +"flatPath": "sql/v1beta4/projects/{project}/operations/{operation}/cancel", +"httpMethod": "POST", +"id": "sql.operations.cancel", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Instance operation ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/operations/{operation}/cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves an instance operation that has been performed on an instance.", +"flatPath": "sql/v1beta4/projects/{project}/operations/{operation}", +"httpMethod": "GET", +"id": "sql.operations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Instance operation ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time.", +"flatPath": "sql/v1beta4/projects/{project}/operations", +"httpMethod": "GET", +"id": "sql.operations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of operations per response.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/operations", +"response": { +"$ref": "OperationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"projects": { +"resources": { +"instances": { +"methods": { +"getDiskShrinkConfig": { +"description": "Get Disk Shrink Config for a given instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/getDiskShrinkConfig", +"httpMethod": "GET", +"id": "sql.projects.instances.getDiskShrinkConfig", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/getDiskShrinkConfig", +"response": { +"$ref": "SqlInstancesGetDiskShrinkConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"getLatestRecoveryTime": { +"description": "Get Latest Recovery Time for a given instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", +"httpMethod": "GET", +"id": "sql.projects.instances.getLatestRecoveryTime", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", +"response": { +"$ref": "SqlInstancesGetLatestRecoveryTimeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"performDiskShrink": { +"description": "Perform Disk Shrink on primary instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/performDiskShrink", +"httpMethod": "POST", +"id": "sql.projects.instances.performDiskShrink", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/performDiskShrink", +"request": { +"$ref": "PerformDiskShrinkContext" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"rescheduleMaintenance": { +"description": "Reschedules the maintenance on the given instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rescheduleMaintenance", +"httpMethod": "POST", +"id": "sql.projects.instances.rescheduleMaintenance", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/rescheduleMaintenance", +"request": { +"$ref": "SqlInstancesRescheduleMaintenanceRequestBody" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"resetReplicaSize": { +"description": "Reset Replica Size to primary instance disk size.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/resetReplicaSize", +"httpMethod": "POST", +"id": "sql.projects.instances.resetReplicaSize", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/resetReplicaSize", +"request": { +"$ref": "SqlInstancesResetReplicaSizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"startExternalSync": { +"description": "Start External primary instance migration.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/startExternalSync", +"httpMethod": "POST", +"id": "sql.projects.instances.startExternalSync", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/startExternalSync", +"request": { +"$ref": "SqlInstancesStartExternalSyncRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"verifyExternalSyncSettings": { +"description": "Verify External primary instance external sync settings.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/verifyExternalSyncSettings", +"httpMethod": "POST", +"id": "sql.projects.instances.verifyExternalSyncSettings", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/verifyExternalSyncSettings", +"request": { +"$ref": "SqlInstancesVerifyExternalSyncSettingsRequest" +}, +"response": { +"$ref": "SqlInstancesVerifyExternalSyncSettingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +} +} +}, +"sslCerts": { +"methods": { +"createEphemeral": { +"description": "Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/createEphemeral", +"httpMethod": "POST", +"id": "sql.sslCerts.createEphemeral", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the Cloud SQL project.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/createEphemeral", +"request": { +"$ref": "SslCertsCreateEphemeralRequest" +}, +"response": { +"$ref": "SslCert" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"delete": { +"description": "Deletes the SSL certificate. For First Generation instances, the certificate remains valid until the instance is restarted.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"httpMethod": "DELETE", +"id": "sql.sslCerts.delete", +"parameterOrder": [ +"project", +"instance", +"sha1Fingerprint" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 FingerPrint.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"httpMethod": "GET", +"id": "sql.sslCerts.get", +"parameterOrder": [ +"project", +"instance", +"sha1Fingerprint" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 FingerPrint.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"response": { +"$ref": "SslCert" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts", +"httpMethod": "POST", +"id": "sql.sslCerts.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts", +"request": { +"$ref": "SslCertsInsertRequest" +}, +"response": { +"$ref": "SslCertsInsertResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all of the current SSL certificates for the instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts", +"httpMethod": "GET", +"id": "sql.sslCerts.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/sslCerts", +"response": { +"$ref": "SslCertsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"tiers": { +"methods": { +"list": { +"description": "Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", +"flatPath": "sql/v1beta4/projects/{project}/tiers", +"httpMethod": "GET", +"id": "sql.tiers.list", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID of the project for which to list tiers.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/tiers", +"response": { +"$ref": "TiersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"users": { +"methods": { +"delete": { +"description": "Deletes a user from a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"httpMethod": "DELETE", +"id": "sql.users.delete", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"host": { +"description": "Host of the user in the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Name of the user in the instance.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a user.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/users/{name}", +"httpMethod": "GET", +"id": "sql.users.get", +"parameterOrder": [ +"project", +"instance", +"name" +], +"parameters": { +"host": { +"description": "Host of a user of the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "User of the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/users/{name}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates a new user in a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"httpMethod": "POST", +"id": "sql.users.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists users in the specified Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"httpMethod": "GET", +"id": "sql.users.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"response": { +"$ref": "UsersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates an existing user in a Cloud SQL instance.", +"flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"httpMethod": "PUT", +"id": "sql.users.update", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"host": { +"description": "Optional. Host of the user in the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Name of the user in the instance.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "sql/v1beta4/projects/{project}/instances/{instance}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +} +}, +"revision": "20241210", +"rootUrl": "https://sqladmin.googleapis.com/", +"schemas": { +"AclEntry": { +"description": "An entry for an Access Control list.", +"id": "AclEntry", +"properties": { +"expirationTime": { +"description": "The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"kind": { +"description": "This is always `sql#aclEntry`.", +"type": "string" +}, +"name": { +"description": "Optional. A label to identify this entry.", +"type": "string" +}, +"value": { +"description": "The allowlisted value for the access control list.", +"type": "string" +} +}, +"type": "object" +}, +"AcquireSsrsLeaseContext": { +"description": "Acquire SSRS lease context.", +"id": "AcquireSsrsLeaseContext", +"properties": { +"duration": { +"description": "Lease duration needed for the SSRS setup.", +"format": "google-duration", +"type": "string" +}, +"reportDatabase": { +"description": "The report database to be used for the SSRS setup.", +"type": "string" +}, +"serviceLogin": { +"description": "The username to be used as the service login to connect to the report database for SSRS setup.", +"type": "string" +}, +"setupLogin": { +"description": "The username to be used as the setup login to connect to the database server for SSRS setup.", +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"threadsPerCore": { +"description": "The number of threads per physical core.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ApiWarning": { +"description": "An Admin API warning message.", +"id": "ApiWarning", +"properties": { +"code": { +"description": "Code to uniquely identify the warning type.", +"enum": [ +"SQL_API_WARNING_CODE_UNSPECIFIED", +"REGION_UNREACHABLE", +"MAX_RESULTS_EXCEEDS_LIMIT", +"COMPROMISED_CREDENTIALS", +"INTERNAL_STATE_FAILURE" +], +"enumDescriptions": [ +"An unknown or unset warning type from Cloud SQL API.", +"Warning when one or more regions are not reachable. The returned result set may be incomplete.", +"Warning when user provided maxResults parameter exceeds the limit. The returned result set may be incomplete.", +"Warning when user tries to create/update a user with credentials that have previously been compromised by a public data breach.", +"Warning when the operation succeeds but some non-critical workflow state failed." +], +"type": "string" +}, +"message": { +"description": "The warning message.", +"type": "string" +}, +"region": { +"description": "The region name for REGION_UNREACHABLE warning.", +"type": "string" +} +}, +"type": "object" +}, +"AvailableDatabaseVersion": { +"description": "An available database version. It can be a major or a minor version.", +"id": "AvailableDatabaseVersion", +"properties": { +"displayName": { +"description": "The database version's display name.", +"type": "string" +}, +"majorVersion": { +"description": "The version's major version name.", +"type": "string" +}, +"name": { +"description": "The database version name. For MySQL 8.0, this string provides the database major and minor version.", +"type": "string" +} +}, +"type": "object" +}, +"BackupConfiguration": { +"description": "Database instance backup configuration.", +"id": "BackupConfiguration", +"properties": { +"backupRetentionSettings": { +"$ref": "BackupRetentionSettings", +"description": "Backup retention settings." +}, +"binaryLogEnabled": { +"description": "(MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.", +"type": "boolean" +}, +"enabled": { +"description": "Whether this configuration is enabled.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#backupConfiguration`.", +"type": "string" +}, +"location": { +"description": "Location of the backup", +"type": "string" +}, +"pointInTimeRecoveryEnabled": { +"description": "Whether point in time recovery is enabled.", +"type": "boolean" +}, +"replicationLogArchivingEnabled": { +"description": "Reserved for future use.", +"type": "boolean" +}, +"startTime": { +"description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - `HH:MM`.", +"type": "string" +}, +"transactionLogRetentionDays": { +"description": "The number of days of transaction logs we retain for point in time restore, from 1-7.", +"format": "int32", +"type": "integer" +}, +"transactionalLogStorageState": { +"description": "Output only. This value contains the storage location of transactional logs for the database for point-in-time recovery.", +"enum": [ +"TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED", +"DISK", +"SWITCHING_TO_CLOUD_STORAGE", +"SWITCHED_TO_CLOUD_STORAGE", +"CLOUD_STORAGE" +], +"enumDescriptions": [ +"Unspecified.", +"The transaction logs used for PITR for the instance are stored on a data disk.", +"The transaction logs used for PITR for the instance are switching from being stored on a data disk to being stored in Cloud Storage. Only applicable to MySQL.", +"The transaction logs used for PITR for the instance are now stored in Cloud Storage. Previously, they were stored on a data disk. Only applicable to MySQL.", +"The transaction logs used for PITR for the instance are stored in Cloud Storage. Only applicable to MySQL and PostgreSQL." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupContext": { +"description": "Backup context.", +"id": "BackupContext", +"properties": { +"backupId": { +"description": "The identifier of the backup.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#backupContext`.", +"type": "string" +} +}, +"type": "object" +}, +"BackupReencryptionConfig": { +"description": "Backup Reencryption Config", +"id": "BackupReencryptionConfig", +"properties": { +"backupLimit": { +"description": "Backup re-encryption limit", +"format": "int32", +"type": "integer" +}, +"backupType": { +"description": "Type of backups users want to re-encrypt.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"AUTOMATED", +"ON_DEMAND" +], +"enumDescriptions": [ +"Unknown backup type, will be defaulted to AUTOMATIC backup type", +"Reencrypt automatic backups", +"Reencrypt on-demand backups" +], +"type": "string" +} +}, +"type": "object" +}, +"BackupRetentionSettings": { +"description": "We currently only support backup retention by specifying the number of backups we will retain.", +"id": "BackupRetentionSettings", +"properties": { +"retainedBackups": { +"description": "Depending on the value of retention_unit, this is used to determine if a backup needs to be deleted. If retention_unit is 'COUNT', we will retain this many backups.", +"format": "int32", +"type": "integer" +}, +"retentionUnit": { +"description": "The unit that 'retained_backups' represents.", +"enum": [ +"RETENTION_UNIT_UNSPECIFIED", +"COUNT" +], +"enumDescriptions": [ +"Backup retention unit is unspecified, will be treated as COUNT.", +"Retention will be by count, eg. \"retain the most recent 7 backups\"." +], +"type": "string" +} +}, +"type": "object" +}, +"BackupRun": { +"description": "A BackupRun resource.", +"id": "BackupRun", +"properties": { +"backupKind": { +"description": "Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.", +"enum": [ +"SQL_BACKUP_KIND_UNSPECIFIED", +"SNAPSHOT", +"PHYSICAL" +], +"enumDescriptions": [ +"This is an unknown BackupKind.", +"Snapshot-based backups.", +"Physical backups." +], +"type": "string" +}, +"description": { +"description": "The description of this run, only applicable to on-demand backups.", +"type": "string" +}, +"diskEncryptionConfiguration": { +"$ref": "DiskEncryptionConfiguration", +"description": "Encryption configuration specific to a backup." +}, +"diskEncryptionStatus": { +"$ref": "DiskEncryptionStatus", +"description": "Encryption status specific to a backup." +}, +"endTime": { +"description": "The time the backup operation completed in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"enqueuedTime": { +"description": "The time the run was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"error": { +"$ref": "OperationError", +"description": "Information about why the backup operation failed. This is only present if the run has the FAILED status." +}, +"id": { +"description": "The identifier for this backup run. Unique only for a specific Cloud SQL instance.", +"format": "int64", +"type": "string" +}, +"instance": { +"description": "Name of the database instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#backupRun`.", +"type": "string" +}, +"location": { +"description": "Location of the backups.", +"type": "string" +}, +"maxChargeableBytes": { +"description": "Output only. The maximum chargeable bytes for the backup.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"startTime": { +"description": "The time the backup operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "The status of this run.", +"enum": [ +"SQL_BACKUP_RUN_STATUS_UNSPECIFIED", +"ENQUEUED", +"OVERDUE", +"RUNNING", +"FAILED", +"SUCCESSFUL", +"SKIPPED", +"DELETION_PENDING", +"DELETION_FAILED", +"DELETED" +], +"enumDescriptions": [ +"The status of the run is unknown.", +"The backup operation was enqueued.", +"The backup is overdue across a given backup window. Indicates a problem. Example: Long-running operation in progress during the whole window.", +"The backup is in progress.", +"The backup failed.", +"The backup was successful.", +"The backup was skipped (without problems) for a given backup window. Example: Instance was idle.", +"The backup is about to be deleted.", +"The backup deletion failed.", +"The backup has been deleted." +], +"type": "string" +}, +"timeZone": { +"description": "Backup time zone to prevent restores to an instance with a different time zone. Now relevant only for SQL Server.", +"type": "string" +}, +"type": { +"description": "The type of this run; can be either \"AUTOMATED\" or \"ON_DEMAND\" or \"FINAL\". This field defaults to \"ON_DEMAND\" and is ignored, when specified for insert requests.", +"enum": [ +"SQL_BACKUP_RUN_TYPE_UNSPECIFIED", +"AUTOMATED", +"ON_DEMAND" +], +"enumDescriptions": [ +"This is an unknown BackupRun type.", +"The backup schedule automatically triggers a backup.", +"The user manually triggers a backup." +], +"type": "string" +}, +"windowStartTime": { +"description": "The start time of the backup window during which this the backup was attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BackupRunsListResponse": { +"description": "Backup run list results.", +"id": "BackupRunsListResponse", +"properties": { +"items": { +"description": "A list of backup runs in reverse chronological order of the enqueued time.", +"items": { +"$ref": "BackupRun" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#backupRunsList`.", +"type": "string" +}, +"nextPageToken": { +"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.", +"type": "string" +} +}, +"type": "object" +}, +"BinLogCoordinates": { +"description": "Binary log coordinates.", +"id": "BinLogCoordinates", +"properties": { +"binLogFileName": { +"description": "Name of the binary log file for a Cloud SQL instance.", +"type": "string" +}, +"binLogPosition": { +"description": "Position (offset) within the binary log file.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#binLogCoordinates`.", +"type": "string" +} +}, +"type": "object" +}, +"CloneContext": { +"description": "Database instance clone context.", +"id": "CloneContext", +"properties": { +"allocatedIpRange": { +"description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the cloned instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use.", +"type": "string" +}, +"binLogCoordinates": { +"$ref": "BinLogCoordinates", +"description": "Binary log coordinates, if specified, identify the position up to which the source instance is cloned. If not specified, the source instance is cloned up to the most recent binary log coordinates." +}, +"databaseNames": { +"description": "(SQL Server only) Clone only the specified databases from the source instance. Clone all databases if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destinationInstanceName": { +"description": "Name of the Cloud SQL instance to be created as a clone.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#cloneContext`.", +"type": "string" +}, +"pitrTimestampMs": { +"description": "Reserved for future use.", +"format": "int64", +"type": "string" +}, +"pointInTime": { +"description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", +"format": "google-datetime", +"type": "string" +}, +"preferredSecondaryZone": { +"description": "Optional. Copy clone and point-in-time recovery clone of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field.", +"type": "string" +}, +"preferredZone": { +"description": "Optional. Copy clone and point-in-time recovery clone of an instance to the specified zone. If no zone is specified, clone to the same primary zone as the source instance.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectSettings": { +"description": "Connect settings retrieval response.", +"id": "ConnectSettings", +"properties": { +"backendType": { +"description": "`SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type.", +"enum": [ +"SQL_BACKEND_TYPE_UNSPECIFIED", +"FIRST_GEN", +"SECOND_GEN", +"EXTERNAL" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"This is an unknown backend type for instance.", +"V1 speckle instance.", +"V2 speckle instance.", +"On premises instance." +], +"type": "string" +}, +"customSubjectAlternativeNames": { +"description": "Custom subject alternative names for the server certificate.", +"items": { +"type": "string" +}, +"type": "array" +}, +"databaseVersion": { +"description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.", +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +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 +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"dnsName": { +"description": "The dns name of the instance.", +"type": "string" +}, +"ipAddresses": { +"description": "The assigned IP addresses for the instance.", +"items": { +"$ref": "IpMapping" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#connectSettings`.", +"type": "string" +}, +"pscEnabled": { +"description": "Whether PSC connectivity is enabled for this instance.", +"type": "boolean" +}, +"region": { +"description": "The cloud region for the instance. e.g. `us-central1`, `europe-west1`. The region cannot be changed after instance creation.", +"type": "string" +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "SSL configuration." +}, +"serverCaMode": { +"description": "Specify what type of CA is used for the server certificate.", +"enum": [ +"CA_MODE_UNSPECIFIED", +"GOOGLE_MANAGED_INTERNAL_CA", +"GOOGLE_MANAGED_CAS_CA" +], +"enumDescriptions": [ +"CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", +"Google-managed self-signed internal CA.", +"Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." +], +"type": "string" +} +}, +"type": "object" +}, +"DataCacheConfig": { +"description": "Data cache configurations.", +"id": "DataCacheConfig", +"properties": { +"dataCacheEnabled": { +"description": "Whether data cache is enabled for the instance.", +"type": "boolean" +} +}, +"type": "object" +}, +"Database": { +"description": "Represents a SQL database on the Cloud SQL instance.", +"id": "Database", +"properties": { +"charset": { +"description": "The Cloud SQL charset value.", +"type": "string" +}, +"collation": { +"description": "The Cloud SQL collation value.", +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API.", +"type": "string" +}, +"instance": { +"description": "The name of the Cloud SQL instance. This does not include the project ID.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#database`.", +"type": "string" +}, +"name": { +"description": "The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.", +"type": "string" +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"sqlserverDatabaseDetails": { +"$ref": "SqlServerDatabaseDetails" +} +}, +"type": "object" +}, +"DatabaseFlags": { +"description": "Database flags for Cloud SQL instances.", +"id": "DatabaseFlags", +"properties": { +"name": { +"description": "The name of the flag. These flags are passed at instance startup, so include both server options and system variables. Flags are specified with underscores, not hyphens. For more information, see [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.", +"type": "string" +}, +"value": { +"description": "The value of the flag. Boolean flags are set to `on` for true and `off` for false. This field must be omitted if the flag doesn't take a value.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseInstance": { +"description": "A Cloud SQL instance resource.", +"id": "DatabaseInstance", +"properties": { +"availableMaintenanceVersions": { +"description": "Output only. List all maintenance versions applicable on the instance", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"backendType": { +"description": "The backend type. `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type.", +"enum": [ +"SQL_BACKEND_TYPE_UNSPECIFIED", +"FIRST_GEN", +"SECOND_GEN", +"EXTERNAL" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"This is an unknown backend type for instance.", +"V1 speckle instance.", +"V2 speckle instance.", +"On premises instance." +], +"type": "string" +}, +"connectionName": { +"description": "Connection name of the Cloud SQL instance used in connection strings.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currentDiskSize": { +"deprecated": true, +"description": "The current disk usage of the instance in bytes. This property has been deprecated. Use the \"cloudsql.googleapis.com/database/disk/bytes_used\" metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.", +"format": "int64", +"type": "string" +}, +"databaseInstalledVersion": { +"description": "Output only. Stores the current database version running on the instance including minor version such as `MYSQL_8_0_18`.", +"readOnly": true, +"type": "string" +}, +"databaseVersion": { +"description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation.", +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +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 +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"diskEncryptionConfiguration": { +"$ref": "DiskEncryptionConfiguration", +"description": "Disk encryption configuration specific to an instance." +}, +"diskEncryptionStatus": { +"$ref": "DiskEncryptionStatus", +"description": "Disk encryption status specific to an instance." +}, +"dnsName": { +"description": "Output only. The dns name of the instance.", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API. Use the `settings.settingsVersion` field instead.", +"type": "string" +}, +"failoverReplica": { +"description": "The name and status of the failover replica.", +"properties": { +"available": { +"description": "The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.", +"type": "boolean" +}, +"name": { +"description": "The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn't include the project ID.", +"type": "string" +} +}, +"type": "object" +}, +"gceZone": { +"description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.", +"type": "string" +}, +"geminiConfig": { +"$ref": "GeminiInstanceConfig", +"description": "Gemini instance configuration." +}, +"instanceType": { +"description": "The instance type.", +"enum": [ +"SQL_INSTANCE_TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE", +"ON_PREMISES_INSTANCE", +"READ_REPLICA_INSTANCE" +], +"enumDescriptions": [ +"This is an unknown Cloud SQL instance type.", +"A regular Cloud SQL instance that is not replicating from a primary instance.", +"An instance running on the customer's premises that is not managed by Cloud SQL.", +"A Cloud SQL instance acting as a read-replica." +], +"type": "string" +}, +"ipAddresses": { +"description": "The assigned IP addresses for the instance.", +"items": { +"$ref": "IpMapping" +}, +"type": "array" +}, +"ipv6Address": { +"deprecated": true, +"description": "The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#instance`.", +"type": "string" +}, +"maintenanceVersion": { +"description": "The current software version on the instance.", +"type": "string" +}, +"masterInstanceName": { +"description": "The name of the instance which will act as primary in the replication setup.", +"type": "string" +}, +"maxDiskSize": { +"deprecated": true, +"description": "The maximum disk size of the instance in bytes.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Name of the Cloud SQL instance. This does not include the project ID.", +"type": "string" +}, +"onPremisesConfiguration": { +"$ref": "OnPremisesConfiguration", +"description": "Configuration specific to on-premises instances." +}, +"outOfDiskReport": { +"$ref": "SqlOutOfDiskReport", +"description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" +}, +"primaryDnsName": { +"deprecated": true, +"description": "Output only. DEPRECATED: please use write_endpoint instead.", +"readOnly": true, +"type": "string" +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", +"type": "string" +}, +"pscServiceAttachmentLink": { +"description": "Output only. The link to service attachment of PSC instance.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "The geographical region of the Cloud SQL instance. It can be one of the [regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-central1`. The default value is `us-central1`.", +"type": "string" +}, +"replicaConfiguration": { +"$ref": "ReplicaConfiguration", +"description": "Configuration specific to failover replicas and read replicas." +}, +"replicaNames": { +"description": "The replicas of the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replicationCluster": { +"$ref": "ReplicationCluster", +"description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL." +}, +"rootPassword": { +"description": "Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. This status indicates whether the instance satisfies PZI. The status is reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "This status indicates whether the instance satisfies PZS. The status is reserved for future use.", +"type": "boolean" +}, +"scheduledMaintenance": { +"$ref": "SqlScheduledMaintenance", +"description": "The start time of any upcoming scheduled maintenance for this instance." +}, +"secondaryGceZone": { +"description": "The Compute Engine zone that the failover instance is currently serving from for a regional instance. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary/failover zone.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "SSL configuration." +}, +"serviceAccountEmailAddress": { +"description": "The service account email address assigned to the instance. \\This property is read-only.", +"type": "string" +}, +"settings": { +"$ref": "Settings", +"description": "The user settings." +}, +"sqlNetworkArchitecture": { +"description": "The SQL network architecture for the instance.", +"enum": [ +"SQL_NETWORK_ARCHITECTURE_UNSPECIFIED", +"NEW_NETWORK_ARCHITECTURE", +"OLD_NETWORK_ARCHITECTURE" +], +"enumDescriptions": [ +"", +"The instance uses the new network architecture.", +"The instance uses the old network architecture." +], +"type": "string" +}, +"state": { +"description": "The current serving state of the Cloud SQL instance.", +"enum": [ +"SQL_INSTANCE_STATE_UNSPECIFIED", +"RUNNABLE", +"SUSPENDED", +"PENDING_DELETE", +"PENDING_CREATE", +"MAINTENANCE", +"FAILED", +"ONLINE_MAINTENANCE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"The state of the instance is unknown.", +"The instance is running, or has been stopped by owner.", +"The instance is not available, for example due to problems with billing.", +"The instance is being deleted.", +"The instance is being created.", +"The instance is down for maintenance.", +"The creation of the instance failed or a fatal error occurred during maintenance.", +"Deprecated" +], +"type": "string" +}, +"suspensionReason": { +"description": "If the instance state is SUSPENDED, the reason for the suspension.", +"items": { +"enum": [ +"SQL_SUSPENSION_REASON_UNSPECIFIED", +"BILLING_ISSUE", +"LEGAL_ISSUE", +"OPERATIONAL_ISSUE", +"KMS_KEY_ISSUE" +], +"enumDescriptions": [ +"This is an unknown suspension reason.", +"The instance is suspended due to billing issues (for example:, GCP account issue)", +"The instance is suspended due to illegal content (for example:, child pornography, copyrighted material, etc.).", +"The instance is causing operational issues (for example:, causing the database to crash).", +"The KMS key used by the instance is either revoked or denied access to" +], +"type": "string" +}, +"type": "array" +}, +"switchTransactionLogsToCloudStorageEnabled": { +"description": "Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage.", +"type": "boolean" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `\"\" : \"\"`. For example, a single resource can have the following tags: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview.", +"type": "object" +}, +"upgradableDatabaseVersions": { +"description": "Output only. All database versions that are available for upgrade.", +"items": { +"$ref": "AvailableDatabaseVersion" +}, +"readOnly": true, +"type": "array" +}, +"writeEndpoint": { +"description": "Output only. The dns name of the primary instance in a replication group.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DatabasesListResponse": { +"description": "Database list response.", +"id": "DatabasesListResponse", +"properties": { +"items": { +"description": "List of database resources in the instance.", +"items": { +"$ref": "Database" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#databasesList`.", +"type": "string" +} +}, +"type": "object" +}, +"DemoteContext": { +"description": "This context is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"id": "DemoteContext", +"properties": { +"kind": { +"description": "This is always `sql#demoteContext`.", +"type": "string" +}, +"sourceRepresentativeInstanceName": { +"description": "Required. The name of the instance which acts as an on-premises primary instance in the replication setup.", +"type": "string" +} +}, +"type": "object" +}, +"DemoteMasterConfiguration": { +"description": "Read-replica configuration for connecting to the on-premises primary instance.", +"id": "DemoteMasterConfiguration", +"properties": { +"kind": { +"description": "This is always `sql#demoteMasterConfiguration`.", +"type": "string" +}, +"mysqlReplicaConfiguration": { +"$ref": "DemoteMasterMySqlReplicaConfiguration", +"description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the data directory." +} +}, +"type": "object" +}, +"DemoteMasterContext": { +"description": "Database instance demote primary instance context.", +"id": "DemoteMasterContext", +"properties": { +"kind": { +"description": "This is always `sql#demoteMasterContext`.", +"type": "string" +}, +"masterInstanceName": { +"description": "The name of the instance which will act as on-premises primary instance in the replication setup.", +"type": "string" +}, +"replicaConfiguration": { +"$ref": "DemoteMasterConfiguration", +"description": "Configuration specific to read-replicas replicating from the on-premises primary instance." +}, +"skipReplicationSetup": { +"description": "Flag to skip replication setup on the instance.", +"type": "boolean" +}, +"verifyGtidConsistency": { +"description": "Verify the GTID consistency for demote operation. Default value: `True`. Setting this flag to `false` enables you to bypass the GTID consistency check between on-premises primary instance and Cloud SQL instance during the demotion operation but also exposes you to the risk of future replication failures. Change the value only if you know the reason for the GTID divergence and are confident that doing so will not cause any replication issues.", +"type": "boolean" +} +}, +"type": "object" +}, +"DemoteMasterMySqlReplicaConfiguration": { +"description": "Read-replica configuration specific to MySQL databases.", +"id": "DemoteMasterMySqlReplicaConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. The format of the replica's private key can be either PKCS #1 or PKCS #8.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#demoteMasterMysqlReplicaConfiguration`.", +"type": "string" +}, +"password": { +"description": "The password for the replication connection.", +"type": "string" +}, +"username": { +"description": "The username for the replication connection.", +"type": "string" +} +}, +"type": "object" +}, +"DenyMaintenancePeriod": { +"description": "Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.", +"id": "DenyMaintenancePeriod", +"properties": { +"endDate": { +"description": "\"deny maintenance period\" end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", +"type": "string" +}, +"startDate": { +"description": "\"deny maintenance period\" start date. If the year of the start date is empty, the year of the end date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", +"type": "string" +}, +"time": { +"description": "Time in UTC when the \"deny maintenance period\" starts on start_date and ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00", +"type": "string" +} +}, +"type": "object" +}, +"DiskEncryptionConfiguration": { +"description": "Disk encryption configuration for an instance.", +"id": "DiskEncryptionConfiguration", +"properties": { +"kind": { +"description": "This is always `sql#diskEncryptionConfiguration`.", +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of KMS key for disk encryption", +"type": "string" +} +}, +"type": "object" +}, +"DiskEncryptionStatus": { +"description": "Disk encryption status for an instance.", +"id": "DiskEncryptionStatus", +"properties": { +"kind": { +"description": "This is always `sql#diskEncryptionStatus`.", +"type": "string" +}, +"kmsKeyVersionName": { +"description": "KMS key version used to encrypt the Cloud SQL instance resource", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ExportContext": { +"description": "Database instance export context.", +"id": "ExportContext", +"properties": { +"bakExportOptions": { +"description": "Options for exporting BAK files (SQL Server-only)", +"properties": { +"bakType": { +"description": "Type of this bak file will be export, FULL or DIFF, SQL Server only", +"enum": [ +"BAK_TYPE_UNSPECIFIED", +"FULL", +"DIFF", +"TLOG" +], +"enumDescriptions": [ +"Default type.", +"Full backup.", +"Differential backup.", +"SQL Server Transaction Log" +], +"type": "string" +}, +"copyOnly": { +"deprecated": true, +"description": "Deprecated: copy_only is deprecated. Use differential_base instead", +"type": "boolean" +}, +"differentialBase": { +"description": "Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base", +"type": "boolean" +}, +"exportLogEndTime": { +"description": "Optional. The end timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs until current time will be included. Only applied to Cloud SQL for SQL Server.", +"format": "google-datetime", +"type": "string" +}, +"exportLogStartTime": { +"description": "Optional. The begin timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs from the beginning of retention period will be included. Only applied to Cloud SQL for SQL Server.", +"format": "google-datetime", +"type": "string" +}, +"stripeCount": { +"description": "Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.", +"format": "int32", +"type": "integer" +}, +"striped": { +"description": "Whether or not the export should be striped.", +"type": "boolean" +} +}, +"type": "object" +}, +"csvExportOptions": { +"description": "Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.", +"properties": { +"escapeCharacter": { +"description": "Specifies the character that should appear before a data character that needs to be escaped.", +"type": "string" +}, +"fieldsTerminatedBy": { +"description": "Specifies the character that separates columns within each row (line) of the file.", +"type": "string" +}, +"linesTerminatedBy": { +"description": "This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.", +"type": "string" +}, +"quoteCharacter": { +"description": "Specifies the quoting character to be used when a data value is quoted.", +"type": "string" +}, +"selectQuery": { +"description": "The select query used to extract the data.", +"type": "string" +} +}, +"type": "object" +}, +"databases": { +"description": "Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` You must specify one database to be exported. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileType": { +"description": "The file type for the specified uri.", +"enum": [ +"SQL_FILE_TYPE_UNSPECIFIED", +"SQL", +"CSV", +"BAK" +], +"enumDescriptions": [ +"Unknown file type.", +"File containing SQL statements.", +"File in CSV format.", +"" +], +"type": "string" +}, +"kind": { +"description": "This is always `sql#exportContext`.", +"type": "string" +}, +"offload": { +"description": "Option for export offload.", +"type": "boolean" +}, +"sqlExportOptions": { +"description": "Options for exporting data as SQL statements.", +"properties": { +"mysqlExportOptions": { +"description": "Options for exporting from MySQL.", +"properties": { +"masterData": { +"description": "Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"parallel": { +"description": "Optional. Whether or not the export should be parallel.", +"type": "boolean" +}, +"postgresExportOptions": { +"description": "Options for exporting from a Cloud SQL for PostgreSQL instance.", +"properties": { +"clean": { +"description": "Optional. Use this option to include DROP SQL statements. These statements are used to delete database objects before running the import operation.", +"type": "boolean" +}, +"ifExists": { +"description": "Optional. Option to include an IF EXISTS SQL statement with each DROP statement produced by clean.", +"type": "boolean" +} +}, +"type": "object" +}, +"schemaOnly": { +"description": "Export only schemas.", +"type": "boolean" +}, +"tables": { +"description": "Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. For PostgreSQL instances, you can specify only one table.", +"items": { +"type": "string" +}, +"type": "array" +}, +"threads": { +"description": "Optional. The number of threads to use for parallel export.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"uri": { +"description": "The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.", +"type": "string" +} +}, +"type": "object" +}, +"ExternalSyncSelectedObject": { +"description": "The selected object that Cloud SQL migrates.", +"id": "ExternalSyncSelectedObject", +"properties": { +"database": { +"description": "The name of the database that Cloud SQL migrates.", +"type": "string" +} +}, +"type": "object" +}, +"FailoverContext": { +"description": "Database instance failover context.", +"id": "FailoverContext", +"properties": { +"kind": { +"description": "This is always `sql#failoverContext`.", +"type": "string" +}, +"settingsVersion": { +"description": "The current settings version of this instance. Request will be rejected if this version doesn't match the current settings version.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Flag": { +"description": "A flag resource.", +"id": "Flag", +"properties": { +"allowedIntValues": { +"description": "Use this field if only certain integers are accepted. Can be combined with min_value and max_value to add additional values.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"allowedStringValues": { +"description": "For `STRING` flags, a list of strings that the value can be set to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appliesTo": { +"description": "The database version this flag applies to. Can be MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. See [the complete list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", +"items": { +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +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 +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"type": "array" +}, +"inBeta": { +"description": "Whether or not the flag is considered in beta.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#flag`.", +"type": "string" +}, +"maxValue": { +"description": "For `INTEGER` flags, the maximum allowed value.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "For `INTEGER` flags, the minimum allowed value.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet`", +"type": "string" +}, +"requiresRestart": { +"description": "Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances.", +"type": "boolean" +}, +"type": { +"description": "The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags which do not take a value, such as `skip_grant_tables`.", +"enum": [ +"SQL_FLAG_TYPE_UNSPECIFIED", +"BOOLEAN", +"STRING", +"INTEGER", +"NONE", +"MYSQL_TIMEZONE_OFFSET", +"FLOAT", +"REPEATED_STRING" +], +"enumDescriptions": [ +"This is an unknown flag type.", +"Boolean type flag.", +"String type flag.", +"Integer type flag.", +"Flag type used for a server startup option.", +"Type introduced specially for MySQL TimeZone offset. Accept a string value with the format [-12:59, 13:00].", +"Float type flag.", +"Comma-separated list of the strings in a SqlFlagType enum." +], +"type": "string" +} +}, +"type": "object" +}, +"FlagsListResponse": { +"description": "Flags list response.", +"id": "FlagsListResponse", +"properties": { +"items": { +"description": "List of flags.", +"items": { +"$ref": "Flag" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#flagsList`.", +"type": "string" +} +}, +"type": "object" +}, +"GeminiInstanceConfig": { +"description": "Gemini instance configuration.", +"id": "GeminiInstanceConfig", +"properties": { +"activeQueryEnabled": { +"description": "Output only. Whether the active query is enabled.", +"readOnly": true, +"type": "boolean" +}, +"entitled": { +"description": "Output only. Whether Gemini is enabled.", +"readOnly": true, +"type": "boolean" +}, +"flagRecommenderEnabled": { +"description": "Output only. Whether the flag recommender is enabled.", +"readOnly": true, +"type": "boolean" +}, +"googleVacuumMgmtEnabled": { +"description": "Output only. Whether the vacuum management is enabled.", +"readOnly": true, +"type": "boolean" +}, +"indexAdvisorEnabled": { +"description": "Output only. Whether the index advisor is enabled.", +"readOnly": true, +"type": "boolean" +}, +"oomSessionCancelEnabled": { +"description": "Output only. Whether canceling the out-of-memory (OOM) session is enabled.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GenerateEphemeralCertRequest": { +"description": "Ephemeral certificate creation request.", +"id": "GenerateEphemeralCertRequest", +"properties": { +"access_token": { +"description": "Optional. Access token to include in the signed certificate.", +"type": "string" +}, +"public_key": { +"description": "PEM encoded public key to include in the signed certificate.", +"type": "string" +}, +"readTime": { +"description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", +"format": "google-datetime", +"type": "string" +}, +"validDuration": { +"description": "Optional. If set, it will contain the cert valid duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GenerateEphemeralCertResponse": { +"description": "Ephemeral certificate creation request.", +"id": "GenerateEphemeralCertResponse", +"properties": { +"ephemeralCert": { +"$ref": "SslCert", +"description": "Generated cert" +} +}, +"type": "object" +}, +"ImportContext": { +"description": "Database instance import context.", +"id": "ImportContext", +"properties": { +"bakImportOptions": { +"description": "Import parameters specific to SQL Server .BAK files", +"properties": { +"bakType": { +"description": "Type of the bak content, FULL or DIFF.", +"enum": [ +"BAK_TYPE_UNSPECIFIED", +"FULL", +"DIFF", +"TLOG" +], +"enumDescriptions": [ +"Default type.", +"Full backup.", +"Differential backup.", +"SQL Server Transaction Log" +], +"type": "string" +}, +"encryptionOptions": { +"properties": { +"certPath": { +"description": "Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +}, +"pvkPassword": { +"description": "Password that encrypts the private key", +"type": "string" +}, +"pvkPath": { +"description": "Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +} +}, +"type": "object" +}, +"noRecovery": { +"description": "Whether or not the backup importing will restore database with NORECOVERY option Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +}, +"recoveryOnly": { +"description": "Whether or not the backup importing request will just bring database online without downloading Bak content only one of \"no_recovery\" and \"recovery_only\" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +}, +"stopAt": { +"description": "Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.", +"format": "google-datetime", +"type": "string" +}, +"stopAtMark": { +"description": "Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.", +"type": "string" +}, +"striped": { +"description": "Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +} +}, +"type": "object" +}, +"csvImportOptions": { +"description": "Options for importing data as CSV.", +"properties": { +"columns": { +"description": "The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.", +"items": { +"type": "string" +}, +"type": "array" +}, +"escapeCharacter": { +"description": "Specifies the character that should appear before a data character that needs to be escaped.", +"type": "string" +}, +"fieldsTerminatedBy": { +"description": "Specifies the character that separates columns within each row (line) of the file.", +"type": "string" +}, +"linesTerminatedBy": { +"description": "This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.", +"type": "string" +}, +"quoteCharacter": { +"description": "Specifies the quoting character to be used when a data value is quoted.", +"type": "string" +}, +"table": { +"description": "The table to which CSV data is imported.", +"type": "string" +} +}, +"type": "object" +}, +"database": { +"description": "The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. If `fileType` is `CSV`, one database must be specified.", +"type": "string" +}, +"fileType": { +"description": "The file type for the specified uri. * `SQL`: The file contains SQL statements. * `CSV`: The file contains CSV data. * `BAK`: The file contains backup data for a SQL Server instance.", +"enum": [ +"SQL_FILE_TYPE_UNSPECIFIED", +"SQL", +"CSV", +"BAK" +], +"enumDescriptions": [ +"Unknown file type.", +"File containing SQL statements.", +"File in CSV format.", +"" +], +"type": "string" +}, +"importUser": { +"description": "The PostgreSQL user for this import operation. PostgreSQL instances only.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#importContext`.", +"type": "string" +}, +"sqlImportOptions": { +"description": "Optional. Options for importing data from SQL statements.", +"properties": { +"parallel": { +"description": "Optional. Whether or not the import should be parallel.", +"type": "boolean" +}, +"postgresImportOptions": { +"description": "Optional. Options for importing from a Cloud SQL for PostgreSQL instance.", +"properties": { +"clean": { +"description": "Optional. The --clean flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.", +"type": "boolean" +}, +"ifExists": { +"description": "Optional. The --if-exists flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.", +"type": "boolean" +} +}, +"type": "object" +}, +"threads": { +"description": "Optional. The number of threads to use for parallel import.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"uri": { +"description": "Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +} +}, +"type": "object" +}, +"InsightsConfig": { +"description": "Insights configuration. This specifies when Cloud SQL Insights feature is enabled and optional configuration.", +"id": "InsightsConfig", +"properties": { +"queryInsightsEnabled": { +"description": "Whether Query Insights feature is enabled.", +"type": "boolean" +}, +"queryPlansPerMinute": { +"description": "Number of query execution plans captured by Insights per minute for all queries combined. Default is 5.", +"format": "int32", +"type": "integer" +}, +"queryStringLength": { +"description": "Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-4500 bytes. Query length more than this field value will be truncated to this value. When unset, query length will be the default value. Changing query length will restart the database.", +"format": "int32", +"type": "integer" +}, +"recordApplicationTags": { +"description": "Whether Query Insights will record application tags from query when enabled.", +"type": "boolean" +}, +"recordClientAddress": { +"description": "Whether Query Insights will record client address when enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceReference": { +"description": "Reference to another Cloud SQL instance.", +"id": "InstanceReference", +"properties": { +"name": { +"description": "The name of the Cloud SQL instance being referenced. This does not include the project ID.", +"type": "string" +}, +"project": { +"description": "The project ID of the Cloud SQL instance being referenced. The default is the same project ID as the instance references it.", +"type": "string" +}, +"region": { +"description": "The region of the Cloud SQL instance being referenced.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesAcquireSsrsLeaseRequest": { +"description": "Request to acquire an SSRS lease for an instance.", +"id": "InstancesAcquireSsrsLeaseRequest", +"properties": { +"acquireSsrsLeaseContext": { +"$ref": "AcquireSsrsLeaseContext", +"description": "Contains details about the acquire SSRS lease operation." +} +}, +"type": "object" +}, +"InstancesCloneRequest": { +"description": "Database instance clone request.", +"id": "InstancesCloneRequest", +"properties": { +"cloneContext": { +"$ref": "CloneContext", +"description": "Contains details about the clone operation." +} +}, +"type": "object" +}, +"InstancesDemoteMasterRequest": { +"description": "Database demote primary instance request.", +"id": "InstancesDemoteMasterRequest", +"properties": { +"demoteMasterContext": { +"$ref": "DemoteMasterContext", +"description": "Contains details about the demoteMaster operation." +} +}, +"type": "object" +}, +"InstancesDemoteRequest": { +"description": "This request is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"id": "InstancesDemoteRequest", +"properties": { +"demoteContext": { +"$ref": "DemoteContext", +"description": "Required. This context is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server." +} +}, +"type": "object" +}, +"InstancesExportRequest": { +"description": "Database instance export request.", +"id": "InstancesExportRequest", +"properties": { +"exportContext": { +"$ref": "ExportContext", +"description": "Contains details about the export operation." +} +}, +"type": "object" +}, +"InstancesFailoverRequest": { +"description": "Instance failover request.", +"id": "InstancesFailoverRequest", +"properties": { +"failoverContext": { +"$ref": "FailoverContext", +"description": "Failover Context." +} +}, +"type": "object" +}, +"InstancesImportRequest": { +"description": "Database instance import request.", +"id": "InstancesImportRequest", +"properties": { +"importContext": { +"$ref": "ImportContext", +"description": "Contains details about the import operation." +} +}, +"type": "object" +}, +"InstancesListResponse": { +"description": "Database instances list response.", +"id": "InstancesListResponse", +"properties": { +"items": { +"description": "List of database instance resources.", +"items": { +"$ref": "DatabaseInstance" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesList`.", +"type": "string" +}, +"nextPageToken": { +"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.", +"type": "string" +}, +"warnings": { +"description": "List of warnings that occurred while handling the request.", +"items": { +"$ref": "ApiWarning" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesListServerCasResponse": { +"description": "Instances ListServerCas response.", +"id": "InstancesListServerCasResponse", +"properties": { +"activeVersion": { +"type": "string" +}, +"certs": { +"description": "List of server CA certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesListServerCas`.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesListServerCertificatesResponse": { +"description": "Instances ListServerCertificatess response.", +"id": "InstancesListServerCertificatesResponse", +"properties": { +"activeVersion": { +"description": "The `sha1_fingerprint` of the active certificate from `server_certs`.", +"type": "string" +}, +"caCerts": { +"description": "List of server CA certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesListServerCertificates`.", +"type": "string" +}, +"serverCerts": { +"description": "List of server certificates for the instance, signed by the corresponding CA from the `ca_certs` list.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesReencryptRequest": { +"description": "Database Instance reencrypt request.", +"id": "InstancesReencryptRequest", +"properties": { +"backupReencryptionConfig": { +"$ref": "BackupReencryptionConfig", +"description": "Configuration specific to backup re-encryption" +} +}, +"type": "object" +}, +"InstancesRestoreBackupRequest": { +"description": "Database instance restore backup request.", +"id": "InstancesRestoreBackupRequest", +"properties": { +"restoreBackupContext": { +"$ref": "RestoreBackupContext", +"description": "Parameters required to perform the restore backup operation." +} +}, +"type": "object" +}, +"InstancesRotateServerCaRequest": { +"description": "Rotate Server CA request.", +"id": "InstancesRotateServerCaRequest", +"properties": { +"rotateServerCaContext": { +"$ref": "RotateServerCaContext", +"description": "Contains details about the rotate server CA operation." +} +}, +"type": "object" +}, +"InstancesRotateServerCertificateRequest": { +"description": "Rotate Server Certificate request.", +"id": "InstancesRotateServerCertificateRequest", +"properties": { +"rotateServerCertificateContext": { +"$ref": "RotateServerCertificateContext", +"description": "Optional. Contains details about the rotate server CA operation." +} +}, +"type": "object" +}, +"InstancesTruncateLogRequest": { +"description": "Instance truncate log request.", +"id": "InstancesTruncateLogRequest", +"properties": { +"truncateLogContext": { +"$ref": "TruncateLogContext", +"description": "Contains details about the truncate log operation." +} +}, +"type": "object" +}, +"IpConfiguration": { +"description": "IP Management configuration.", +"id": "IpConfiguration", +"properties": { +"allocatedIpRange": { +"description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`", +"type": "string" +}, +"authorizedNetworks": { +"description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: `157.197.200.0/24`).", +"items": { +"$ref": "AclEntry" +}, +"type": "array" +}, +"customSubjectAlternativeNames": { +"description": "Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enablePrivatePathForGoogleCloudServices": { +"description": "Controls connectivity to private IP instances from Google services, such as BigQuery.", +"type": "boolean" +}, +"ipv4Enabled": { +"description": "Whether the instance is assigned a public IP address or not.", +"type": "boolean" +}, +"privateNetwork": { +"description": "The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.", +"type": "string" +}, +"pscConfig": { +"$ref": "PscConfig", +"description": "PSC settings for this instance." +}, +"requireSsl": { +"description": "Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. If set to true, then only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, then use the `ssl_mode` flag instead of the legacy `require_ssl` flag.", +"type": "boolean" +}, +"serverCaMode": { +"description": "Specify what type of CA is used for the server certificate.", +"enum": [ +"CA_MODE_UNSPECIFIED", +"GOOGLE_MANAGED_INTERNAL_CA", +"GOOGLE_MANAGED_CAS_CA", +"CUSTOMER_MANAGED_CAS_CA" +], +"enumDescriptions": [ +"CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", +"Google-managed self-signed internal CA.", +"Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS).", +"Customer-managed CA hosted on Google Cloud's Certificate Authority Service (CAS)." +], +"type": "string" +}, +"serverCaPool": { +"description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/", +"type": "string" +}, +"sslMode": { +"description": "Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections.", +"enum": [ +"SSL_MODE_UNSPECIFIED", +"ALLOW_UNENCRYPTED_AND_ENCRYPTED", +"ENCRYPTED_ONLY", +"TRUSTED_CLIENT_CERTIFICATE_REQUIRED" +], +"enumDescriptions": [ +"The SSL mode is unknown.", +"Allow non-SSL/non-TLS and SSL/TLS connections. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid a conflict between the values of the two flags.", +"Only allow connections encrypted with SSL/TLS. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid a conflict between the values of the two flags.", +"Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, the legacy `require_ssl` flag must be true or cleared to avoid the conflict between values of two flags. PostgreSQL clients or users that connect using IAM database authentication must use either the [Cloud SQL Auth Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or [Cloud SQL Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors) to enforce client identity verification. Only applicable to MySQL and PostgreSQL. Not applicable to SQL Server." +], +"type": "string" +} +}, +"type": "object" +}, +"IpMapping": { +"description": "Database instance IP mapping", +"id": "IpMapping", +"properties": { +"ipAddress": { +"description": "The IP address assigned.", +"type": "string" +}, +"timeToRetire": { +"description": "The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.", +"enum": [ +"SQL_IP_ADDRESS_TYPE_UNSPECIFIED", +"PRIMARY", +"OUTGOING", +"PRIVATE", +"MIGRATED_1ST_GEN" +], +"enumDescriptions": [ +"This is an unknown IP address type.", +"IP address the customer is supposed to connect to. Usually this is the load balancer's IP address", +"Source IP address of the connection a read replica establishes to its external primary instance. This IP address can be allowlisted by the customer in case it has a firewall that filters incoming connection to its on premises primary instance.", +"Private IP used when using private IPs and network peering.", +"V1 IP of a migrated instance. We want the user to decommission this IP as soon as the migration is complete. Note: V1 instances with V1 ip addresses will be counted as PRIMARY." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPreference": { +"description": "Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified.", +"id": "LocationPreference", +"properties": { +"followGaeApplication": { +"deprecated": true, +"description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#locationPreference`.", +"type": "string" +}, +"secondaryZone": { +"description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.", +"type": "string" +}, +"zone": { +"description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes.", +"id": "MaintenanceWindow", +"properties": { +"day": { +"description": "Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an integer, 1 to 7, where `1` equals Monday.", +"format": "int32", +"type": "integer" +}, +"hour": { +"description": "Hour of day - 0 to 23. Specify in the UTC time zone.", +"format": "int32", +"type": "integer" +}, +"kind": { +"description": "This is always `sql#maintenanceWindow`.", +"type": "string" +}, +"updateTrack": { +"description": "Maintenance timing settings: `canary`, `stable`, or `week5`. For more information, see [About maintenance on Cloud SQL instances](https://cloud.google.com/sql/docs/mysql/maintenance).", +"enum": [ +"SQL_UPDATE_TRACK_UNSPECIFIED", +"canary", +"stable", +"week5" +], +"enumDescriptions": [ +"This is an unknown maintenance timing preference.", +"For an instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 7 to 14 days after the notification is sent out. Also referred to as `Week 1` (Console) and `preview` (gcloud CLI).", +"For an instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 15 to 21 days after the notification is sent out. Also referred to as `Week 2` (Console) and `production` (gcloud CLI).", +"For instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 35 to 42 days after the notification is sent out." +], +"type": "string" +} +}, +"type": "object" +}, +"MySqlReplicaConfiguration": { +"description": "Read-replica configuration specific to MySQL databases.", +"id": "MySqlReplicaConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", +"type": "string" +}, +"connectRetryInterval": { +"description": "Seconds to wait between connect retries. MySQL's default is 60 seconds.", +"format": "int32", +"type": "integer" +}, +"dumpFilePath": { +"description": "Path to a SQL dump file in Google Cloud Storage from which the replica instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps have the binlog co-ordinates from which replication begins. This can be accomplished by setting --master-data to 1 when using mysqldump.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#mysqlReplicaConfiguration`.", +"type": "string" +}, +"masterHeartbeatPeriod": { +"description": "Interval in milliseconds between replication heartbeats.", +"format": "int64", +"type": "string" +}, +"password": { +"description": "The password for the replication connection.", +"type": "string" +}, +"sslCipher": { +"description": "A list of permissible ciphers to use for SSL encryption.", +"type": "string" +}, +"username": { +"description": "The username for the replication connection.", +"type": "string" +}, +"verifyServerCertificate": { +"description": "Whether or not to check the primary instance's Common Name value in the certificate that it sends during the SSL handshake.", +"type": "boolean" +} +}, +"type": "object" +}, +"MySqlSyncConfig": { +"description": "MySQL-specific external server sync settings.", +"id": "MySqlSyncConfig", +"properties": { +"initialSyncFlags": { +"description": "Flags to use for the initial dump.", +"items": { +"$ref": "SyncFlags" +}, +"type": "array" +} +}, +"type": "object" +}, +"OnPremisesConfiguration": { +"description": "On-premises instance configuration.", +"id": "OnPremisesConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", +"type": "string" +}, +"dumpFilePath": { +"description": "The dump file to create the Cloud SQL replica.", +"type": "string" +}, +"hostPort": { +"description": "The host and port of the on-premises instance in host:port format", +"type": "string" +}, +"kind": { +"description": "This is always `sql#onPremisesConfiguration`.", +"type": "string" +}, +"password": { +"description": "The password for connecting to on-premises instance.", +"type": "string" +}, +"selectedObjects": { +"description": "Optional. A list of objects that the user selects for replication from an external source instance.", +"items": { +"$ref": "SelectedObjects" +}, +"type": "array" +}, +"sourceInstance": { +"$ref": "InstanceReference", +"description": "The reference to Cloud SQL instance if the source is Cloud SQL." +}, +"sslOption": { +"description": "Optional. SslOption for replica connection to the on-premises source.", +"enum": [ +"SSL_OPTION_UNSPECIFIED", +"DISABLE", +"REQUIRE", +"VERIFY_CA" +], +"enumDescriptions": [ +"Unknown SSL option i.e. SSL option not specified by user.", +"SSL is disabled for replica connection to the on-premises source.", +"SSL is required for replica connection to the on-premises source.", +"Verify CA is required for replica connection to the on-premises source." +], +"type": "string" +}, +"username": { +"description": "The username for connecting to on-premises instance.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.", +"id": "Operation", +"properties": { +"acquireSsrsLeaseContext": { +"$ref": "AcquireSsrsLeaseContext", +"description": "The context for acquire SSRS lease operation, if applicable." +}, +"apiWarning": { +"$ref": "ApiWarning", +"description": "An Admin API warning message." +}, +"backupContext": { +"$ref": "BackupContext", +"description": "The context for backup operation, if applicable." +}, +"endTime": { +"description": "The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"error": { +"$ref": "OperationErrors", +"description": "If errors occurred during processing of this operation, this field will be populated." +}, +"exportContext": { +"$ref": "ExportContext", +"description": "The context for export operation, if applicable." +}, +"importContext": { +"$ref": "ImportContext", +"description": "The context for import operation, if applicable." +}, +"insertTime": { +"description": "The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"kind": { +"description": "This is always `sql#operation`.", +"type": "string" +}, +"name": { +"description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.", +"type": "string" +}, +"operationType": { +"description": "The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`", +"enum": [ +"SQL_OPERATION_TYPE_UNSPECIFIED", +"IMPORT", +"EXPORT", +"CREATE", +"UPDATE", +"DELETE", +"RESTART", +"BACKUP", +"SNAPSHOT", +"BACKUP_VOLUME", +"DELETE_VOLUME", +"RESTORE_VOLUME", +"INJECT_USER", +"CLONE", +"STOP_REPLICA", +"START_REPLICA", +"PROMOTE_REPLICA", +"CREATE_REPLICA", +"CREATE_USER", +"DELETE_USER", +"UPDATE_USER", +"CREATE_DATABASE", +"DELETE_DATABASE", +"UPDATE_DATABASE", +"FAILOVER", +"DELETE_BACKUP", +"RECREATE_REPLICA", +"TRUNCATE_LOG", +"DEMOTE_MASTER", +"MAINTENANCE", +"ENABLE_PRIVATE_IP", +"DEFER_MAINTENANCE", +"CREATE_CLONE", +"RESCHEDULE_MAINTENANCE", +"START_EXTERNAL_SYNC", +"LOG_CLEANUP", +"AUTO_RESTART", +"REENCRYPT", +"SWITCHOVER", +"ACQUIRE_SSRS_LEASE", +"RELEASE_SSRS_LEASE", +"RECONFIGURE_OLD_PRIMARY", +"CLUSTER_MAINTENANCE", +"SELF_SERVICE_MAINTENANCE", +"SWITCHOVER_TO_REPLICA", +"MAJOR_VERSION_UPGRADE", +"ADVANCED_BACKUP" +], +"enumDeprecated": [ +false, +false, +false, +false, +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, +true, +true, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Unknown operation type.", +"Imports data into a Cloud SQL instance.", +"Exports data from a Cloud SQL instance to a Cloud Storage bucket.", +"Creates a new Cloud SQL instance.", +"Updates the settings of a Cloud SQL instance.", +"Deletes a Cloud SQL instance.", +"Restarts the Cloud SQL instance.", +"", +"", +"Performs instance backup.", +"Deletes an instance backup.", +"Restores an instance backup.", +"Injects a privileged user in mysql for MOB instances.", +"Clones a Cloud SQL instance.", +"Stops replication on a Cloud SQL read replica instance.", +"Starts replication on a Cloud SQL read replica instance.", +"Promotes a Cloud SQL replica instance.", +"Creates a Cloud SQL replica instance.", +"Creates a new user in a Cloud SQL instance.", +"Deletes a user from a Cloud SQL instance.", +"Updates an existing user in a Cloud SQL instance.", +"Creates a database in the Cloud SQL instance.", +"Deletes a database in the Cloud SQL instance.", +"Updates a database in the Cloud SQL instance.", +"Performs failover of an HA-enabled Cloud SQL failover replica.", +"Deletes the backup taken by a backup run.", +"", +"Truncates a general or slow log table in MySQL.", +"Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server.", +"Indicates that the instance is currently in maintenance. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"This field is deprecated, and will be removed in future version of API.", +"", +"Creates clone instance.", +"Reschedule maintenance to another time.", +"Starts external sync of a Cloud SQL EM replica to an external primary instance.", +"Recovers logs from an instance's old data disk.", +"Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", +"Re-encrypts CMEK instances with latest key version.", +"Switches the roles of the primary and replica pair. The target instance should be the replica.", +"Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", +"Release a lease for the setup of SQL Server Reporting Services (SSRS).", +"Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", +"Indicates that the instance, its read replicas, and its cascading replicas are in maintenance. Maintenance typically gets initiated on groups of replicas first, followed by the primary instance. For each instance, maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"Indicates that the instance (and any of its replicas) are currently in maintenance. This is initiated as a self-service request by using SSM. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"Switches a primary instance to a replica. This operation runs as part of a switchover operation to the original primary instance.", +"Updates the major version of a Cloud SQL instance.", +"Creates a backup for an Advanced BackupTier Cloud SQL instance." +], +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"startTime": { +"description": "The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "The status of an operation.", +"enum": [ +"SQL_OPERATION_STATUS_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"The state of the operation is unknown.", +"The operation has been queued, but has not started yet.", +"The operation is running.", +"The operation completed." +], +"type": "string" +}, +"subOperationType": { +"$ref": "SqlSubOperationType", +"description": "Optional. The sub operation based on the operation type." +}, +"targetId": { +"type": "string" +}, +"targetLink": { +"type": "string" +}, +"targetProject": { +"description": "The project ID of the target instance related to this operation.", +"type": "string" +}, +"user": { +"description": "The email address of the user who initiated this operation.", +"type": "string" +} +}, +"type": "object" +}, +"OperationError": { +"description": "Database instance operation error.", +"id": "OperationError", +"properties": { +"code": { +"description": "Identifies the specific error that occurred.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#operationError`.", +"type": "string" +}, +"message": { +"description": "Additional information about the error encountered.", +"type": "string" +} +}, +"type": "object" +}, +"OperationErrors": { +"description": "Database instance operation errors list wrapper.", +"id": "OperationErrors", +"properties": { +"errors": { +"description": "The list of errors encountered while processing this operation.", +"items": { +"$ref": "OperationError" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#operationErrors`.", +"type": "string" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"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" +} +}, +"type": "object" +}, +"OperationsListResponse": { +"description": "Operations list response.", +"id": "OperationsListResponse", +"properties": { +"items": { +"description": "List of operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#operationsList`.", +"type": "string" +}, +"nextPageToken": { +"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.", +"type": "string" +} +}, +"type": "object" +}, +"PasswordStatus": { +"description": "Read-only password status.", +"id": "PasswordStatus", +"properties": { +"locked": { +"description": "If true, user does not have login privileges.", +"type": "boolean" +}, +"passwordExpirationTime": { +"description": "The expiration time of the current password.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"PasswordValidationPolicy": { +"description": "Database instance local user password validation policy", +"id": "PasswordValidationPolicy", +"properties": { +"complexity": { +"description": "The complexity of the password.", +"enum": [ +"COMPLEXITY_UNSPECIFIED", +"COMPLEXITY_DEFAULT" +], +"enumDescriptions": [ +"Complexity check is not specified.", +"A combination of lowercase, uppercase, numeric, and non-alphanumeric characters." +], +"type": "string" +}, +"disallowCompromisedCredentials": { +"deprecated": true, +"description": "This field is deprecated and will be removed in a future version of the API.", +"type": "boolean" +}, +"disallowUsernameSubstring": { +"description": "Disallow username as a part of the password.", +"type": "boolean" +}, +"enablePasswordPolicy": { +"description": "Whether the password policy is enabled or not.", +"type": "boolean" +}, +"minLength": { +"description": "Minimum number of characters allowed.", +"format": "int32", +"type": "integer" +}, +"passwordChangeInterval": { +"description": "Minimum interval after which the password can be changed. This flag is only supported for PostgreSQL.", +"format": "google-duration", +"type": "string" +}, +"reuseInterval": { +"description": "Number of previous passwords that cannot be reused.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PerformDiskShrinkContext": { +"description": "Perform disk shrink context.", +"id": "PerformDiskShrinkContext", +"properties": { +"targetSizeGb": { +"description": "The target disk shrink size in GigaBytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PscAutoConnectionConfig": { +"description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", +"id": "PscAutoConnectionConfig", +"properties": { +"consumerNetwork": { +"description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", +"type": "string" +}, +"consumerNetworkStatus": { +"description": "The connection policy status of the consumer network.", +"type": "string" +}, +"consumerProject": { +"description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", +"type": "string" +}, +"ipAddress": { +"description": "The IP address of the consumer endpoint.", +"type": "string" +}, +"status": { +"description": "The connection status of the consumer endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"PscConfig": { +"description": "PSC settings for a Cloud SQL instance.", +"id": "PscConfig", +"properties": { +"allowedConsumerProjects": { +"description": "Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", +"items": { +"type": "string" +}, +"type": "array" +}, +"pscAutoConnections": { +"description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", +"items": { +"$ref": "PscAutoConnectionConfig" +}, +"type": "array" +}, +"pscEnabled": { +"description": "Whether PSC connectivity is enabled for this instance.", +"type": "boolean" +} +}, +"type": "object" +}, +"ReplicaConfiguration": { +"description": "Read-replica configuration for connecting to the primary instance.", +"id": "ReplicaConfiguration", +"properties": { +"cascadableReplica": { +"description": "Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.", +"type": "boolean" +}, +"failoverTarget": { +"description": "Specifies if the replica is the failover target. If the field is set to `true` the replica will be designated as a failover replica. In case the primary instance fails, the replica instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#replicaConfiguration`.", +"type": "string" +}, +"mysqlReplicaConfiguration": { +"$ref": "MySqlReplicaConfiguration", +"description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the data directory." +} +}, +"type": "object" +}, +"ReplicationCluster": { +"description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure. Applicable to MySQL and PostgreSQL.", +"id": "ReplicationCluster", +"properties": { +"drReplica": { +"description": "Output only. Read-only field that indicates whether the replica is a DR replica. This field is not set if the instance is a primary instance.", +"readOnly": true, +"type": "boolean" +}, +"failoverDrReplicaName": { +"description": "Optional. If the instance is a primary instance, then this field identifies the disaster recovery (DR) replica. A DR replica is an optional configuration for Enterprise Plus edition instances. If the instance is a read replica, then the field is not set. Set this field to a replica name to designate a DR replica for a primary instance. Remove the replica name to remove the DR replica designation.", +"type": "string" +}, +"psaWriteEndpoint": { +"description": "Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Reschedule": { +"id": "Reschedule", +"properties": { +"rescheduleType": { +"description": "Required. The type of the reschedule.", +"enum": [ +"RESCHEDULE_TYPE_UNSPECIFIED", +"IMMEDIATE", +"NEXT_AVAILABLE_WINDOW", +"SPECIFIC_TIME" +], +"enumDescriptions": [ +"", +"Reschedules maintenance to happen now (within 5 minutes).", +"Reschedules maintenance to occur within one week from the originally scheduled day and time.", +"Reschedules maintenance to a specific time and day." +], +"type": "string" +}, +"scheduleTime": { +"description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RestoreBackupContext": { +"description": "Database instance restore from backup context. Backup context contains source instance id and project id.", +"id": "RestoreBackupContext", +"properties": { +"backupRunId": { +"description": "The ID of the backup run to restore from.", +"format": "int64", +"type": "string" +}, +"instanceId": { +"description": "The ID of the instance that the backup was taken from.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#restoreBackupContext`.", +"type": "string" +}, +"project": { +"description": "The full project ID of the source instance.", +"type": "string" +} +}, +"type": "object" +}, +"RotateServerCaContext": { +"description": "Instance rotate server CA context.", +"id": "RotateServerCaContext", +"properties": { +"kind": { +"description": "This is always `sql#rotateServerCaContext`.", +"type": "string" +}, +"nextVersion": { +"description": "The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server CA version.", +"type": "string" +} +}, +"type": "object" +}, +"RotateServerCertificateContext": { +"description": "Instance rotate server certificate context.", +"id": "RotateServerCertificateContext", +"properties": { +"kind": { +"description": "Optional. This is always `sql#rotateServerCertificateContext`.", +"type": "string" +}, +"nextVersion": { +"description": "Optional. The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server certificate version.", +"type": "string" +} +}, +"type": "object" +}, +"SelectedObjects": { +"description": "A list of objects that the user selects for replication from an external source instance.", +"id": "SelectedObjects", +"properties": { +"database": { +"description": "Required. The name of the database to migrate.", +"type": "string" +} +}, +"type": "object" +}, +"Settings": { +"description": "Database instance settings.", +"id": "Settings", +"properties": { +"activationPolicy": { +"description": "The activation policy specifies when the instance is activated; it is applicable only when the instance state is RUNNABLE. Valid values: * `ALWAYS`: The instance is on, and remains so even in the absence of connection requests. * `NEVER`: The instance is off; it is not activated, even if a connection request arrives.", +"enum": [ +"SQL_ACTIVATION_POLICY_UNSPECIFIED", +"ALWAYS", +"NEVER", +"ON_DEMAND" +], +"enumDeprecated": [ +false, +false, +false, +true +], +"enumDescriptions": [ +"Unknown activation plan.", +"The instance is always up and running.", +"The instance never starts.", +"The instance starts upon receiving requests." +], +"type": "string" +}, +"activeDirectoryConfig": { +"$ref": "SqlActiveDirectoryConfig", +"description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server." +}, +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Specifies advanced machine configuration for the instances relevant only for SQL Server." +}, +"authorizedGaeApplications": { +"deprecated": true, +"description": "The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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)./ For more information, see [Overview of the High Availability Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).", +"enum": [ +"SQL_AVAILABILITY_TYPE_UNSPECIFIED", +"ZONAL", +"REGIONAL" +], +"enumDescriptions": [ +"This is an unknown Availability type.", +"Zonal available instance.", +"Regional available instance." +], +"type": "string" +}, +"backupConfiguration": { +"$ref": "BackupConfiguration", +"description": "The daily backup configuration for the instance." +}, +"collation": { +"description": "The name of server Instance collation.", +"type": "string" +}, +"connectorEnforcement": { +"description": "Specifies if connections must use Cloud SQL connectors. Option values include the following: `NOT_REQUIRED` (Cloud SQL instances can be connected without Cloud SQL Connectors) and `REQUIRED` (Only allow connections that use Cloud SQL Connectors) Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.", +"enum": [ +"CONNECTOR_ENFORCEMENT_UNSPECIFIED", +"NOT_REQUIRED", +"REQUIRED" +], +"enumDescriptions": [ +"The requirement for Cloud SQL connectors is unknown.", +"Do not require Cloud SQL connectors.", +"Require all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks." +], +"type": "string" +}, +"crashSafeReplicationEnabled": { +"deprecated": true, +"description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", +"type": "boolean" +}, +"dataCacheConfig": { +"$ref": "DataCacheConfig", +"description": "Configuration for data cache." +}, +"dataDiskSizeGb": { +"description": "The size of data disk, in GB. The data disk size minimum is 10GB.", +"format": "int64", +"type": "string" +}, +"dataDiskType": { +"description": "The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for First Generation instances.", +"enum": [ +"SQL_DATA_DISK_TYPE_UNSPECIFIED", +"PD_SSD", +"PD_HDD", +"OBSOLETE_LOCAL_SSD" +], +"enumDeprecated": [ +false, +false, +false, +true +], +"enumDescriptions": [ +"This is an unknown data disk type.", +"An SSD data disk.", +"An HDD data disk.", +"This field is deprecated and will be removed from a future version of the API." +], +"type": "string" +}, +"databaseFlags": { +"description": "The database flags passed to the instance at startup.", +"items": { +"$ref": "DatabaseFlags" +}, +"type": "array" +}, +"databaseReplicationEnabled": { +"description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.", +"type": "boolean" +}, +"deletionProtectionEnabled": { +"description": "Configuration to protect against accidental instance deletion.", +"type": "boolean" +}, +"denyMaintenancePeriods": { +"description": "Deny maintenance periods", +"items": { +"$ref": "DenyMaintenancePeriod" +}, +"type": "array" +}, +"edition": { +"description": "Optional. The edition of the instance.", +"enum": [ +"EDITION_UNSPECIFIED", +"ENTERPRISE", +"ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"The instance did not specify the edition.", +"The instance is an enterprise edition.", +"The instance is an Enterprise Plus edition." +], +"type": "string" +}, +"enableDataplexIntegration": { +"description": "Optional. By default, Cloud SQL instances have schema extraction disabled for Dataplex. When this parameter is set to true, schema extraction for Dataplex on Cloud SQL instances is activated.", +"type": "boolean" +}, +"enableGoogleMlIntegration": { +"description": "Optional. When this parameter is set to true, Cloud SQL instances can connect to Vertex AI to pass requests for real-time predictions and insights to the AI. The default value is false. This applies only to Cloud SQL for PostgreSQL instances.", +"type": "boolean" +}, +"insightsConfig": { +"$ref": "InsightsConfig", +"description": "Insights configuration, for now relevant only for Postgres." +}, +"ipConfiguration": { +"$ref": "IpConfiguration", +"description": "The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances." +}, +"kind": { +"description": "This is always `sql#settings`.", +"type": "string" +}, +"locationPreference": { +"$ref": "LocationPreference", +"description": "The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances." +}, +"maintenanceWindow": { +"$ref": "MaintenanceWindow", +"description": "The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes." +}, +"passwordValidationPolicy": { +"$ref": "PasswordValidationPolicy", +"description": "The local user password validation policy of the instance." +}, +"pricingPlan": { +"description": "The pricing plan for this instance. This can be either `PER_USE` or `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.", +"enum": [ +"SQL_PRICING_PLAN_UNSPECIFIED", +"PACKAGE", +"PER_USE" +], +"enumDescriptions": [ +"This is an unknown pricing plan for this instance.", +"The instance is billed at a monthly flat rate.", +"The instance is billed per usage." +], +"type": "string" +}, +"replicationType": { +"deprecated": true, +"description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", +"enum": [ +"SQL_REPLICATION_TYPE_UNSPECIFIED", +"SYNCHRONOUS", +"ASYNCHRONOUS" +], +"enumDescriptions": [ +"This is an unknown replication type for a Cloud SQL instance.", +"The synchronous replication mode for First Generation instances. It is the default value.", +"The asynchronous replication mode for First Generation instances. It provides a slight performance gain, but if an outage occurs while this option is set to asynchronous, you can lose up to a few seconds of updates to your data." +], +"type": "string" +}, +"settingsVersion": { +"description": "The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.", +"format": "int64", +"type": "string" +}, +"sqlServerAuditConfig": { +"$ref": "SqlServerAuditConfig", +"description": "SQL Server specific audit configuration." +}, +"storageAutoResize": { +"description": "Configuration to increase storage size automatically. The default value is true.", +"type": "boolean" +}, +"storageAutoResizeLimit": { +"description": "The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.", +"format": "int64", +"type": "string" +}, +"tier": { +"description": "The tier (or machine type) for this instance, for example `db-custom-1-3840`. WARNING: Changing this restarts the instance.", +"type": "string" +}, +"timeZone": { +"description": "Server timezone, relevant only for Cloud SQL for SQL Server.", +"type": "string" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-provided labels, represented as a dictionary where each label is a single key value pair.", +"type": "object" +} +}, +"type": "object" +}, +"SqlActiveDirectoryConfig": { +"description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", +"id": "SqlActiveDirectoryConfig", +"properties": { +"domain": { +"description": "The name of the domain (e.g., mydomain.com).", +"type": "string" +}, +"kind": { +"description": "This is always sql#activeDirectoryConfig.", +"type": "string" +} +}, +"type": "object" +}, +"SqlExternalSyncSettingError": { +"description": "External primary instance migration setting error/warning.", +"id": "SqlExternalSyncSettingError", +"properties": { +"detail": { +"description": "Additional information about the error encountered.", +"type": "string" +}, +"kind": { +"description": "Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`.", +"type": "string" +}, +"type": { +"description": "Identifies the specific error that occurred.", +"enum": [ +"SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED", +"CONNECTION_FAILURE", +"BINLOG_NOT_ENABLED", +"INCOMPATIBLE_DATABASE_VERSION", +"REPLICA_ALREADY_SETUP", +"INSUFFICIENT_PRIVILEGE", +"UNSUPPORTED_MIGRATION_TYPE", +"NO_PGLOGICAL_INSTALLED", +"PGLOGICAL_NODE_ALREADY_EXISTS", +"INVALID_WAL_LEVEL", +"INVALID_SHARED_PRELOAD_LIBRARY", +"INSUFFICIENT_MAX_REPLICATION_SLOTS", +"INSUFFICIENT_MAX_WAL_SENDERS", +"INSUFFICIENT_MAX_WORKER_PROCESSES", +"UNSUPPORTED_EXTENSIONS", +"INVALID_RDS_LOGICAL_REPLICATION", +"INVALID_LOGGING_SETUP", +"INVALID_DB_PARAM", +"UNSUPPORTED_GTID_MODE", +"SQLSERVER_AGENT_NOT_RUNNING", +"UNSUPPORTED_TABLE_DEFINITION", +"UNSUPPORTED_DEFINER", +"SQLSERVER_SERVERNAME_MISMATCH", +"PRIMARY_ALREADY_SETUP", +"UNSUPPORTED_BINLOG_FORMAT", +"BINLOG_RETENTION_SETTING", +"UNSUPPORTED_STORAGE_ENGINE", +"LIMITED_SUPPORT_TABLES", +"EXISTING_DATA_IN_REPLICA", +"MISSING_OPTIONAL_PRIVILEGES", +"RISKY_BACKUP_ADMIN_PRIVILEGE", +"INSUFFICIENT_GCS_PERMISSIONS", +"INVALID_FILE_INFO", +"UNSUPPORTED_DATABASE_SETTINGS", +"MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE", +"LOCAL_INFILE_OFF", +"TURN_ON_PITR_AFTER_PROMOTE", +"INCOMPATIBLE_DATABASE_MINOR_VERSION", +"SOURCE_MAX_SUBSCRIPTIONS", +"UNABLE_TO_VERIFY_DEFINERS", +"SUBSCRIPTION_CALCULATION_STATUS", +"PG_SUBSCRIPTION_COUNT", +"PG_SYNC_PARALLEL_LEVEL", +"INSUFFICIENT_DISK_SIZE", +"INSUFFICIENT_MACHINE_TIER", +"UNSUPPORTED_EXTENSIONS_NOT_MIGRATED", +"EXTENSIONS_NOT_MIGRATED", +"PG_CRON_FLAG_ENABLED_IN_REPLICA", +"EXTENSIONS_NOT_ENABLED_IN_REPLICA", +"UNSUPPORTED_COLUMNS", +"USERS_NOT_CREATED_IN_REPLICA", +"UNSUPPORTED_SYSTEM_OBJECTS", +"UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY", +"SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"The replication user is missing privileges that are required.", +"Unsupported migration type.", +"No pglogical extension installed on databases, applicable for postgres.", +"pglogical node already exists on databases, applicable for postgres.", +"The value of parameter wal_level is not set to logical.", +"The value of parameter shared_preload_libraries does not include pglogical.", +"The value of parameter max_replication_slots is not sufficient.", +"The value of parameter max_wal_senders is not sufficient.", +"The value of parameter max_worker_processes is not sufficient.", +"Extensions installed are either not supported or having unsupported versions", +"The value of parameter rds.logical_replication is not set to 1.", +"The primary instance logging setup doesn't allow EM sync.", +"The primary instance database parameter setup doesn't allow EM sync.", +"The gtid_mode is not supported, applicable for MySQL.", +"SQL Server Agent is not running.", +"The table definition is not support due to missing primary key or replica identity, applicable for postgres. Note that this is a warning and won't block the migration.", +"The customer has a definer that will break EM setup.", +"SQL Server @@SERVERNAME does not match actual host name.", +"The primary instance has been setup and will fail the setup.", +"The primary instance has unsupported binary log format.", +"The primary instance's binary log retention setting.", +"The primary instance has tables with unsupported storage engine.", +"Source has tables with limited support eg: PostgreSQL tables without primary keys.", +"The replica instance contains existing data.", +"The replication user is missing privileges that are optional.", +"Additional BACKUP_ADMIN privilege is granted to the replication user which may lock source MySQL 8 instance for DDLs during initial sync.", +"The Cloud Storage bucket is missing necessary permissions.", +"The Cloud Storage bucket has an error in the file or contains invalid file information.", +"The source instance has unsupported database settings for migration.", +"The replication user is missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL.", +"The global variable local_infile is off on external server replica.", +"This code instructs customers to turn on point-in-time recovery manually for the instance after promoting the Cloud SQL for PostgreSQL instance.", +"The minor version of replica database is incompatible with the source.", +"This warning message indicates that Cloud SQL uses the maximum number of subscriptions to migrate data from the source to the destination.", +"Unable to verify definers on the source for MySQL.", +"If a time out occurs while the subscription counts are calculated, then this value is set to 1. Otherwise, this value is set to 2.", +"Count of subscriptions needed to sync source data for PostgreSQL database.", +"Final parallel level that is used to do migration.", +"The disk size of the replica instance is smaller than the data size of the source instance.", +"The data size of the source instance is greater than 1 TB, the number of cores of the replica instance is less than 8, and the memory of the replica is less than 32 GB.", +"The warning message indicates the unsupported extensions will not be migrated to the destination.", +"The warning message indicates the pg_cron extension and settings will not be migrated to the destination.", +"The error message indicates that pg_cron flags are enabled on the destination which is not supported during the migration.", +"This error message indicates that the specified extensions are not enabled on destination instance. For example, before you can migrate data to the destination instance, you must enable the PGAudit extension on the instance.", +"The source database has generated columns that can't be migrated. Please change them to regular columns before migration.", +"The source database has users that aren't created in the replica. First, create all users, which are in the pg_user_mappings table of the source database, in the destination instance. Then, perform the migration.", +"The selected objects include system objects that aren't supported for migration.", +"The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration.", +"The selected objects don't exist on the source instance." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesAcquireSsrsLeaseResponse": { +"description": "Acquire SSRS lease response.", +"id": "SqlInstancesAcquireSsrsLeaseResponse", +"properties": { +"operationId": { +"description": "The unique identifier for this operation.", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesGetDiskShrinkConfigResponse": { +"description": "Instance get disk shrink config response.", +"id": "SqlInstancesGetDiskShrinkConfigResponse", +"properties": { +"kind": { +"description": "This is always `sql#getDiskShrinkConfig`.", +"type": "string" +}, +"message": { +"description": "Additional message to customers.", +"type": "string" +}, +"minimalTargetSizeGb": { +"description": "The minimum size to which a disk can be shrunk in GigaBytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesGetLatestRecoveryTimeResponse": { +"description": "Instance get latest recovery time response.", +"id": "SqlInstancesGetLatestRecoveryTimeResponse", +"properties": { +"kind": { +"description": "This is always `sql#getLatestRecoveryTime`.", +"type": "string" +}, +"latestRecoveryTime": { +"description": "Timestamp, identifies the latest recovery time of the source instance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesReleaseSsrsLeaseResponse": { +"description": "The response for the release of the SSRS lease.", +"id": "SqlInstancesReleaseSsrsLeaseResponse", +"properties": { +"operationId": { +"description": "The operation ID.", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesRescheduleMaintenanceRequestBody": { +"description": "Reschedule options for maintenance windows.", +"id": "SqlInstancesRescheduleMaintenanceRequestBody", +"properties": { +"reschedule": { +"$ref": "Reschedule", +"description": "Required. The type of the reschedule the user wants." +} +}, +"type": "object" +}, +"SqlInstancesResetReplicaSizeRequest": { +"description": "Instance reset replica size request.", +"id": "SqlInstancesResetReplicaSizeRequest", +"properties": {}, +"type": "object" +}, +"SqlInstancesStartExternalSyncRequest": { +"id": "SqlInstancesStartExternalSyncRequest", +"properties": { +"migrationType": { +"description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", +"enum": [ +"MIGRATION_TYPE_UNSPECIFIED", +"LOGICAL", +"PHYSICAL" +], +"enumDescriptions": [ +"Default value is a logical dump file-based migration", +"Logical dump file-based migration", +"Physical file-based migration" +], +"type": "string" +}, +"mysqlSyncConfig": { +"$ref": "MySqlSyncConfig", +"description": "MySQL-specific settings for start external sync." +}, +"skipVerification": { +"description": "Whether to skip the verification step (VESS).", +"type": "boolean" +}, +"syncMode": { +"description": "External sync mode.", +"enum": [ +"EXTERNAL_SYNC_MODE_UNSPECIFIED", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"Unknown external sync mode, will be defaulted to ONLINE mode", +"Online external sync will set up replication after initial data external sync", +"Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" +], +"type": "string" +}, +"syncParallelLevel": { +"description": "Optional. Parallel level for initial data sync. Currently only applicable for MySQL.", +"enum": [ +"EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", +"MIN", +"OPTIMAL", +"MAX" +], +"enumDescriptions": [ +"Unknown sync parallel level. Will be defaulted to OPTIMAL.", +"Minimal parallel level.", +"Optimal parallel level.", +"Maximum parallel level." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesVerifyExternalSyncSettingsRequest": { +"id": "SqlInstancesVerifyExternalSyncSettingsRequest", +"properties": { +"migrationType": { +"description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", +"enum": [ +"MIGRATION_TYPE_UNSPECIFIED", +"LOGICAL", +"PHYSICAL" +], +"enumDescriptions": [ +"Default value is a logical dump file-based migration", +"Logical dump file-based migration", +"Physical file-based migration" +], +"type": "string" +}, +"mysqlSyncConfig": { +"$ref": "MySqlSyncConfig", +"description": "Optional. MySQL-specific settings for start external sync." +}, +"selectedObjects": { +"description": "Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects.", +"items": { +"$ref": "ExternalSyncSelectedObject" +}, +"type": "array" +}, +"syncMode": { +"description": "External sync mode", +"enum": [ +"EXTERNAL_SYNC_MODE_UNSPECIFIED", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"Unknown external sync mode, will be defaulted to ONLINE mode", +"Online external sync will set up replication after initial data external sync", +"Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" +], +"type": "string" +}, +"syncParallelLevel": { +"description": "Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.", +"enum": [ +"EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", +"MIN", +"OPTIMAL", +"MAX" +], +"enumDescriptions": [ +"Unknown sync parallel level. Will be defaulted to OPTIMAL.", +"Minimal parallel level.", +"Optimal parallel level.", +"Maximum parallel level." +], +"type": "string" +}, +"verifyConnectionOnly": { +"description": "Flag to enable verifying connection only", +"type": "boolean" +}, +"verifyReplicationOnly": { +"description": "Optional. Flag to verify settings required by replication setup only", +"type": "boolean" +} +}, +"type": "object" +}, +"SqlInstancesVerifyExternalSyncSettingsResponse": { +"description": "Instance verify external sync settings response.", +"id": "SqlInstancesVerifyExternalSyncSettingsResponse", +"properties": { +"errors": { +"description": "List of migration violations.", +"items": { +"$ref": "SqlExternalSyncSettingError" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#migrationSettingErrorList`.", +"type": "string" +}, +"warnings": { +"description": "List of migration warnings.", +"items": { +"$ref": "SqlExternalSyncSettingError" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlOutOfDiskReport": { +"description": "This message wraps up the information written by out-of-disk detection job.", +"id": "SqlOutOfDiskReport", +"properties": { +"sqlMinRecommendedIncreaseSizeGb": { +"description": "The minimum recommended increase size in GigaBytes This field is consumed by the frontend * Writers: * the proactive database wellness job for OOD. * Readers:", +"format": "int32", +"type": "integer" +}, +"sqlOutOfDiskState": { +"description": "This field represents the state generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job", +"enum": [ +"SQL_OUT_OF_DISK_STATE_UNSPECIFIED", +"NORMAL", +"SOFT_SHUTDOWN" +], +"enumDescriptions": [ +"Unspecified state", +"The instance has plenty space on data disk", +"Data disk is almost used up. It is shutdown to prevent data corruption." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlScheduledMaintenance": { +"description": "Any scheduled maintenance for this instance.", +"id": "SqlScheduledMaintenance", +"properties": { +"canDefer": { +"deprecated": true, +"type": "boolean" +}, +"canReschedule": { +"description": "If the scheduled maintenance can be rescheduled.", +"type": "boolean" +}, +"scheduleDeadlineTime": { +"description": "Maintenance cannot be rescheduled to start beyond this deadline.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The start time of any upcoming scheduled maintenance for this instance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerAuditConfig": { +"description": "SQL Server specific audit configuration.", +"id": "SqlServerAuditConfig", +"properties": { +"bucket": { +"description": "The name of the destination bucket (e.g., gs://mybucket).", +"type": "string" +}, +"kind": { +"description": "This is always sql#sqlServerAuditConfig", +"type": "string" +}, +"retentionInterval": { +"description": "How long to keep generated audit files.", +"format": "google-duration", +"type": "string" +}, +"uploadInterval": { +"description": "How often to upload generated audit files.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerDatabaseDetails": { +"description": "Represents a Sql Server database on the Cloud SQL instance.", +"id": "SqlServerDatabaseDetails", +"properties": { +"compatibilityLevel": { +"description": "The version of SQL Server with which the database is to be made compatible", +"format": "int32", +"type": "integer" +}, +"recoveryModel": { +"description": "The recovery model of a SQL Server database", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerUserDetails": { +"description": "Represents a Sql Server user on the Cloud SQL instance.", +"id": "SqlServerUserDetails", +"properties": { +"disabled": { +"description": "If the user has been disabled", +"type": "boolean" +}, +"serverRoles": { +"description": "The server roles for this user", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlSubOperationType": { +"description": "The sub operation type based on the operation type.", +"id": "SqlSubOperationType", +"properties": { +"maintenanceType": { +"description": "The type of maintenance to be performed on the instance.", +"enum": [ +"SQL_MAINTENANCE_TYPE_UNSPECIFIED", +"INSTANCE_MAINTENANCE", +"REPLICA_INCLUDED_MAINTENANCE", +"INSTANCE_SELF_SERVICE_MAINTENANCE", +"REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE" +], +"enumDescriptions": [ +"Maintenance type is unspecified.", +"Indicates that a standalone instance is undergoing maintenance. The instance can be either a primary instance or a replica.", +"Indicates that the primary instance and all of its replicas, including cascading replicas, are undergoing maintenance. Maintenance is performed on groups of replicas first, followed by the primary instance.", +"Indicates that the standalone instance is undergoing maintenance, initiated by self-service. The instance can be either a primary instance or a replica.", +"Indicates that the primary instance and all of its replicas are undergoing maintenance, initiated by self-service. Maintenance is performed on groups of replicas first, followed by the primary instance." +], +"type": "string" +} +}, +"type": "object" +}, +"SslCert": { +"description": "SslCerts Resource", +"id": "SslCert", +"properties": { +"cert": { +"description": "PEM representation.", +"type": "string" +}, +"certSerialNumber": { +"description": "Serial number, as extracted from the certificate.", +"type": "string" +}, +"commonName": { +"description": "User supplied name. Constrained to [a-zA-Z.-_ ]+.", +"type": "string" +}, +"createTime": { +"description": "The time when the certificate was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"expirationTime": { +"description": "The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"instance": { +"description": "Name of the database instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#sslCert`.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 Fingerprint.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertDetail": { +"description": "SslCertDetail.", +"id": "SslCertDetail", +"properties": { +"certInfo": { +"$ref": "SslCert", +"description": "The public information about the cert." +}, +"certPrivateKey": { +"description": "The private key for the client cert, in pem format. Keep private in order to protect your security.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsCreateEphemeralRequest": { +"description": "SslCerts create ephemeral certificate request.", +"id": "SslCertsCreateEphemeralRequest", +"properties": { +"access_token": { +"description": "Access token to include in the signed certificate.", +"type": "string" +}, +"public_key": { +"description": "PEM encoded public key to include in the signed certificate.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsInsertRequest": { +"description": "SslCerts insert request.", +"id": "SslCertsInsertRequest", +"properties": { +"commonName": { +"description": "User supplied name. Must be a distinct name from the other certificates for this instance.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsInsertResponse": { +"description": "SslCert insert response.", +"id": "SslCertsInsertResponse", +"properties": { +"clientCert": { +"$ref": "SslCertDetail", +"description": "The new client certificate and private key." +}, +"kind": { +"description": "This is always `sql#sslCertsInsert`.", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "The operation to track the ssl certs insert request." +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource." +} +}, +"type": "object" +}, +"SslCertsListResponse": { +"description": "SslCerts list response.", +"id": "SslCertsListResponse", +"properties": { +"items": { +"description": "List of client certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#sslCertsList`.", +"type": "string" +} +}, +"type": "object" +}, +"SyncFlags": { +"description": "Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump.", +"id": "SyncFlags", +"properties": { +"name": { +"description": "The name of the flag.", +"type": "string" +}, +"value": { +"description": "The value of the flag. This field must be omitted if the flag doesn't take a value.", +"type": "string" +} +}, +"type": "object" +}, +"Tier": { +"description": "A Google Cloud SQL service tier resource.", +"id": "Tier", +"properties": { +"DiskQuota": { +"description": "The maximum disk size of this tier in bytes.", +"format": "int64", +"type": "string" +}, +"RAM": { +"description": "The maximum RAM usage of this tier in bytes.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#tier`.", +"type": "string" +}, +"region": { +"description": "The applicable regions for this tier.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tier": { +"description": "An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", +"type": "string" +} +}, +"type": "object" +}, +"TiersListResponse": { +"description": "Tiers list response.", +"id": "TiersListResponse", +"properties": { +"items": { +"description": "List of tiers.", +"items": { +"$ref": "Tier" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#tiersList`.", +"type": "string" +} +}, +"type": "object" +}, +"TruncateLogContext": { +"description": "Database Instance truncate log context.", +"id": "TruncateLogContext", +"properties": { +"kind": { +"description": "This is always `sql#truncateLogContext`.", +"type": "string" +}, +"logType": { +"description": "The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `MYSQL_SLOW_TABLE`.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "A Cloud SQL user resource.", +"id": "User", +"properties": { +"dualPasswordType": { +"description": "Dual password status for the user.", +"enum": [ +"DUAL_PASSWORD_TYPE_UNSPECIFIED", +"NO_MODIFY_DUAL_PASSWORD", +"NO_DUAL_PASSWORD", +"DUAL_PASSWORD" +], +"enumDescriptions": [ +"The default value.", +"Do not update the user's dual password status.", +"No dual password usable for connecting using this user.", +"Dual password usable for connecting using this user." +], +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API.", +"type": "string" +}, +"host": { +"description": "Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional.", +"type": "string" +}, +"instance": { +"description": "The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for *update* because it is already specified on the URL.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#user`.", +"type": "string" +}, +"name": { +"description": "The name of the user in the Cloud SQL instance. Can be omitted for `update` because it is already specified in the URL.", +"type": "string" +}, +"password": { +"description": "The password for the user.", +"type": "string" +}, +"passwordPolicy": { +"$ref": "UserPasswordValidationPolicy", +"description": "User level password validation policy." +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for *update* because it is already specified on the URL.", +"type": "string" +}, +"sqlserverUserDetails": { +"$ref": "SqlServerUserDetails" +}, +"type": { +"description": "The user type. It determines the method to authenticate the user during login. The default is the database's built-in user type.", +"enum": [ +"BUILT_IN", +"CLOUD_IAM_USER", +"CLOUD_IAM_SERVICE_ACCOUNT", +"CLOUD_IAM_GROUP", +"CLOUD_IAM_GROUP_USER", +"CLOUD_IAM_GROUP_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"The database's built-in user type.", +"Cloud IAM user.", +"Cloud IAM service account.", +"Cloud IAM group. Not used for login.", +"Read-only. Login for a user that belongs to the Cloud IAM group.", +"Read-only. Login for a service account that belongs to the Cloud IAM group." +], +"type": "string" +} +}, +"type": "object" +}, +"UserPasswordValidationPolicy": { +"description": "User level password validation policy.", +"id": "UserPasswordValidationPolicy", +"properties": { +"allowedFailedAttempts": { +"description": "Number of failed login attempts allowed before user get locked.", +"format": "int32", +"type": "integer" +}, +"enableFailedAttemptsCheck": { +"description": "If true, failed login attempts check will be enabled.", +"type": "boolean" +}, +"enablePasswordVerification": { +"description": "If true, the user must specify the current password before changing the password. This flag is supported only for MySQL.", +"type": "boolean" +}, +"passwordExpirationDuration": { +"description": "Expiration duration after password is updated.", +"format": "google-duration", +"type": "string" +}, +"status": { +"$ref": "PasswordStatus", +"description": "Output only. Read-only password status.", +"readOnly": true +} +}, +"type": "object" +}, +"UsersListResponse": { +"description": "User list response.", +"id": "UsersListResponse", +"properties": { +"items": { +"description": "List of user resources in the instance.", +"items": { +"$ref": "User" +}, +"type": "array" +}, +"kind": { +"description": "This is always *sql#usersList*.", +"type": "string" +}, +"nextPageToken": { +"deprecated": true, +"description": "Unused.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud SQL Admin API", +"version": "v1beta4" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..bb9574900b973b732ab06594d4083c0b83dde8c1 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v2.json @@ -0,0 +1,6628 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/tagmanager.delete.containers": { +"description": "Delete your Google Tag Manager containers" +}, +"https://www.googleapis.com/auth/tagmanager.edit.containers": { +"description": "Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing" +}, +"https://www.googleapis.com/auth/tagmanager.edit.containerversions": { +"description": "Manage your Google Tag Manager container versions" +}, +"https://www.googleapis.com/auth/tagmanager.manage.accounts": { +"description": "View and manage your Google Tag Manager accounts" +}, +"https://www.googleapis.com/auth/tagmanager.manage.users": { +"description": "Manage user permissions of your Google Tag Manager account and container" +}, +"https://www.googleapis.com/auth/tagmanager.publish": { +"description": "Publish your Google Tag Manager container versions" +}, +"https://www.googleapis.com/auth/tagmanager.readonly": { +"description": "View your Google Tag Manager container and its subcomponents" +} +} +} +}, +"basePath": "", +"baseUrl": "https://tagmanager.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Tag Manager", +"description": "This API allows clients to access and modify container and tag configuration.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/tag-manager", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "tagmanager:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://tagmanager.mtls.googleapis.com/", +"name": "tagmanager", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"get": { +"description": "Gets a GTM Account.", +"flatPath": "tagmanager/v2/accounts/{accountsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.manage.accounts", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Accounts that a user has access to.", +"flatPath": "tagmanager/v2/accounts", +"httpMethod": "GET", +"id": "tagmanager.accounts.list", +"parameterOrder": [], +"parameters": { +"includeGoogleTags": { +"description": "Also retrieve accounts associated with Google Tag when true.", +"location": "query", +"type": "boolean" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v2/accounts", +"response": { +"$ref": "ListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.manage.accounts", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Account.", +"flatPath": "tagmanager/v2/accounts/{accountsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the account in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.accounts" +] +} +}, +"resources": { +"containers": { +"methods": { +"combine": { +"description": "Combines Containers.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}:combine", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.combine", +"parameterOrder": [ +"path" +], +"parameters": { +"allowUserPermissionFeatureUpdate": { +"description": "Must be set to true to allow features.user_permissions to change from false to true. If this operation causes an update but this bit is false, the operation will fail.", +"location": "query", +"type": "boolean" +}, +"containerId": { +"description": "ID of container that will be merged into the current container.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +}, +"settingSource": { +"description": "Specify the source of config setting after combine", +"enum": [ +"settingSourceUnspecified", +"current", +"other" +], +"enumDescriptions": [ +"", +"Keep the current container config setting after combine", +"Use config setting from the other tag after combine" +], +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:combine", +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"create": { +"description": "Creates a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/containers", +"request": { +"$ref": "Container" +}, +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.delete.containers" +] +}, +"get": { +"description": "Gets a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Containers that belongs to a GTM Account.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/containers", +"response": { +"$ref": "ListContainersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"lookup": { +"description": "Looks up a Container by destination ID or tag ID.", +"flatPath": "tagmanager/v2/accounts/containers:lookup", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.lookup", +"parameterOrder": [], +"parameters": { +"destinationId": { +"description": "Destination ID linked to a GTM Container, e.g. AW-123456789. Example: accounts/containers:lookup?destination_id={destination_id}. Only one of destination_id or tag_id should be set.", +"location": "query", +"type": "string" +}, +"tagId": { +"description": "Tag ID for a GTM Container, e.g. GTM-123456789. Example: accounts/containers:lookup?tag_id={tag_id}. Only one of destination_id or tag_id should be set.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v2/accounts/containers:lookup", +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"move_tag_id": { +"description": "Move Tag ID out of a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}:move_tag_id", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.move_tag_id", +"parameterOrder": [ +"path" +], +"parameters": { +"allowUserPermissionFeatureUpdate": { +"description": "Must be set to true to allow features.user_permissions to change from false to true. If this operation causes an update but this bit is false, the operation will fail.", +"location": "query", +"type": "boolean" +}, +"copySettings": { +"description": "Whether or not to copy tag settings from this tag to the new tag.", +"location": "query", +"type": "boolean" +}, +"copyTermsOfService": { +"description": "Must be set to true to accept all terms of service agreements copied from the current tag to the newly created tag. If this bit is false, the operation will fail.", +"location": "query", +"type": "boolean" +}, +"copyUsers": { +"description": "Whether or not to copy users from this tag to the new tag.", +"location": "query", +"type": "boolean" +}, +"path": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +}, +"tagId": { +"description": "Tag ID to be removed from the current Container.", +"location": "query", +"type": "string" +}, +"tagName": { +"description": "The name for the newly created tag.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:move_tag_id", +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"snippet": { +"description": "Gets the tagging snippet for a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}:snippet", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.snippet", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "Container snippet's API relative path. Example: accounts/{account_id}/containers/{container_id}:snippet", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:snippet", +"response": { +"$ref": "GetContainerSnippetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Container" +}, +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +}, +"resources": { +"destinations": { +"methods": { +"get": { +"description": "Gets a Destination.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/destinations/{destinationsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.destinations.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "Google Tag Destination's API relative path. Example: accounts/{account_id}/containers/{container_id}/destinations/{destination_link_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/destinations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Destination" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"link": { +"description": "Adds a Destination to this Container and removes it from the Container to which it is currently linked.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/destinations:link", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.destinations.link", +"parameterOrder": [ +"parent" +], +"parameters": { +"allowUserPermissionFeatureUpdate": { +"description": "Must be set to true to allow features.user_permissions to change from false to true. If this operation causes an update but this bit is false, the operation will fail.", +"location": "query", +"type": "boolean" +}, +"destinationId": { +"description": "Destination ID to be linked to the current container.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/destinations:link", +"response": { +"$ref": "Destination" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"list": { +"description": "Lists all Destinations linked to a GTM Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/destinations", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.destinations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/destinations", +"response": { +"$ref": "ListDestinationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +} +} +}, +"environments": { +"methods": { +"create": { +"description": "Creates a GTM Environment.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.environments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/environments", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Environment.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.environments.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Environment.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.environments.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Environments of a GTM Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.environments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/environments", +"response": { +"$ref": "ListEnvironmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"reauthorize": { +"description": "Re-generates the authorization code for a GTM Environment.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}:reauthorize", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.environments.reauthorize", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:reauthorize", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.publish" +] +}, +"update": { +"description": "Updates a GTM Environment.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.environments.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the environment in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"version_headers": { +"methods": { +"latest": { +"description": "Gets the latest container version header", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers:latest", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.version_headers.latest", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/version_headers:latest", +"response": { +"$ref": "ContainerVersionHeader" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Container Versions of a GTM Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.version_headers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"includeDeleted": { +"description": "Also retrieve deleted (archived) versions when true.", +"location": "query", +"type": "boolean" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/version_headers", +"response": { +"$ref": "ListContainerVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.edit.containerversions", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +} +} +}, +"versions": { +"methods": { +"delete": { +"description": "Deletes a Container Version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.versions.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"get": { +"description": "Gets a Container Version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.versions.get", +"parameterOrder": [ +"path" +], +"parameters": { +"containerVersionId": { +"description": "The GTM ContainerVersion ID. Specify published to retrieve the currently published version.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.edit.containerversions", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"live": { +"description": "Gets the live (i.e. published) container version", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions:live", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.versions.live", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/versions:live", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"publish": { +"description": "Publishes a Container Version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:publish", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.publish", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container version in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:publish", +"response": { +"$ref": "PublishContainerVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.publish" +] +}, +"set_latest": { +"description": "Sets the latest version used for synchronization of workspaces when detecting conflicts and errors.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:set_latest", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.set_latest", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:set_latest", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"undelete": { +"description": "Undeletes a Container Version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:undelete", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.undelete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:undelete", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"update": { +"description": "Updates a Container Version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.versions.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container version in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "ContainerVersion" +}, +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +} +} +}, +"workspaces": { +"methods": { +"create": { +"description": "Creates a Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/workspaces", +"request": { +"$ref": "Workspace" +}, +"response": { +"$ref": "Workspace" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"create_version": { +"description": "Creates a Container Version from the entities present in the workspace, deletes the workspace, and sets the base container version to the newly created version.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:create_version", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.create_version", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:create_version", +"request": { +"$ref": "CreateContainerVersionRequestVersionOptions" +}, +"response": { +"$ref": "CreateContainerVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"delete": { +"description": "Deletes a Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.delete.containers" +] +}, +"get": { +"description": "Gets a Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Workspace" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"getStatus": { +"description": "Finds conflicting and modified entities in the workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/status", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.getStatus", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}/status", +"response": { +"$ref": "GetWorkspaceStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Workspaces that belong to a GTM Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/workspaces", +"response": { +"$ref": "ListWorkspacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"quick_preview": { +"description": "Quick previews a workspace by creating a fake container version from all entities in the provided workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:quick_preview", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.quick_preview", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:quick_preview", +"response": { +"$ref": "QuickPreviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"resolve_conflict": { +"description": "Resolves a merge conflict for a workspace entity by updating it to the resolved entity passed in the request.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:resolve_conflict", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.resolve_conflict", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the entity_in_workspace in the merge conflict.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:resolve_conflict", +"request": { +"$ref": "Entity" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"sync": { +"description": "Syncs a workspace to the latest container version by updating all unmodified workspace entities and displaying conflicts for modified entities.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:sync", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.sync", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:sync", +"response": { +"$ref": "SyncWorkspaceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the workspace in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Workspace" +}, +"response": { +"$ref": "Workspace" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +}, +"resources": { +"built_in_variables": { +"methods": { +"create": { +"description": "Creates one or more GTM Built-In Variables.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.built_in_variables.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "The types of built-in variables to enable.", +"enum": [ +"builtInVariableTypeUnspecified", +"pageUrl", +"pageHostname", +"pagePath", +"referrer", +"event", +"clickElement", +"clickClasses", +"clickId", +"clickTarget", +"clickUrl", +"clickText", +"firstPartyServingUrl", +"formElement", +"formClasses", +"formId", +"formTarget", +"formUrl", +"formText", +"errorMessage", +"errorUrl", +"errorLine", +"newHistoryUrl", +"oldHistoryUrl", +"newHistoryFragment", +"oldHistoryFragment", +"newHistoryState", +"oldHistoryState", +"historySource", +"containerVersion", +"debugMode", +"randomNumber", +"containerId", +"appId", +"appName", +"appVersionCode", +"appVersionName", +"language", +"osVersion", +"platform", +"sdkVersion", +"deviceName", +"resolution", +"advertiserId", +"advertisingTrackingEnabled", +"htmlId", +"environmentName", +"ampBrowserLanguage", +"ampCanonicalPath", +"ampCanonicalUrl", +"ampCanonicalHost", +"ampReferrer", +"ampTitle", +"ampClientId", +"ampClientTimezone", +"ampClientTimestamp", +"ampClientScreenWidth", +"ampClientScreenHeight", +"ampClientScrollX", +"ampClientScrollY", +"ampClientMaxScrollX", +"ampClientMaxScrollY", +"ampTotalEngagedTime", +"ampPageViewId", +"ampPageLoadTime", +"ampPageDownloadTime", +"ampGtmEvent", +"eventName", +"firebaseEventParameterCampaign", +"firebaseEventParameterCampaignAclid", +"firebaseEventParameterCampaignAnid", +"firebaseEventParameterCampaignClickTimestamp", +"firebaseEventParameterCampaignContent", +"firebaseEventParameterCampaignCp1", +"firebaseEventParameterCampaignGclid", +"firebaseEventParameterCampaignSource", +"firebaseEventParameterCampaignTerm", +"firebaseEventParameterCurrency", +"firebaseEventParameterDynamicLinkAcceptTime", +"firebaseEventParameterDynamicLinkLinkid", +"firebaseEventParameterNotificationMessageDeviceTime", +"firebaseEventParameterNotificationMessageId", +"firebaseEventParameterNotificationMessageName", +"firebaseEventParameterNotificationMessageTime", +"firebaseEventParameterNotificationTopic", +"firebaseEventParameterPreviousAppVersion", +"firebaseEventParameterPreviousOsVersion", +"firebaseEventParameterPrice", +"firebaseEventParameterProductId", +"firebaseEventParameterQuantity", +"firebaseEventParameterValue", +"videoProvider", +"videoUrl", +"videoTitle", +"videoDuration", +"videoPercent", +"videoVisible", +"videoStatus", +"videoCurrentTime", +"scrollDepthThreshold", +"scrollDepthUnits", +"scrollDepthDirection", +"elementVisibilityRatio", +"elementVisibilityTime", +"elementVisibilityFirstTime", +"elementVisibilityRecentTime", +"requestPath", +"requestMethod", +"clientName", +"queryString", +"serverPageLocationUrl", +"serverPageLocationPath", +"serverPageLocationHostname", +"visitorRegion" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"For web or mobile.", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/built_in_variables", +"response": { +"$ref": "CreateBuiltInVariableResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes one or more GTM Built-In Variables.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.built_in_variables.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/built_in_variables$", +"required": true, +"type": "string" +}, +"type": { +"description": "The types of built-in variables to delete.", +"enum": [ +"builtInVariableTypeUnspecified", +"pageUrl", +"pageHostname", +"pagePath", +"referrer", +"event", +"clickElement", +"clickClasses", +"clickId", +"clickTarget", +"clickUrl", +"clickText", +"firstPartyServingUrl", +"formElement", +"formClasses", +"formId", +"formTarget", +"formUrl", +"formText", +"errorMessage", +"errorUrl", +"errorLine", +"newHistoryUrl", +"oldHistoryUrl", +"newHistoryFragment", +"oldHistoryFragment", +"newHistoryState", +"oldHistoryState", +"historySource", +"containerVersion", +"debugMode", +"randomNumber", +"containerId", +"appId", +"appName", +"appVersionCode", +"appVersionName", +"language", +"osVersion", +"platform", +"sdkVersion", +"deviceName", +"resolution", +"advertiserId", +"advertisingTrackingEnabled", +"htmlId", +"environmentName", +"ampBrowserLanguage", +"ampCanonicalPath", +"ampCanonicalUrl", +"ampCanonicalHost", +"ampReferrer", +"ampTitle", +"ampClientId", +"ampClientTimezone", +"ampClientTimestamp", +"ampClientScreenWidth", +"ampClientScreenHeight", +"ampClientScrollX", +"ampClientScrollY", +"ampClientMaxScrollX", +"ampClientMaxScrollY", +"ampTotalEngagedTime", +"ampPageViewId", +"ampPageLoadTime", +"ampPageDownloadTime", +"ampGtmEvent", +"eventName", +"firebaseEventParameterCampaign", +"firebaseEventParameterCampaignAclid", +"firebaseEventParameterCampaignAnid", +"firebaseEventParameterCampaignClickTimestamp", +"firebaseEventParameterCampaignContent", +"firebaseEventParameterCampaignCp1", +"firebaseEventParameterCampaignGclid", +"firebaseEventParameterCampaignSource", +"firebaseEventParameterCampaignTerm", +"firebaseEventParameterCurrency", +"firebaseEventParameterDynamicLinkAcceptTime", +"firebaseEventParameterDynamicLinkLinkid", +"firebaseEventParameterNotificationMessageDeviceTime", +"firebaseEventParameterNotificationMessageId", +"firebaseEventParameterNotificationMessageName", +"firebaseEventParameterNotificationMessageTime", +"firebaseEventParameterNotificationTopic", +"firebaseEventParameterPreviousAppVersion", +"firebaseEventParameterPreviousOsVersion", +"firebaseEventParameterPrice", +"firebaseEventParameterProductId", +"firebaseEventParameterQuantity", +"firebaseEventParameterValue", +"videoProvider", +"videoUrl", +"videoTitle", +"videoDuration", +"videoPercent", +"videoVisible", +"videoStatus", +"videoCurrentTime", +"scrollDepthThreshold", +"scrollDepthUnits", +"scrollDepthDirection", +"elementVisibilityRatio", +"elementVisibilityTime", +"elementVisibilityFirstTime", +"elementVisibilityRecentTime", +"requestPath", +"requestMethod", +"clientName", +"queryString", +"serverPageLocationUrl", +"serverPageLocationPath", +"serverPageLocationHostname", +"visitorRegion" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"For web or mobile.", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"list": { +"description": "Lists all the enabled Built-In Variables of a GTM Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.built_in_variables.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/built_in_variables", +"response": { +"$ref": "ListEnabledBuiltInVariablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Built-In Variables in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.built_in_variables.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "The type of built-in variable to revert.", +"enum": [ +"builtInVariableTypeUnspecified", +"pageUrl", +"pageHostname", +"pagePath", +"referrer", +"event", +"clickElement", +"clickClasses", +"clickId", +"clickTarget", +"clickUrl", +"clickText", +"firstPartyServingUrl", +"formElement", +"formClasses", +"formId", +"formTarget", +"formUrl", +"formText", +"errorMessage", +"errorUrl", +"errorLine", +"newHistoryUrl", +"oldHistoryUrl", +"newHistoryFragment", +"oldHistoryFragment", +"newHistoryState", +"oldHistoryState", +"historySource", +"containerVersion", +"debugMode", +"randomNumber", +"containerId", +"appId", +"appName", +"appVersionCode", +"appVersionName", +"language", +"osVersion", +"platform", +"sdkVersion", +"deviceName", +"resolution", +"advertiserId", +"advertisingTrackingEnabled", +"htmlId", +"environmentName", +"ampBrowserLanguage", +"ampCanonicalPath", +"ampCanonicalUrl", +"ampCanonicalHost", +"ampReferrer", +"ampTitle", +"ampClientId", +"ampClientTimezone", +"ampClientTimestamp", +"ampClientScreenWidth", +"ampClientScreenHeight", +"ampClientScrollX", +"ampClientScrollY", +"ampClientMaxScrollX", +"ampClientMaxScrollY", +"ampTotalEngagedTime", +"ampPageViewId", +"ampPageLoadTime", +"ampPageDownloadTime", +"ampGtmEvent", +"eventName", +"firebaseEventParameterCampaign", +"firebaseEventParameterCampaignAclid", +"firebaseEventParameterCampaignAnid", +"firebaseEventParameterCampaignClickTimestamp", +"firebaseEventParameterCampaignContent", +"firebaseEventParameterCampaignCp1", +"firebaseEventParameterCampaignGclid", +"firebaseEventParameterCampaignSource", +"firebaseEventParameterCampaignTerm", +"firebaseEventParameterCurrency", +"firebaseEventParameterDynamicLinkAcceptTime", +"firebaseEventParameterDynamicLinkLinkid", +"firebaseEventParameterNotificationMessageDeviceTime", +"firebaseEventParameterNotificationMessageId", +"firebaseEventParameterNotificationMessageName", +"firebaseEventParameterNotificationMessageTime", +"firebaseEventParameterNotificationTopic", +"firebaseEventParameterPreviousAppVersion", +"firebaseEventParameterPreviousOsVersion", +"firebaseEventParameterPrice", +"firebaseEventParameterProductId", +"firebaseEventParameterQuantity", +"firebaseEventParameterValue", +"videoProvider", +"videoUrl", +"videoTitle", +"videoDuration", +"videoPercent", +"videoVisible", +"videoStatus", +"videoCurrentTime", +"scrollDepthThreshold", +"scrollDepthUnits", +"scrollDepthDirection", +"elementVisibilityRatio", +"elementVisibilityTime", +"elementVisibilityFirstTime", +"elementVisibilityRecentTime", +"requestPath", +"requestMethod", +"clientName", +"queryString", +"serverPageLocationUrl", +"serverPageLocationPath", +"serverPageLocationHostname", +"visitorRegion" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"For web or mobile.", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}/built_in_variables:revert", +"response": { +"$ref": "RevertBuiltInVariableResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"clients": { +"methods": { +"create": { +"description": "Creates a GTM Client.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.clients.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/clients", +"request": { +"$ref": "Client" +}, +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Client.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.clients.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Client.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.clients.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Clients of a GTM container workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.clients.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/clients", +"response": { +"$ref": "ListClientsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Client in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.clients.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the client in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertClientResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Client.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.clients.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the client in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Client" +}, +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"folders": { +"methods": { +"create": { +"description": "Creates a GTM Folder.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.folders.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/folders", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Folder.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.folders.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"entities": { +"description": "List all entities in a GTM Folder.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:entities", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.folders.entities", +"parameterOrder": [ +"path" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:entities", +"response": { +"$ref": "FolderEntities" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"get": { +"description": "Gets a GTM Folder.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.folders.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Folders of a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.folders.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/folders", +"response": { +"$ref": "ListFoldersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"move_entities_to_folder": { +"description": "Moves entities to a GTM Folder. If {folder_id} in the request path equals 0, this will instead move entities out of the folder they currently belong to.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:move_entities_to_folder", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +}, +"tagId": { +"description": "The tags to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +}, +"triggerId": { +"description": "The triggers to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +}, +"variableId": { +"description": "The variables to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:move_entities_to_folder", +"request": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"revert": { +"description": "Reverts changes to a GTM Folder in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.folders.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the tag in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertFolderResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Folder.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.folders.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the folder in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"gtag_config": { +"methods": { +"create": { +"description": "Creates a Google tag config.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/gtag_config", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.gtag_config.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/gtag_config", +"request": { +"$ref": "GtagConfig" +}, +"response": { +"$ref": "GtagConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a Google tag config.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/gtag_config/{gtag_configId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.gtag_config.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "Google tag config's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/gtag_config/{gtag_config_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/gtag_config/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a Google tag config.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/gtag_config/{gtag_configId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.gtag_config.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "Google tag config's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/gtag_config/{gtag_config_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/gtag_config/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "GtagConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Google tag configs in a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/gtag_config", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.gtag_config.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/gtag_config", +"response": { +"$ref": "ListGtagConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a Google tag config.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/gtag_config/{gtag_configId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.gtag_config.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the config in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "Google tag config's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/gtag_config/{gtag_config_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/gtag_config/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "GtagConfig" +}, +"response": { +"$ref": "GtagConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"tags": { +"methods": { +"create": { +"description": "Creates a GTM Tag.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.tags.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/tags", +"request": { +"$ref": "Tag" +}, +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Tag.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.tags.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Tag.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.tags.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Tags of a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.tags.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/tags", +"response": { +"$ref": "ListTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Tag in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.tags.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of thetag in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertTagResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Tag.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.tags.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the tag in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Tag" +}, +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"templates": { +"methods": { +"create": { +"description": "Creates a GTM Custom Template.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.templates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/templates", +"request": { +"$ref": "CustomTemplate" +}, +"response": { +"$ref": "CustomTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Template.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.templates.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Template.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.templates.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "CustomTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Templates of a GTM container workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.templates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/templates", +"response": { +"$ref": "ListTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Template in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.templates.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the template in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Template.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.templates.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the templates in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "CustomTemplate" +}, +"response": { +"$ref": "CustomTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"transformations": { +"methods": { +"create": { +"description": "Creates a GTM Transformation.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.transformations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/transformations", +"request": { +"$ref": "Transformation" +}, +"response": { +"$ref": "Transformation" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Transformation.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations/{transformationsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.transformations.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Transformation's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/transformations/{transformation_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/transformations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Transformation.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations/{transformationsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.transformations.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Transformation's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/transformations/{transformation_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/transformations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Transformation" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Transformations of a GTM container workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.transformations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/transformations", +"response": { +"$ref": "ListTransformationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Transformation in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations/{transformationsId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.transformations.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the transformation in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Transformation's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/transformations/{transformation_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/transformations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertTransformationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Transformation.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/transformations/{transformationsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.transformations.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the transformation in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Transformation's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/transformations/{transformation_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/transformations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Transformation" +}, +"response": { +"$ref": "Transformation" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"triggers": { +"methods": { +"create": { +"description": "Creates a GTM Trigger.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.triggers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/triggers", +"request": { +"$ref": "Trigger" +}, +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Trigger.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.triggers.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Trigger.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.triggers.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Triggers of a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.triggers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/triggers", +"response": { +"$ref": "ListTriggersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Trigger in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.triggers.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertTriggerResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Trigger.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.triggers.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Trigger" +}, +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"variables": { +"methods": { +"create": { +"description": "Creates a GTM Variable.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.variables.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/variables", +"request": { +"$ref": "Variable" +}, +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Variable.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.variables.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Variable.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.variables.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Variables of a Container.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.variables.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/variables", +"response": { +"$ref": "ListVariablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Variable in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.variables.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the variable in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertVariableResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Variable.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.variables.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the variable in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Variable" +}, +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"zones": { +"methods": { +"create": { +"description": "Creates a GTM Zone.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.zones.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/zones", +"request": { +"$ref": "Zone" +}, +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Zone.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.workspaces.zones.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Zone.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.zones.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Zones of a GTM container workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.workspaces.zones.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/zones", +"response": { +"$ref": "ListZonesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"revert": { +"description": "Reverts changes to a GTM Zone in a GTM Workspace.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}:revert", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.workspaces.zones.revert", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the zone in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}:revert", +"response": { +"$ref": "RevertZoneResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"update": { +"description": "Updates a GTM Zone.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.workspaces.zones.update", +"parameterOrder": [ +"path" +], +"parameters": { +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the zone in storage.", +"location": "query", +"type": "string" +}, +"path": { +"description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}", +"location": "path", +"pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "Zone" +}, +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +} +} +} +} +}, +"user_permissions": { +"methods": { +"create": { +"description": "Creates a user's Account & Container access.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions", +"httpMethod": "POST", +"id": "tagmanager.accounts.user_permissions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/user_permissions", +"request": { +"$ref": "UserPermission" +}, +"response": { +"$ref": "UserPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"delete": { +"description": "Removes a user from the account, revoking access to it and all of its containers.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.user_permissions.delete", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}", +"location": "path", +"pattern": "^accounts/[^/]+/user_permissions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"get": { +"description": "Gets a user's Account & Container access.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.user_permissions.get", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}", +"location": "path", +"pattern": "^accounts/[^/]+/user_permissions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"response": { +"$ref": "UserPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"list": { +"description": "List all users that have access to the account along with Account and Container user access granted to each of them.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions", +"httpMethod": "GET", +"id": "tagmanager.accounts.user_permissions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "GTM Account's API relative path. Example: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+parent}/user_permissions", +"response": { +"$ref": "ListUserPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"update": { +"description": "Updates a user's Account & Container access.", +"flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.user_permissions.update", +"parameterOrder": [ +"path" +], +"parameters": { +"path": { +"description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}", +"location": "path", +"pattern": "^accounts/[^/]+/user_permissions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v2/{+path}", +"request": { +"$ref": "UserPermission" +}, +"response": { +"$ref": "UserPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://tagmanager.googleapis.com/", +"schemas": { +"Account": { +"description": "Represents a Google Tag Manager Account.", +"id": "Account", +"properties": { +"accountId": { +"description": "The Account ID uniquely identifies the GTM Account.", +"type": "string" +}, +"features": { +"$ref": "AccountFeatures", +"description": "Read-only Account feature set" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.", +"type": "string" +}, +"name": { +"description": "Account display name. @mutable tagmanager.accounts.create @mutable tagmanager.accounts.update", +"type": "string" +}, +"path": { +"description": "GTM Account's API relative path.", +"type": "string" +}, +"shareData": { +"description": "Whether the account shares data anonymously with Google and others. This flag enables benchmarking by sharing your data in an anonymous form. Google will remove all identifiable information about your website, combine the data with hundreds of other anonymous sites and report aggregate trends in the benchmarking service. @mutable tagmanager.accounts.create @mutable tagmanager.accounts.update", +"type": "boolean" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +} +}, +"type": "object" +}, +"AccountAccess": { +"description": "Defines the Google Tag Manager Account access permissions.", +"id": "AccountAccess", +"properties": { +"permission": { +"description": "Whether the user has no access, user access, or admin access to an account. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"enum": [ +"accountPermissionUnspecified", +"noAccess", +"user", +"admin" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AccountFeatures": { +"id": "AccountFeatures", +"properties": { +"supportMultipleContainers": { +"description": "Whether this Account supports multiple Containers.", +"type": "boolean" +}, +"supportUserPermissions": { +"description": "Whether this Account supports user permissions managed by GTM.", +"type": "boolean" +} +}, +"type": "object" +}, +"BuiltInVariable": { +"description": "Built-in variables are a special category of variables that are pre-created and non-customizable. They provide common functionality like accessing properties of the gtm data layer, monitoring clicks, or accessing elements of a page URL.", +"id": "BuiltInVariable", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"name": { +"description": "Name of the built-in variable to be used to refer to the built-in variable.", +"type": "string" +}, +"path": { +"description": "GTM BuiltInVariable's API relative path.", +"type": "string" +}, +"type": { +"description": "Type of built-in variable. @required.tagmanager.accounts.containers.workspaces.built_in_variable.update @mutable tagmanager.accounts.containers.workspaces.built_in_variable.update", +"enum": [ +"builtInVariableTypeUnspecified", +"pageUrl", +"pageHostname", +"pagePath", +"referrer", +"event", +"clickElement", +"clickClasses", +"clickId", +"clickTarget", +"clickUrl", +"clickText", +"firstPartyServingUrl", +"formElement", +"formClasses", +"formId", +"formTarget", +"formUrl", +"formText", +"errorMessage", +"errorUrl", +"errorLine", +"newHistoryUrl", +"oldHistoryUrl", +"newHistoryFragment", +"oldHistoryFragment", +"newHistoryState", +"oldHistoryState", +"historySource", +"containerVersion", +"debugMode", +"randomNumber", +"containerId", +"appId", +"appName", +"appVersionCode", +"appVersionName", +"language", +"osVersion", +"platform", +"sdkVersion", +"deviceName", +"resolution", +"advertiserId", +"advertisingTrackingEnabled", +"htmlId", +"environmentName", +"ampBrowserLanguage", +"ampCanonicalPath", +"ampCanonicalUrl", +"ampCanonicalHost", +"ampReferrer", +"ampTitle", +"ampClientId", +"ampClientTimezone", +"ampClientTimestamp", +"ampClientScreenWidth", +"ampClientScreenHeight", +"ampClientScrollX", +"ampClientScrollY", +"ampClientMaxScrollX", +"ampClientMaxScrollY", +"ampTotalEngagedTime", +"ampPageViewId", +"ampPageLoadTime", +"ampPageDownloadTime", +"ampGtmEvent", +"eventName", +"firebaseEventParameterCampaign", +"firebaseEventParameterCampaignAclid", +"firebaseEventParameterCampaignAnid", +"firebaseEventParameterCampaignClickTimestamp", +"firebaseEventParameterCampaignContent", +"firebaseEventParameterCampaignCp1", +"firebaseEventParameterCampaignGclid", +"firebaseEventParameterCampaignSource", +"firebaseEventParameterCampaignTerm", +"firebaseEventParameterCurrency", +"firebaseEventParameterDynamicLinkAcceptTime", +"firebaseEventParameterDynamicLinkLinkid", +"firebaseEventParameterNotificationMessageDeviceTime", +"firebaseEventParameterNotificationMessageId", +"firebaseEventParameterNotificationMessageName", +"firebaseEventParameterNotificationMessageTime", +"firebaseEventParameterNotificationTopic", +"firebaseEventParameterPreviousAppVersion", +"firebaseEventParameterPreviousOsVersion", +"firebaseEventParameterPrice", +"firebaseEventParameterProductId", +"firebaseEventParameterQuantity", +"firebaseEventParameterValue", +"videoProvider", +"videoUrl", +"videoTitle", +"videoDuration", +"videoPercent", +"videoVisible", +"videoStatus", +"videoCurrentTime", +"scrollDepthThreshold", +"scrollDepthUnits", +"scrollDepthDirection", +"elementVisibilityRatio", +"elementVisibilityTime", +"elementVisibilityFirstTime", +"elementVisibilityRecentTime", +"requestPath", +"requestMethod", +"clientName", +"queryString", +"serverPageLocationUrl", +"serverPageLocationPath", +"serverPageLocationHostname", +"visitorRegion" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"For web or mobile.", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"Client": { +"id": "Client", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"clientId": { +"description": "The Client ID uniquely identifies the GTM client.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Client as computed at storage time. This value is recomputed whenever the client is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.clients.create", +"tagmanager.accounts.containers.workspaces.clients.update" +] +}, +"description": "Client display name. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this tag in the container. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"parameter": { +"description": "The client's parameters. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"path": { +"description": "GTM client's API relative path.", +"type": "string" +}, +"priority": { +"description": "Priority determines relative firing order. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", +"format": "int32", +"type": "integer" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.clients.create", +"tagmanager.accounts.containers.workspaces.clients.update" +] +}, +"description": "Client type. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"Condition": { +"description": "Represents a predicate.", +"id": "Condition", +"properties": { +"parameter": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.triggers.create", +"tagmanager.accounts.containers.workspaces.triggers.update" +] +}, +"description": "A list of named parameters (key/value), depending on the condition's type. Notes: - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. - At this time, the left operand (arg0) must be a reference to a variable. - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive. - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.triggers.create", +"tagmanager.accounts.containers.workspaces.triggers.update" +] +}, +"description": "The type of operator for this condition. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"enum": [ +"conditionTypeUnspecified", +"equals", +"contains", +"startsWith", +"endsWith", +"matchRegex", +"greater", +"greaterOrEquals", +"less", +"lessOrEquals", +"cssSelector", +"urlMatches" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Container": { +"description": "Represents a Google Tag Manager Container, which specifies the platform tags will run on, manages workspaces, and retains container versions.", +"id": "Container", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "The Container ID uniquely identifies the GTM Container.", +"type": "string" +}, +"domainName": { +"description": "List of domain names associated with the Container. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"features": { +"$ref": "ContainerFeatures", +"description": "Read-only Container feature set." +}, +"fingerprint": { +"description": "The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create", +"tagmanager.accounts.containers.update" +] +}, +"description": "Container display name. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"notes": { +"description": "Container Notes. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"path": { +"description": "GTM Container's API relative path.", +"type": "string" +}, +"publicId": { +"description": "Container Public ID.", +"type": "string" +}, +"tagIds": { +"description": "All Tag IDs that refer to this Container.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"taggingServerUrls": { +"description": "List of server-side container URLs for the Container. If multiple URLs are provided, all URL paths must match. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"usageContext": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create", +"tagmanager.accounts.containers.update" +] +}, +"description": "List of Usage Contexts for the Container. Valid values include: web, android, or ios. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"enum": [ +"usageContextUnspecified", +"web", +"android", +"ios", +"androidSdk5", +"iosSdk5", +"amp", +"server" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContainerAccess": { +"description": "Defines the Google Tag Manager Container access permissions.", +"id": "ContainerAccess", +"properties": { +"containerId": { +"description": "GTM Container ID. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"type": "string" +}, +"permission": { +"description": "List of Container permissions. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"enum": [ +"containerPermissionUnspecified", +"noAccess", +"read", +"edit", +"approve", +"publish" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ContainerFeatures": { +"id": "ContainerFeatures", +"properties": { +"supportBuiltInVariables": { +"description": "Whether this Container supports built-in variables", +"type": "boolean" +}, +"supportClients": { +"description": "Whether this Container supports clients.", +"type": "boolean" +}, +"supportEnvironments": { +"description": "Whether this Container supports environments.", +"type": "boolean" +}, +"supportFolders": { +"description": "Whether this Container supports folders.", +"type": "boolean" +}, +"supportGtagConfigs": { +"description": "Whether this Container supports Google tag config.", +"type": "boolean" +}, +"supportTags": { +"description": "Whether this Container supports tags.", +"type": "boolean" +}, +"supportTemplates": { +"description": "Whether this Container supports templates.", +"type": "boolean" +}, +"supportTransformations": { +"description": "Whether this Container supports transformations.", +"type": "boolean" +}, +"supportTriggers": { +"description": "Whether this Container supports triggers.", +"type": "boolean" +}, +"supportUserPermissions": { +"description": "Whether this Container supports user permissions managed by GTM.", +"type": "boolean" +}, +"supportVariables": { +"description": "Whether this Container supports variables.", +"type": "boolean" +}, +"supportVersions": { +"description": "Whether this Container supports Container versions.", +"type": "boolean" +}, +"supportWorkspaces": { +"description": "Whether this Container supports workspaces.", +"type": "boolean" +}, +"supportZones": { +"description": "Whether this Container supports zones.", +"type": "boolean" +} +}, +"type": "object" +}, +"ContainerVersion": { +"description": "Represents a Google Tag Manager Container Version.", +"id": "ContainerVersion", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"builtInVariable": { +"description": "The built-in variables in the container that this version was taken from.", +"items": { +"$ref": "BuiltInVariable" +}, +"type": "array" +}, +"client": { +"description": "The clients in the container that this version was taken from.", +"items": { +"$ref": "Client" +}, +"type": "array" +}, +"container": { +"$ref": "Container", +"description": "The container that this version was taken from." +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"description": "The Container Version ID uniquely identifies the GTM Container Version.", +"type": "string" +}, +"customTemplate": { +"description": "The custom templates in the container that this version was taken from.", +"items": { +"$ref": "CustomTemplate" +}, +"type": "array" +}, +"deleted": { +"description": "A value of true indicates this container version has been deleted.", +"type": "boolean" +}, +"description": { +"description": "Container version description. @mutable tagmanager.accounts.containers.versions.update", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.", +"type": "string" +}, +"folder": { +"description": "The folders in the container that this version was taken from.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"gtagConfig": { +"description": "The Google tag configs in the container that this version was taken from.", +"items": { +"$ref": "GtagConfig" +}, +"type": "array" +}, +"name": { +"description": "Container version display name. @mutable tagmanager.accounts.containers.versions.update", +"type": "string" +}, +"path": { +"description": "GTM Container Version's API relative path.", +"type": "string" +}, +"tag": { +"description": "The tags in the container that this version was taken from.", +"items": { +"$ref": "Tag" +}, +"type": "array" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"transformation": { +"description": "The transformations in the container that this version was taken from.", +"items": { +"$ref": "Transformation" +}, +"type": "array" +}, +"trigger": { +"description": "The triggers in the container that this version was taken from.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +}, +"variable": { +"description": "The variables in the container that this version was taken from.", +"items": { +"$ref": "Variable" +}, +"type": "array" +}, +"zone": { +"description": "The zones in the container that this version was taken from.", +"items": { +"$ref": "Zone" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContainerVersionHeader": { +"description": "Represents a Google Tag Manager Container Version Header.", +"id": "ContainerVersionHeader", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"description": "The Container Version ID uniquely identifies the GTM Container Version.", +"type": "string" +}, +"deleted": { +"description": "A value of true indicates this container version has been deleted.", +"type": "boolean" +}, +"name": { +"description": "Container version display name.", +"type": "string" +}, +"numClients": { +"description": "Number of clients in the container version.", +"type": "string" +}, +"numCustomTemplates": { +"description": "Number of custom templates in the container version.", +"type": "string" +}, +"numGtagConfigs": { +"description": "Number of Google tag configs in the container version.", +"type": "string" +}, +"numMacros": { +"deprecated": true, +"description": "Number of macros in the container version.", +"type": "string" +}, +"numRules": { +"deprecated": true, +"description": "Number of rules in the container version.", +"type": "string" +}, +"numTags": { +"description": "Number of tags in the container version.", +"type": "string" +}, +"numTransformations": { +"description": "Number of transformations in the container version.", +"type": "string" +}, +"numTriggers": { +"description": "Number of triggers in the container version.", +"type": "string" +}, +"numVariables": { +"description": "Number of variables in the container version.", +"type": "string" +}, +"numZones": { +"description": "Number of zones in the container version.", +"type": "string" +}, +"path": { +"description": "GTM Container Version's API relative path.", +"type": "string" +} +}, +"type": "object" +}, +"CreateBuiltInVariableResponse": { +"id": "CreateBuiltInVariableResponse", +"properties": { +"builtInVariable": { +"description": "List of created built-in variables.", +"items": { +"$ref": "BuiltInVariable" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateContainerVersionRequestVersionOptions": { +"description": "Options for new container versions.", +"id": "CreateContainerVersionRequestVersionOptions", +"properties": { +"name": { +"description": "The name of the container version to be created.", +"type": "string" +}, +"notes": { +"description": "The notes of the container version to be created.", +"type": "string" +} +}, +"type": "object" +}, +"CreateContainerVersionResponse": { +"description": "Create container versions response.", +"id": "CreateContainerVersionResponse", +"properties": { +"compilerError": { +"description": "Compiler errors or not.", +"type": "boolean" +}, +"containerVersion": { +"$ref": "ContainerVersion", +"description": "The container version created." +}, +"newWorkspacePath": { +"description": "Auto generated workspace path created as a result of version creation. This field should only be populated if the created version was not a quick preview.", +"type": "string" +}, +"syncStatus": { +"$ref": "SyncStatus", +"description": "Whether version creation failed when syncing the workspace to the latest container version." +} +}, +"type": "object" +}, +"CustomTemplate": { +"description": "Represents a Google Tag Manager Custom Template's contents.", +"id": "CustomTemplate", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Custom Template as computed at storage time. This value is recomputed whenever the template is modified.", +"type": "string" +}, +"galleryReference": { +"$ref": "GalleryReference", +"description": "A reference to the Community Template Gallery entry." +}, +"name": { +"description": "Custom Template display name.", +"type": "string" +}, +"path": { +"description": "GTM Custom Template's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"templateData": { +"description": "The custom template in text format.", +"type": "string" +}, +"templateId": { +"description": "The Custom Template ID uniquely identifies the GTM custom template.", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"Destination": { +"description": "Represents a Google Tag Destination.", +"id": "Destination", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"destinationId": { +"description": "Destination ID.", +"type": "string" +}, +"destinationLinkId": { +"description": "The Destination link ID uniquely identifies the Destination.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the Google Tag Destination as computed at storage time. This value is recomputed whenever the destination is modified.", +"type": "string" +}, +"name": { +"description": "Destination display name.", +"type": "string" +}, +"path": { +"description": "Destination's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI.", +"type": "string" +} +}, +"type": "object" +}, +"Entity": { +"description": "A workspace entity that may represent a tag, trigger, variable, or folder in addition to its status in the workspace.", +"id": "Entity", +"properties": { +"builtInVariable": { +"$ref": "BuiltInVariable", +"description": "The built in variable being represented by the entity." +}, +"changeStatus": { +"description": "Represents how the entity has been changed in the workspace.", +"enum": [ +"changeStatusUnspecified", +"none", +"added", +"deleted", +"updated" +], +"enumDescriptions": [ +"", +"The entity has never been changed.", +"The entity is added to the workspace.", +"The entity is deleted from the workspace.", +"The entity has been updated in the workspace." +], +"type": "string" +}, +"client": { +"$ref": "Client", +"description": "The client being represented by the entity." +}, +"customTemplate": { +"$ref": "CustomTemplate", +"description": "The custom template being represented by the entity." +}, +"folder": { +"$ref": "Folder", +"description": "The folder being represented by the entity." +}, +"gtagConfig": { +"$ref": "GtagConfig", +"description": "The gtag config being represented by the entity." +}, +"tag": { +"$ref": "Tag", +"description": "The tag being represented by the entity." +}, +"transformation": { +"$ref": "Transformation", +"description": "The transformation being represented by the entity." +}, +"trigger": { +"$ref": "Trigger", +"description": "The trigger being represented by the entity." +}, +"variable": { +"$ref": "Variable", +"description": "The variable being represented by the entity." +}, +"zone": { +"$ref": "Zone", +"description": "The zone being represented by the entity." +} +}, +"type": "object" +}, +"Environment": { +"description": "Represents a Google Tag Manager Environment. Note that a user can create, delete and update environments of type USER, but can only update the enable_debug and url fields of environments of other types.", +"id": "Environment", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"authorizationCode": { +"description": "The environment authorization code.", +"type": "string" +}, +"authorizationTimestamp": { +"description": "The last update time-stamp for the authorization code.", +"format": "google-datetime", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"description": "Represents a link to a container version.", +"type": "string" +}, +"description": { +"description": "The environment description. Can be set or changed only on USER type environments. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +}, +"enableDebug": { +"description": "Whether or not to enable debug by default for the environment. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "boolean" +}, +"environmentId": { +"description": "GTM Environment ID uniquely identifies the GTM Environment.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM environment as computed at storage time. This value is recomputed whenever the environment is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.environments.create", +"tagmanager.accounts.containers.environments.update" +] +}, +"description": "The environment display name. Can be set or changed only on USER type environments. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +}, +"path": { +"description": "GTM Environment's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"type": { +"description": "The type of this environment.", +"enum": [ +"user", +"live", +"latest", +"workspace" +], +"enumDescriptions": [ +"Points to a user defined environment.", +"Points to the current live container version.", +"Points to the latest container version.", +"Automatically managed environment that points to a workspace preview or version created by a workspace." +], +"type": "string" +}, +"url": { +"description": "Default preview page url for the environment. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +}, +"workspaceId": { +"description": "Represents a link to a quick preview of a workspace.", +"type": "string" +} +}, +"type": "object" +}, +"Folder": { +"description": "Represents a Google Tag Manager Folder.", +"id": "Folder", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified.", +"type": "string" +}, +"folderId": { +"description": "The Folder ID uniquely identifies the GTM Folder.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.folders.create", +"tagmanager.accounts.containers.workspaces.folders.update" +] +}, +"description": "Folder display name. @mutable tagmanager.accounts.containers.workspaces.folders.create @mutable tagmanager.accounts.containers.workspaces.folders.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this folder in the container. @mutable tagmanager.accounts.containers.workspaces.folders.create @mutable tagmanager.accounts.containers.workspaces.folders.update", +"type": "string" +}, +"path": { +"description": "GTM Folder's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"FolderEntities": { +"description": "Represents a Google Tag Manager Folder's contents.", +"id": "FolderEntities", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"tag": { +"description": "The list of tags inside the folder.", +"items": { +"$ref": "Tag" +}, +"type": "array" +}, +"trigger": { +"description": "The list of triggers inside the folder.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +}, +"variable": { +"description": "The list of variables inside the folder.", +"items": { +"$ref": "Variable" +}, +"type": "array" +} +}, +"type": "object" +}, +"GalleryReference": { +"description": "Represents the link between a custom template and an entry on the Community Template Gallery site.", +"id": "GalleryReference", +"properties": { +"host": { +"description": "The name of the host for the community gallery template.", +"type": "string" +}, +"isModified": { +"description": "If a user has manually edited the community gallery template.", +"type": "boolean" +}, +"owner": { +"description": "The name of the owner for the community gallery template.", +"type": "string" +}, +"repository": { +"description": "The name of the repository for the community gallery template.", +"type": "string" +}, +"signature": { +"description": "The signature of the community gallery template as computed at import time. This value is recomputed whenever the template is updated from the gallery.", +"type": "string" +}, +"templateDeveloperId": { +"description": "The developer id of the community gallery template. This value is set whenever the template is created from the gallery.", +"type": "string" +}, +"version": { +"description": "The version of the community gallery template.", +"type": "string" +} +}, +"type": "object" +}, +"GetContainerSnippetResponse": { +"id": "GetContainerSnippetResponse", +"properties": { +"snippet": { +"description": "Tagging snippet for a Container.", +"type": "string" +} +}, +"type": "object" +}, +"GetWorkspaceStatusResponse": { +"description": "The changes that have occurred in the workspace since the base container version.", +"id": "GetWorkspaceStatusResponse", +"properties": { +"mergeConflict": { +"description": "The merge conflict after sync.", +"items": { +"$ref": "MergeConflict" +}, +"type": "array" +}, +"workspaceChange": { +"description": "Entities that have been changed in the workspace.", +"items": { +"$ref": "Entity" +}, +"type": "array" +} +}, +"type": "object" +}, +"GtagConfig": { +"description": "Represents a Google tag configuration.", +"id": "GtagConfig", +"properties": { +"accountId": { +"description": "Google tag account ID.", +"type": "string" +}, +"containerId": { +"description": "Google tag container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the Google tag config as computed at storage time. This value is recomputed whenever the config is modified.", +"type": "string" +}, +"gtagConfigId": { +"description": "The ID uniquely identifies the Google tag config.", +"type": "string" +}, +"parameter": { +"description": "The Google tag config's parameters. @mutable tagmanager.accounts.containers.workspaces.gtag_config.create @mutable tagmanager.accounts.containers.workspaces.gtag_config.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"path": { +"description": "Google tag config's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"type": { +"description": "Google tag config type. @required tagmanager.accounts.containers.workspaces.gtag_config.create @required tagmanager.accounts.containers.workspaces.gtag_config.update @mutable tagmanager.accounts.containers.workspaces.gtag_config.create @mutable tagmanager.accounts.containers.workspaces.gtag_config.update", +"type": "string" +}, +"workspaceId": { +"description": "Google tag workspace ID. Only used by GTM containers. Set to 0 otherwise.", +"type": "string" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "List Accounts Response.", +"id": "ListAccountsResponse", +"properties": { +"account": { +"description": "List of GTM Accounts that a user has access to.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListClientsResponse": { +"id": "ListClientsResponse", +"properties": { +"client": { +"description": "All GTM Clients of a GTM Container.", +"items": { +"$ref": "Client" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListContainerVersionsResponse": { +"description": "List container versions response.", +"id": "ListContainerVersionsResponse", +"properties": { +"containerVersionHeader": { +"description": "All container version headers of a GTM Container.", +"items": { +"$ref": "ContainerVersionHeader" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListContainersResponse": { +"description": "List Containers Response.", +"id": "ListContainersResponse", +"properties": { +"container": { +"description": "All Containers of a GTM Account.", +"items": { +"$ref": "Container" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListDestinationsResponse": { +"id": "ListDestinationsResponse", +"properties": { +"destination": { +"description": "All Destinations linked to a GTM Container.", +"items": { +"$ref": "Destination" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListEnabledBuiltInVariablesResponse": { +"description": "A list of enabled built-in variables.", +"id": "ListEnabledBuiltInVariablesResponse", +"properties": { +"builtInVariable": { +"description": "All GTM BuiltInVariables of a GTM container.", +"items": { +"$ref": "BuiltInVariable" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListEnvironmentsResponse": { +"description": "List Environments Response.", +"id": "ListEnvironmentsResponse", +"properties": { +"environment": { +"description": "All Environments of a GTM Container.", +"items": { +"$ref": "Environment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListFoldersResponse": { +"description": "List Folders Response.", +"id": "ListFoldersResponse", +"properties": { +"folder": { +"description": "All GTM Folders of a GTM Container.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListGtagConfigResponse": { +"id": "ListGtagConfigResponse", +"properties": { +"gtagConfig": { +"description": "All Google tag configs in a Container.", +"items": { +"$ref": "GtagConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListTagsResponse": { +"description": "List Tags Response.", +"id": "ListTagsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"tag": { +"description": "All GTM Tags of a GTM Container.", +"items": { +"$ref": "Tag" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTemplatesResponse": { +"id": "ListTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"template": { +"description": "All GTM Custom Templates of a GTM Container.", +"items": { +"$ref": "CustomTemplate" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTransformationsResponse": { +"id": "ListTransformationsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"transformation": { +"description": "All GTM Transformations of a GTM Container.", +"items": { +"$ref": "Transformation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTriggersResponse": { +"description": "List triggers response.", +"id": "ListTriggersResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"trigger": { +"description": "All GTM Triggers of a GTM Container.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUserPermissionsResponse": { +"description": "List user permissions response.", +"id": "ListUserPermissionsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"userPermission": { +"description": "All GTM UserPermissions of a GTM Account.", +"items": { +"$ref": "UserPermission" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVariablesResponse": { +"description": "List Variables Response.", +"id": "ListVariablesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"variable": { +"description": "All GTM Variables of a GTM Container.", +"items": { +"$ref": "Variable" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkspacesResponse": { +"description": "A list of workspaces in a container.", +"id": "ListWorkspacesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"workspace": { +"description": "All Workspaces of a GTM Container.", +"items": { +"$ref": "Workspace" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListZonesResponse": { +"id": "ListZonesResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"zone": { +"description": "All GTM Zones of a GTM Container.", +"items": { +"$ref": "Zone" +}, +"type": "array" +} +}, +"type": "object" +}, +"MergeConflict": { +"description": "Represents a merge conflict.", +"id": "MergeConflict", +"properties": { +"entityInBaseVersion": { +"$ref": "Entity", +"description": "The base version entity (since the latest sync operation) that has conflicting changes compared to the workspace. If this field is missing, it means the workspace entity is deleted from the base version." +}, +"entityInWorkspace": { +"$ref": "Entity", +"description": "The workspace entity that has conflicting changes compared to the base version. If an entity is deleted in a workspace, it will still appear with a deleted change status." +} +}, +"type": "object" +}, +"Parameter": { +"description": "Represents a Google Tag Manager Parameter.", +"id": "Parameter", +"properties": { +"isWeakReference": { +"description": "Whether or not a reference type parameter is strongly or weakly referenced. Only used by Transformations. @mutable tagmanager.accounts.containers.workspaces.transformations.create @mutable tagmanager.accounts.containers.workspaces.transformations.update", +"type": "boolean" +}, +"key": { +"description": "The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"list": { +"description": "This list parameter's parameters (keys will be ignored). @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"map": { +"description": "This map parameter's parameters (must have keys; keys must be unique). @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.tags.create", +"tagmanager.accounts.containers.workspaces.tags.update", +"tagmanager.accounts.containers.workspaces.triggers.create", +"tagmanager.accounts.containers.workspaces.triggers.update", +"tagmanager.accounts.containers.workspaces.variables.create", +"tagmanager.accounts.containers.workspaces.variables.update" +] +}, +"description": "The parameter type. Valid values are: - boolean: The value represents a boolean, represented as 'true' or 'false' - integer: The value represents a 64-bit signed integer value, in base 10 - list: A list of parameters should be specified - map: A map of parameters should be specified - template: The value represents any text; this can include variable references (even variable references that might return non-string types) - trigger_reference: The value represents a trigger, represented as the trigger id - tag_reference: The value represents a tag, represented as the tag name @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"enum": [ +"typeUnspecified", +"template", +"integer", +"boolean", +"list", +"map", +"triggerReference", +"tagReference" +], +"enumDescriptions": [ +"", +"May include variable references (such as \"{{myVariable}}\").", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"value": { +"description": "A parameter's value (may contain variable references such as \"{{myVariable}}\") as appropriate to the specified type. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +} +}, +"type": "object" +}, +"PublishContainerVersionResponse": { +"description": "Publish container version response.", +"id": "PublishContainerVersionResponse", +"properties": { +"compilerError": { +"description": "Compiler errors or not.", +"type": "boolean" +}, +"containerVersion": { +"$ref": "ContainerVersion", +"description": "The container version created." +} +}, +"type": "object" +}, +"QuickPreviewResponse": { +"description": "Response to quick previewing a workspace.", +"id": "QuickPreviewResponse", +"properties": { +"compilerError": { +"description": "Were there compiler errors or not.", +"type": "boolean" +}, +"containerVersion": { +"$ref": "ContainerVersion", +"description": "The quick previewed container version." +}, +"syncStatus": { +"$ref": "SyncStatus", +"description": "Whether quick previewing failed when syncing the workspace to the latest container version." +} +}, +"type": "object" +}, +"RevertBuiltInVariableResponse": { +"description": "The result of reverting a built-in variable in a workspace.", +"id": "RevertBuiltInVariableResponse", +"properties": { +"enabled": { +"description": "Whether the built-in variable is enabled after reversion.", +"type": "boolean" +} +}, +"type": "object" +}, +"RevertClientResponse": { +"description": "The result of reverting a client in a workspace.", +"id": "RevertClientResponse", +"properties": { +"client": { +"$ref": "Client", +"description": "Client as it appears in the latest container version since the last workspace synchronization operation. If no client is present, that means the client was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertFolderResponse": { +"description": "The result of reverting folder changes in a workspace.", +"id": "RevertFolderResponse", +"properties": { +"folder": { +"$ref": "Folder", +"description": "Folder as it appears in the latest container version since the last workspace synchronization operation. If no folder is present, that means the folder was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertTagResponse": { +"description": "The result of reverting a tag in a workspace.", +"id": "RevertTagResponse", +"properties": { +"tag": { +"$ref": "Tag", +"description": "Tag as it appears in the latest container version since the last workspace synchronization operation. If no tag is present, that means the tag was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertTemplateResponse": { +"description": "The result of reverting a template in a workspace.", +"id": "RevertTemplateResponse", +"properties": { +"template": { +"$ref": "CustomTemplate", +"description": "Template as it appears in the latest container version since the last workspace synchronization operation. If no template is present, that means the template was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertTransformationResponse": { +"description": "The result of reverting a transformation in a workspace.", +"id": "RevertTransformationResponse", +"properties": { +"transformation": { +"$ref": "Transformation", +"description": "Transformation as it appears in the latest container version since the last workspace synchronization operation. If no transformation is present, that means the transformation was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertTriggerResponse": { +"description": "The result of reverting a trigger in a workspace.", +"id": "RevertTriggerResponse", +"properties": { +"trigger": { +"$ref": "Trigger", +"description": "Trigger as it appears in the latest container version since the last workspace synchronization operation. If no trigger is present, that means the trigger was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertVariableResponse": { +"description": "The result of reverting a variable in a workspace.", +"id": "RevertVariableResponse", +"properties": { +"variable": { +"$ref": "Variable", +"description": "Variable as it appears in the latest container version since the last workspace synchronization operation. If no variable is present, that means the variable was deleted in the latest container version." +} +}, +"type": "object" +}, +"RevertZoneResponse": { +"description": "The result of reverting a zone in a workspace.", +"id": "RevertZoneResponse", +"properties": { +"zone": { +"$ref": "Zone", +"description": "Zone as it appears in the latest container version since the last workspace synchronization operation. If no zone is present, that means the zone was deleted in the latest container version." +} +}, +"type": "object" +}, +"SetupTag": { +"description": "Represents a reference to atag that fires before another tag in order to set up dependencies.", +"id": "SetupTag", +"properties": { +"stopOnSetupFailure": { +"description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status.", +"type": "boolean" +}, +"tagName": { +"description": "The name of the setup tag.", +"type": "string" +} +}, +"type": "object" +}, +"SyncStatus": { +"description": "The status of a workspace after synchronization.", +"id": "SyncStatus", +"properties": { +"mergeConflict": { +"description": "Synchornization operation detected a merge conflict.", +"type": "boolean" +}, +"syncError": { +"description": "An error occurred during the synchronization operation.", +"type": "boolean" +} +}, +"type": "object" +}, +"SyncWorkspaceResponse": { +"description": "A response after synchronizing the workspace to the latest container version.", +"id": "SyncWorkspaceResponse", +"properties": { +"mergeConflict": { +"description": "The merge conflict after sync. If this field is not empty, the sync is still treated as successful. But a version cannot be created until all conflicts are resolved.", +"items": { +"$ref": "MergeConflict" +}, +"type": "array" +}, +"syncStatus": { +"$ref": "SyncStatus", +"description": "Indicates whether synchronization caused a merge conflict or sync error." +} +}, +"type": "object" +}, +"Tag": { +"description": "Represents a Google Tag Manager Tag.", +"id": "Tag", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"blockingRuleId": { +"deprecated": true, +"description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"blockingTriggerId": { +"description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"consentSettings": { +"$ref": "TagConsentSetting", +"description": "Consent settings of a tag. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.", +"type": "string" +}, +"firingRuleId": { +"deprecated": true, +"description": "Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"firingTriggerId": { +"description": "Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"liveOnly": { +"description": "If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode). @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "boolean" +}, +"monitoringMetadata": { +"$ref": "Parameter", +"description": "A map of key-value pairs of tag metadata to be included in the event data for tag monitoring. Notes: - This parameter must be type MAP. - Each parameter in the map are type TEMPLATE, however cannot contain variable references. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update" +}, +"monitoringMetadataTagNameKey": { +"description": "If non-empty, then the tag display name will be included in the monitoring metadata map using the key specified. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.tags.create", +"tagmanager.accounts.containers.workspaces.tags.update" +] +}, +"description": "Tag display name. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this tag in the container. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"parameter": { +"description": "The tag's parameters. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"path": { +"description": "GTM Tag's API relative path.", +"type": "string" +}, +"paused": { +"description": "Indicates whether the tag is paused, which prevents the tag from firing. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "boolean" +}, +"priority": { +"$ref": "Parameter", +"description": "User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update" +}, +"scheduleEndMs": { +"description": "The end timestamp in milliseconds to schedule a tag. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"format": "int64", +"type": "string" +}, +"scheduleStartMs": { +"description": "The start timestamp in milliseconds to schedule a tag. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"format": "int64", +"type": "string" +}, +"setupTag": { +"description": "The list of setup tags. Currently we only allow one.", +"items": { +"$ref": "SetupTag" +}, +"type": "array" +}, +"tagFiringOption": { +"description": "Option to fire this tag.", +"enum": [ +"tagFiringOptionUnspecified", +"unlimited", +"oncePerEvent", +"oncePerLoad" +], +"enumDescriptions": [ +"", +"Tag can be fired multiple times per event.", +"Tag can only be fired per event but can be fired multiple times per load (e.g., app load or page load).", +"Tag can only be fired per load (e.g., app load or page load)." +], +"type": "string" +}, +"tagId": { +"description": "The Tag ID uniquely identifies the GTM Tag.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"teardownTag": { +"description": "The list of teardown tags. Currently we only allow one.", +"items": { +"$ref": "TeardownTag" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.tags.create", +"tagmanager.accounts.containers.workspaces.tags.update" +] +}, +"description": "GTM Tag Type. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"TagConsentSetting": { +"id": "TagConsentSetting", +"properties": { +"consentStatus": { +"description": "The tag's consent status. If set to NEEDED, the runtime will check that the consent types specified by the consent_type field have been granted.", +"enum": [ +"notSet", +"notNeeded", +"needed" +], +"enumDescriptions": [ +"Default value where user has not specified any setting on it.", +"Tag doesn't require any additional consent settings.", +"Tag requires additional consent settings." +], +"type": "string" +}, +"consentType": { +"$ref": "Parameter", +"description": "The type of consents to check for during tag firing if in the consent NEEDED state. This parameter must be of type LIST where each list item is of type STRING." +} +}, +"type": "object" +}, +"TeardownTag": { +"description": "Represents a tag that fires after another tag in order to tear down dependencies.", +"id": "TeardownTag", +"properties": { +"stopTeardownOnFailure": { +"description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status.", +"type": "boolean" +}, +"tagName": { +"description": "The name of the teardown tag.", +"type": "string" +} +}, +"type": "object" +}, +"Transformation": { +"description": "Represents a Google Tag Manager Transformation.", +"id": "Transformation", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Transformation as computed at storage time. This value is recomputed whenever the transformation is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.transformations.create", +"tagmanager.accounts.containers.workspaces.transformations.update" +] +}, +"description": "Transformation display name. @mutable tagmanager.accounts.containers.workspaces.transformations.create @mutable tagmanager.accounts.containers.workspaces.transformations.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this transformation in the container. @mutable tagmanager.accounts.containers.workspaces.transformations.create @mutable tagmanager.accounts.containers.workspaces.transformations.update", +"type": "string" +}, +"parameter": { +"description": "The transformation's parameters. @mutable tagmanager.accounts.containers.workspaces.transformations.create @mutable tagmanager.accounts.containers.workspaces.transformations.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"path": { +"description": "GTM transformation's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"transformationId": { +"description": "The Transformation ID uniquely identifies the GTM transformation.", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.transformations.create", +"tagmanager.accounts.containers.workspaces.transformations.update" +] +}, +"description": "Transformation type. @mutable tagmanager.accounts.containers.workspaces.transformations.create @mutable tagmanager.accounts.containers.workspaces.transformations.update", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"Trigger": { +"description": "Represents a Google Tag Manager Trigger", +"id": "Trigger", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"autoEventFilter": { +"description": "Used in the case of auto event tracking. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"checkValidation": { +"$ref": "Parameter", +"description": "Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"continuousTimeMinMilliseconds": { +"$ref": "Parameter", +"description": "A visibility trigger minimum continuous visible time (in milliseconds). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"customEventFilter": { +"description": "Used in the case of custom event, which is fired iff all Conditions are true. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"eventName": { +"$ref": "Parameter", +"description": "Name of the GTM event that is fired. Only valid for Timer triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"filter": { +"description": "The trigger will only fire iff all Conditions are true. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.", +"type": "string" +}, +"horizontalScrollPercentageList": { +"$ref": "Parameter", +"description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled horizontally. Only valid for AMP scroll triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"interval": { +"$ref": "Parameter", +"description": "Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"intervalSeconds": { +"$ref": "Parameter", +"description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"limit": { +"$ref": "Parameter", +"description": "Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"maxTimerLengthSeconds": { +"$ref": "Parameter", +"description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.triggers.create", +"tagmanager.accounts.containers.workspaces.triggers.update" +] +}, +"description": "Trigger display name. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this trigger in the container. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"type": "string" +}, +"parameter": { +"description": "Additional parameters. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"path": { +"description": "GTM Trigger's API relative path.", +"type": "string" +}, +"selector": { +"$ref": "Parameter", +"description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP Click trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"totalTimeMinMilliseconds": { +"$ref": "Parameter", +"description": "A visibility trigger minimum total visible time (in milliseconds). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"triggerId": { +"description": "The Trigger ID uniquely identifies the GTM Trigger.", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.triggers.create" +] +}, +"description": "Defines the data layer event that causes this trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"enum": [ +"eventTypeUnspecified", +"pageview", +"domReady", +"windowLoaded", +"customEvent", +"triggerGroup", +"init", +"consentInit", +"serverPageview", +"always", +"firebaseAppException", +"firebaseAppUpdate", +"firebaseCampaign", +"firebaseFirstOpen", +"firebaseInAppPurchase", +"firebaseNotificationDismiss", +"firebaseNotificationForeground", +"firebaseNotificationOpen", +"firebaseNotificationReceive", +"firebaseOsUpdate", +"firebaseSessionStart", +"firebaseUserEngagement", +"formSubmission", +"click", +"linkClick", +"jsError", +"historyChange", +"timer", +"ampClick", +"ampTimer", +"ampScroll", +"ampVisibility", +"youTubeVideo", +"scrollDepth", +"elementVisibility" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"uniqueTriggerId": { +"$ref": "Parameter", +"description": "Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"verticalScrollPercentageList": { +"$ref": "Parameter", +"description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled vertically. Only valid for AMP scroll triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"visibilitySelector": { +"$ref": "Parameter", +"description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"visiblePercentageMax": { +"$ref": "Parameter", +"description": "A visibility trigger maximum percent visibility. Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"visiblePercentageMin": { +"$ref": "Parameter", +"description": "A visibility trigger minimum percent visibility. Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"waitForTags": { +"$ref": "Parameter", +"description": "Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"waitForTagsTimeout": { +"$ref": "Parameter", +"description": "How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"UserPermission": { +"description": "Represents a user's permissions to an account and its container.", +"id": "UserPermission", +"properties": { +"accountAccess": { +"$ref": "AccountAccess", +"description": "GTM Account access permissions. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update" +}, +"accountId": { +"description": "The Account ID uniquely identifies the GTM Account.", +"type": "string" +}, +"containerAccess": { +"description": "GTM Container access permissions. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"items": { +"$ref": "ContainerAccess" +}, +"type": "array" +}, +"emailAddress": { +"description": "User's email address. @mutable tagmanager.accounts.permissions.create", +"type": "string" +}, +"path": { +"description": "GTM UserPermission's API relative path.", +"type": "string" +} +}, +"type": "object" +}, +"Variable": { +"description": "Represents a Google Tag Manager Variable.", +"id": "Variable", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"disablingTriggerId": { +"description": "For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"enablingTriggerId": { +"description": "For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.", +"type": "string" +}, +"formatValue": { +"$ref": "VariableFormatValue", +"description": "Option to convert a variable value to other value." +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.variables.create", +"tagmanager.accounts.containers.workspaces.variables.update" +] +}, +"description": "Variable display name. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this variable in the container. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"type": "string" +}, +"parameter": { +"description": "The variable's parameters. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"path": { +"description": "GTM Variable's API relative path.", +"type": "string" +}, +"scheduleEndMs": { +"description": "The end timestamp in milliseconds to schedule a variable. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"format": "int64", +"type": "string" +}, +"scheduleStartMs": { +"description": "The start timestamp in milliseconds to schedule a variable. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"format": "int64", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.variables.create", +"tagmanager.accounts.containers.workspaces.variables.update" +] +}, +"description": "GTM Variable Type. @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.variables.update", +"type": "string" +}, +"variableId": { +"description": "The Variable ID uniquely identifies the GTM Variable.", +"type": "string" +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +} +}, +"type": "object" +}, +"VariableFormatValue": { +"id": "VariableFormatValue", +"properties": { +"caseConversionType": { +"description": "The option to convert a string-type variable value to either lowercase or uppercase.", +"enum": [ +"none", +"lowercase", +"uppercase" +], +"enumDescriptions": [ +"", +"The option to convert a variable value to lowercase.", +"The option to convert a variable value to uppercase." +], +"type": "string" +}, +"convertFalseToValue": { +"$ref": "Parameter", +"description": "The value to convert if a variable value is false." +}, +"convertNullToValue": { +"$ref": "Parameter", +"description": "The value to convert if a variable value is null." +}, +"convertTrueToValue": { +"$ref": "Parameter", +"description": "The value to convert if a variable value is true." +}, +"convertUndefinedToValue": { +"$ref": "Parameter", +"description": "The value to convert if a variable value is undefined." +} +}, +"type": "object" +}, +"Workspace": { +"description": "Represents a Google Tag Manager Container Workspace.", +"id": "Workspace", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"description": { +"description": "Workspace description. @mutable tagmanager.accounts.containers.workspaces.create @mutable tagmanager.accounts.containers.workspaces.update", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Workspace as computed at storage time. This value is recomputed whenever the workspace is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.workspaces.create", +"tagmanager.accounts.containers.workspaces.update" +] +}, +"description": "Workspace display name. @mutable tagmanager.accounts.containers.workspaces.create @mutable tagmanager.accounts.containers.workspaces.update", +"type": "string" +}, +"path": { +"description": "GTM Workspace's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"workspaceId": { +"description": "The Workspace ID uniquely identifies the GTM Workspace.", +"type": "string" +} +}, +"type": "object" +}, +"Zone": { +"description": "Represents a Google Tag Manager Zone's contents.", +"id": "Zone", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"boundary": { +"$ref": "ZoneBoundary", +"description": "This Zone's boundary." +}, +"childContainer": { +"description": "Containers that are children of this Zone.", +"items": { +"$ref": "ZoneChildContainer" +}, +"type": "array" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Zone as computed at storage time. This value is recomputed whenever the zone is modified.", +"type": "string" +}, +"name": { +"description": "Zone display name.", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this zone in the container.", +"type": "string" +}, +"path": { +"description": "GTM Zone's API relative path.", +"type": "string" +}, +"tagManagerUrl": { +"description": "Auto generated link to the tag manager UI", +"type": "string" +}, +"typeRestriction": { +"$ref": "ZoneTypeRestriction", +"description": "This Zone's type restrictions." +}, +"workspaceId": { +"description": "GTM Workspace ID.", +"type": "string" +}, +"zoneId": { +"description": "The Zone ID uniquely identifies the GTM Zone.", +"type": "string" +} +}, +"type": "object" +}, +"ZoneBoundary": { +"description": "Represents a Zone's boundaries.", +"id": "ZoneBoundary", +"properties": { +"condition": { +"description": "The conditions that, when conjoined, make up the boundary.", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"customEvaluationTriggerId": { +"description": "Custom evaluation trigger IDs. A zone will evaluate its boundary conditions when any of the listed triggers are true.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ZoneChildContainer": { +"description": "Represents a child container of a Zone.", +"id": "ZoneChildContainer", +"properties": { +"nickname": { +"description": "The zone's nickname for the child container.", +"type": "string" +}, +"publicId": { +"description": "The child container's public id.", +"type": "string" +} +}, +"type": "object" +}, +"ZoneTypeRestriction": { +"description": "Represents a Zone's type restrictions.", +"id": "ZoneTypeRestriction", +"properties": { +"enable": { +"description": "True if type restrictions have been enabled for this Zone.", +"type": "boolean" +}, +"whitelistedTypeId": { +"description": "List of type public ids that have been whitelisted for use in this Zone.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Tag Manager API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json new file mode 100644 index 0000000000000000000000000000000000000000..0a2ac4da48907adc27ba083ea2fd82f2cee4a608 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json @@ -0,0 +1,3934 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://toolresults.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Tool Results", +"description": "API to publish and access results from developer tools.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/test-lab/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "toolresults:v1beta3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://toolresults.mtls.googleapis.com/", +"name": "toolresults", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"getSettings": { +"description": "Gets the Tool Results settings for a project. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read from project", +"flatPath": "toolresults/v1beta3/projects/{projectId}/settings", +"httpMethod": "GET", +"id": "toolresults.projects.getSettings", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/settings", +"response": { +"$ref": "ProjectSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"initializeSettings": { +"description": "Creates resources for settings which have not yet been set. Currently, this creates a single resource: a Google Cloud Storage bucket, to be used as the default bucket for this project. The bucket is created in an FTL-own storage project. Except for in rare cases, calling this method in parallel from multiple clients will only create a single bucket. In order to avoid unnecessary storage charges, the bucket is configured to automatically delete objects older than 90 days. The bucket is created with the following permissions: - Owner access for owners of central storage project (FTL-owned) - Writer access for owners/editors of customer project - Reader access for viewers of customer project The default ACL on objects created in the bucket is: - Owner access for owners of central storage project - Reader access for owners/editors/viewers of customer project See Google Cloud Storage documentation for more details. If there is already a default bucket set and the project can access the bucket, this call does nothing. However, if the project doesn't have the permission to access the bucket or the bucket is deleted, a new bucket will be created. May return any canonical error codes, including the following: - PERMISSION_DENIED - if the user is not authorized to write to project - Any error code raised by Google Cloud Storage", +"flatPath": "toolresults/v1beta3/projects/{projectId}:initializeSettings", +"httpMethod": "POST", +"id": "toolresults.projects.initializeSettings", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}:initializeSettings", +"response": { +"$ref": "ProjectSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"histories": { +"methods": { +"create": { +"description": "Creates a History. The returned History will have the id set. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing project does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories", +"httpMethod": "POST", +"id": "toolresults.projects.histories.create", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.", +"location": "query", +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories", +"request": { +"$ref": "History" +}, +"response": { +"$ref": "History" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a History. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.get", +"parameterOrder": [ +"projectId", +"historyId" +], +"parameters": { +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}", +"response": { +"$ref": "History" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Histories for a given Project. The histories are sorted by modification time in descending order. The history_id key will be used to order the history with the same modification time. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories", +"httpMethod": "GET", +"id": "toolresults.projects.histories.list", +"parameterOrder": [ +"projectId" +], +"parameters": { +"filterByName": { +"description": "If set, only return histories with the given name. Optional.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Histories to fetch. Default value: 20. The server will use this default if the field is not set or has a value of 0. Any value greater than 100 will be treated as 100. Optional.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item. Optional.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories", +"response": { +"$ref": "ListHistoriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"create": { +"description": "Creates an Execution. The returned Execution will have the id set. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.create", +"parameterOrder": [ +"projectId", +"historyId" +], +"parameters": { +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.", +"location": "query", +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions", +"request": { +"$ref": "Execution" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Execution. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "An Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}", +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Executions for a given History. The executions are sorted by creation_time in descending order. The execution_id key will be used to order the executions with the same creation_time. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.list", +"parameterOrder": [ +"projectId", +"historyId" +], +"parameters": { +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Executions to fetch. Default value: 25. The server will use this default if the field is not set or has a value of 0. Optional.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item. Optional.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions", +"response": { +"$ref": "ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Execution with the supplied partial entity. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal - NOT_FOUND - if the containing History does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}", +"httpMethod": "PATCH", +"id": "toolresults.projects.histories.executions.patch", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.", +"location": "query", +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}", +"request": { +"$ref": "Execution" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"clusters": { +"methods": { +"get": { +"description": "Retrieves a single screenshot cluster by its ID", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.clusters.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "A Cluster id Required.", +"location": "path", +"required": true, +"type": "string" +}, +"executionId": { +"description": "An Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", +"response": { +"$ref": "ScreenshotCluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Screenshot Clusters Returns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.clusters.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "An Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters", +"response": { +"$ref": "ListScreenshotClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"environments": { +"methods": { +"get": { +"description": "Gets an Environment. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Environment does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.environments.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"environmentId" +], +"parameters": { +"environmentId": { +"description": "Required. An Environment id.", +"location": "path", +"required": true, +"type": "string" +}, +"executionId": { +"description": "Required. An Execution id.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "Required. A History id.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. A Project id.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}", +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Environments for a given Execution. The Environments are sorted by display name. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.environments.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "Required. An Execution id.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "Required. A History id.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Environments to fetch. Default value: 25. The server will use this default if the field is not set or has a value of 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. A Project id.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments", +"response": { +"$ref": "ListEnvironmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"steps": { +"methods": { +"accessibilityClusters": { +"description": "Lists accessibility clusters for a given Step May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if an argument in the request happens to be invalid; e.g. if the locale format is incorrect - NOT_FOUND - if the containing Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectsId}/histories/{historiesId}/executions/{executionsId}/steps/{stepsId}:accessibilityClusters", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.accessibilityClusters", +"parameterOrder": [ +"name" +], +"parameters": { +"locale": { +"description": "The accepted format is the canonical Unicode format with hyphen as a delimiter. Language must be lowercase, Language Script - Capitalized, Region - UPPERCASE. See http://www.unicode.org/reports/tr35/#Unicode_locale_identifier for details. Required.", +"location": "query", +"type": "string" +}, +"name": { +"description": "A full resource name of the step. For example, projects/my-project/histories/bh.1234567890abcdef/executions/ 1234567890123456789/steps/bs.1234567890abcdef Required.", +"location": "path", +"pattern": "^projects/[^/]+/histories/[^/]+/executions/[^/]+/steps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/{+name}:accessibilityClusters", +"response": { +"$ref": "ListStepAccessibilityClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Step. The returned Step will have the id set. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.steps.create", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "Required. An Execution id.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "Required. A History id.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. A Project id.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.", +"location": "query", +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps", +"request": { +"$ref": "Step" +}, +"response": { +"$ref": "Step" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Step. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A Step id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}", +"response": { +"$ref": "Step" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getPerfMetricsSummary": { +"description": "Retrieves a PerfMetricsSummary. May return any of the following error code(s): - NOT_FOUND - The specified PerfMetricsSummary does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.getPerfMetricsSummary", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", +"response": { +"$ref": "PerfMetricsSummary" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Steps for a given Execution. The steps are sorted by creation_time in descending order. The step_id key will be used to order the steps with the same creation_time. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if an argument in the request happens to be invalid; e.g. if an attempt is made to list the children of a nonexistent Step - NOT_FOUND - if the containing Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId" +], +"parameters": { +"executionId": { +"description": "A Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Steps to fetch. Default value: 25. The server will use this default if the field is not set or has a value of 0. Optional.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item. Optional.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps", +"response": { +"$ref": "ListStepsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Step with the supplied partial entity. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal (e.g try to upload a duplicate xml file), if the updated step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}", +"httpMethod": "PATCH", +"id": "toolresults.projects.histories.executions.steps.patch", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.", +"location": "query", +"type": "string" +}, +"stepId": { +"description": "A Step id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}", +"request": { +"$ref": "Step" +}, +"response": { +"$ref": "Step" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"publishXunitXmlFiles": { +"description": "Publish xml files to an existing Step. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal, e.g. try to upload a duplicate xml file or a file too large. - NOT_FOUND - if the containing Execution does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.steps.publishXunitXmlFiles", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A Step id. Note: This step must include a TestExecutionStep. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles", +"request": { +"$ref": "PublishXunitXmlFilesRequest" +}, +"response": { +"$ref": "Step" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"perfMetricsSummary": { +"methods": { +"create": { +"description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created. May return any of the following error code(s): - NOT_FOUND - The containing Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", +"request": { +"$ref": "PerfMetricsSummary" +}, +"response": { +"$ref": "PerfMetricsSummary" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"perfSampleSeries": { +"methods": { +"create": { +"description": "Creates a PerfSampleSeries. May return any of the following error code(s): - ALREADY_EXISTS - PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.steps.perfSampleSeries.create", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries", +"request": { +"$ref": "PerfSampleSeries" +}, +"response": { +"$ref": "PerfSampleSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a PerfSampleSeries. May return any of the following error code(s): - NOT_FOUND - The specified PerfSampleSeries does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.perfSampleSeries.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId", +"sampleSeriesId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"sampleSeriesId": { +"description": "A sample series id", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}", +"response": { +"$ref": "PerfSampleSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists PerfSampleSeries for a given Step. The request provides an optional filter which specifies one or more PerfMetricsType to include in the result; if none returns all. The resulting PerfSampleSeries are sorted by ids. May return any of the following canonical error codes: - NOT_FOUND - The containing Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.perfSampleSeries.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "Specify one or more PerfMetricType values such as CPU to filter the result", +"enum": [ +"perfMetricTypeUnspecified", +"memory", +"cpu", +"network", +"graphics" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries", +"response": { +"$ref": "ListPerfSampleSeriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"samples": { +"methods": { +"batchCreate": { +"description": "Creates a batch of PerfSamples - a client can submit multiple batches of Perf Samples through repeated calls to this method in order to split up a large request payload - duplicates and existing timestamp entries will be ignored. - the batch operation may partially succeed - the set of elements successfully inserted is returned in the response (omits items which already existed in the database). May return any of the following canonical error codes: - NOT_FOUND - The containing PerfSampleSeries does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate", +"httpMethod": "POST", +"id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId", +"sampleSeriesId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"sampleSeriesId": { +"description": "A sample series id", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate", +"request": { +"$ref": "BatchCreatePerfSamplesRequest" +}, +"response": { +"$ref": "BatchCreatePerfSamplesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Performance Samples of a given Sample Series - The list results are sorted by timestamps ascending - The default page size is 500 samples; and maximum size allowed 5000 - The response token indicates the last returned PerfSample timestamp - When the results size exceeds the page size, submit a subsequent request including the page token to return the rest of the samples up to the page limit May return any of the following canonical error codes: - OUT_OF_RANGE - The specified request page_token is out of valid range - NOT_FOUND - The containing PerfSampleSeries does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId", +"sampleSeriesId" +], +"parameters": { +"executionId": { +"description": "A tool results execution ID.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A tool results history ID.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The default page size is 500 samples, and the maximum size is 5000. If the page_size is greater than 5000, the effective page size will be 5000", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional, the next_page_token returned in the previous response", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "The cloud project", +"location": "path", +"required": true, +"type": "string" +}, +"sampleSeriesId": { +"description": "A sample series id", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A tool results step ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples", +"response": { +"$ref": "ListPerfSamplesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"testCases": { +"methods": { +"get": { +"description": "Gets details of a Test Case for a Step. Experimental test cases API. Still in active development. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing Test Case does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.testCases.get", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId", +"testCaseId" +], +"parameters": { +"executionId": { +"description": "A Execution id Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A Step id. Note: This step must include a TestExecutionStep. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"testCaseId": { +"description": "A Test Case id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}", +"response": { +"$ref": "TestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Test Cases attached to a Step. Experimental test cases API. Still in active development. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing Step does not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.testCases.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "A Execution id Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TestCases to fetch. Default value: 100. The server will use this default if the field is not set or has a value of 0. Optional.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item. Optional.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A Step id. Note: This step must include a TestExecutionStep. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases", +"response": { +"$ref": "ListTestCasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"thumbnails": { +"methods": { +"list": { +"description": "Lists thumbnails of images attached to a step. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read from the project, or from any of the images - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the step does not exist, or if any of the images do not exist", +"flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails", +"httpMethod": "GET", +"id": "toolresults.projects.histories.executions.steps.thumbnails.list", +"parameterOrder": [ +"projectId", +"historyId", +"executionId", +"stepId" +], +"parameters": { +"executionId": { +"description": "An Execution id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"historyId": { +"description": "A History id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of thumbnails to fetch. Default value: 50. The server will use this default if the field is not set or has a value of 0. Optional.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token to resume the query at the next item. Optional.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "A Project id. Required.", +"location": "path", +"required": true, +"type": "string" +}, +"stepId": { +"description": "A Step id. Required.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails", +"response": { +"$ref": "ListStepThumbnailsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20241121", +"rootUrl": "https://toolresults.googleapis.com/", +"schemas": { +"ANR": { +"description": "Additional details for an ANR crash.", +"id": "ANR", +"properties": { +"stackTrace": { +"$ref": "StackTrace", +"description": "The stack trace of the ANR crash. Optional." +} +}, +"type": "object" +}, +"AndroidAppInfo": { +"description": "Android app information.", +"id": "AndroidAppInfo", +"properties": { +"name": { +"description": "The name of the app. Optional", +"type": "string" +}, +"packageName": { +"description": "The package name of the app. Required.", +"type": "string" +}, +"versionCode": { +"description": "The internal version code of the app. Optional.", +"type": "string" +}, +"versionName": { +"description": "The version name of the app. Optional.", +"type": "string" +} +}, +"type": "object" +}, +"AndroidInstrumentationTest": { +"description": "A test of an Android application that can control an Android component independently of its normal lifecycle. See for more information on types of Android tests.", +"id": "AndroidInstrumentationTest", +"properties": { +"testPackageId": { +"description": "The java package for the test to be executed. Required", +"type": "string" +}, +"testRunnerClass": { +"description": "The InstrumentationTestRunner class. Required", +"type": "string" +}, +"testTargets": { +"description": "Each target must be fully qualified with the package name or class name, in one of these formats: - \"package package_name\" - \"class package_name.class_name\" - \"class package_name.class_name#method_name\" If empty, all targets in the module will be run.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useOrchestrator": { +"description": "The flag indicates whether Android Test Orchestrator will be used to run test or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"AndroidRoboTest": { +"description": "A test of an android application that explores the application on a virtual or physical Android device, finding culprits and crashes as it goes.", +"id": "AndroidRoboTest", +"properties": { +"appInitialActivity": { +"description": "The initial activity that should be used to start the app. Optional", +"type": "string" +}, +"bootstrapPackageId": { +"description": "The java package for the bootstrap. Optional", +"type": "string" +}, +"bootstrapRunnerClass": { +"description": "The runner class for the bootstrap. Optional", +"type": "string" +}, +"maxDepth": { +"description": "The max depth of the traversal stack Robo can explore. Optional", +"format": "int32", +"type": "integer" +}, +"maxSteps": { +"description": "The max number of steps/actions Robo can execute. Default is no limit (0). Optional", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AndroidTest": { +"description": "An Android mobile test specification.", +"id": "AndroidTest", +"properties": { +"androidAppInfo": { +"$ref": "AndroidAppInfo", +"description": "Information about the application under test." +}, +"androidInstrumentationTest": { +"$ref": "AndroidInstrumentationTest", +"description": "An Android instrumentation test." +}, +"androidRoboTest": { +"$ref": "AndroidRoboTest", +"description": "An Android robo test." +}, +"androidTestLoop": { +"$ref": "AndroidTestLoop", +"description": "An Android test loop." +}, +"testTimeout": { +"$ref": "Duration", +"description": "Max time a test is allowed to run before it is automatically cancelled." +} +}, +"type": "object" +}, +"AndroidTestLoop": { +"description": "Test Loops are tests that can be launched by the app itself, determining when to run by listening for an intent.", +"id": "AndroidTestLoop", +"properties": {}, +"type": "object" +}, +"Any": { +"description": " `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := ptypes.MarshalAny(foo) ... foo := &pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example \"foo.bar.com/x/y.z\" will yield type name \"y.z\". # JSON The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { \"@type\": \"type.googleapis.com/google.profile.Person\", \"firstName\": , \"lastName\": } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message google.protobuf.Duration): { \"@type\": \"type.googleapis.com/google.protobuf.Duration\", \"value\": \"1.212s\" }", +"id": "Any", +"properties": { +"typeUrl": { +"description": "A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a google.protobuf.Type value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.", +"type": "string" +}, +"value": { +"description": "Must be a valid serialized protocol buffer of the above specified type.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"AppStartTime": { +"id": "AppStartTime", +"properties": { +"fullyDrawnTime": { +"$ref": "Duration", +"description": "Optional. The time from app start to reaching the developer-reported \"fully drawn\" time. This is only stored if the app includes a call to Activity.reportFullyDrawn(). See https://developer.android.com/topic/performance/launch-time.html#time-full" +}, +"initialDisplayTime": { +"$ref": "Duration", +"description": "The time from app start to the first displayed activity being drawn, as reported in Logcat. See https://developer.android.com/topic/performance/launch-time.html#time-initial" +} +}, +"type": "object" +}, +"AssetIssue": { +"description": "There was an issue with the assets in this test.", +"id": "AssetIssue", +"properties": {}, +"type": "object" +}, +"AvailableDeepLinks": { +"description": "A suggestion to use deep links for a Robo run.", +"id": "AvailableDeepLinks", +"properties": {}, +"type": "object" +}, +"BasicPerfSampleSeries": { +"description": "Encapsulates the metadata for basic sample series represented by a line chart", +"id": "BasicPerfSampleSeries", +"properties": { +"perfMetricType": { +"enum": [ +"perfMetricTypeUnspecified", +"memory", +"cpu", +"network", +"graphics" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"perfUnit": { +"enum": [ +"perfUnitUnspecified", +"kibibyte", +"percent", +"bytesPerSecond", +"framesPerSecond", +"byte" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"sampleSeriesLabel": { +"enum": [ +"sampleSeriesTypeUnspecified", +"memoryRssPrivate", +"memoryRssShared", +"memoryRssTotal", +"memoryTotal", +"cpuUser", +"cpuKernel", +"cpuTotal", +"ntBytesTransferred", +"ntBytesReceived", +"networkSent", +"networkReceived", +"graphicsFrameRate" +], +"enumDescriptions": [ +"", +"Memory sample series", +"", +"", +"", +"CPU sample series", +"", +"", +"Network sample series", +"", +"", +"", +"Graphics sample series" +], +"type": "string" +} +}, +"type": "object" +}, +"BatchCreatePerfSamplesRequest": { +"description": "The request must provide up to a maximum of 5000 samples to be created; a larger sample size will cause an INVALID_ARGUMENT error", +"id": "BatchCreatePerfSamplesRequest", +"properties": { +"perfSamples": { +"description": "The set of PerfSamples to create should not include existing timestamps", +"items": { +"$ref": "PerfSample" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchCreatePerfSamplesResponse": { +"id": "BatchCreatePerfSamplesResponse", +"properties": { +"perfSamples": { +"items": { +"$ref": "PerfSample" +}, +"type": "array" +} +}, +"type": "object" +}, +"BlankScreen": { +"description": "A warning that Robo encountered a screen that was mostly blank; this may indicate a problem with the app.", +"id": "BlankScreen", +"properties": { +"screenId": { +"description": "The screen id of the element", +"type": "string" +} +}, +"type": "object" +}, +"CPUInfo": { +"id": "CPUInfo", +"properties": { +"cpuProcessor": { +"description": "description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'", +"type": "string" +}, +"cpuSpeedInGhz": { +"description": "the CPU clock speed in GHz", +"format": "float", +"type": "number" +}, +"numberOfCores": { +"description": "the number of CPU cores", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CrashDialogError": { +"description": "Crash dialog was detected during the test execution", +"id": "CrashDialogError", +"properties": { +"crashPackage": { +"description": "The name of the package that caused the dialog.", +"type": "string" +} +}, +"type": "object" +}, +"DetectedAppSplashScreen": { +"description": "A notification that Robo detected a splash screen provided by app (vs. Android OS splash screen).", +"id": "DetectedAppSplashScreen", +"properties": {}, +"type": "object" +}, +"DeviceOutOfMemory": { +"description": "A warning that device ran out of memory", +"id": "DeviceOutOfMemory", +"properties": {}, +"type": "object" +}, +"Duration": { +"description": " A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.", +"id": "Duration", +"properties": { +"nanos": { +"description": "Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EncounteredLoginScreen": { +"description": "Additional details about encountered login screens.", +"id": "EncounteredLoginScreen", +"properties": { +"distinctScreens": { +"description": "Number of encountered distinct login screens.", +"format": "int32", +"type": "integer" +}, +"screenIds": { +"description": "Subset of login screens.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EncounteredNonAndroidUiWidgetScreen": { +"description": "Additional details about encountered screens with elements that are not Android UI widgets.", +"id": "EncounteredNonAndroidUiWidgetScreen", +"properties": { +"distinctScreens": { +"description": "Number of encountered distinct screens with non Android UI widgets.", +"format": "int32", +"type": "integer" +}, +"screenIds": { +"description": "Subset of screens which contain non Android UI widgets.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Environment": { +"description": "An Environment represents the set of test runs (Steps) from the parent Execution that are configured with the same set of dimensions (Model, Version, Locale, and Orientation). Multiple such runs occur particularly because of features like sharding (splitting up a test suite to run in parallel across devices) and reruns (running a test multiple times to check for different outcomes).", +"id": "Environment", +"properties": { +"completionTime": { +"$ref": "Timestamp", +"description": "Output only. The time when the Environment status was set to complete. This value will be set automatically when state transitions to COMPLETE." +}, +"creationTime": { +"$ref": "Timestamp", +"description": "Output only. The time when the Environment was created." +}, +"dimensionValue": { +"description": "Dimension values describing the environment. Dimension values always consist of \"Model\", \"Version\", \"Locale\", and \"Orientation\". - In response: always set - In create request: always set - In update request: never set", +"items": { +"$ref": "EnvironmentDimensionValueEntry" +}, +"type": "array" +}, +"displayName": { +"description": "A short human-readable name to display in the UI. Maximum of 100 characters. For example: Nexus 5, API 27.", +"type": "string" +}, +"environmentId": { +"description": "Output only. An Environment id.", +"type": "string" +}, +"environmentResult": { +"$ref": "MergedResult", +"description": "Merged result of the environment." +}, +"executionId": { +"description": "Output only. An Execution id.", +"type": "string" +}, +"historyId": { +"description": "Output only. A History id.", +"type": "string" +}, +"projectId": { +"description": "Output only. A Project id.", +"type": "string" +}, +"resultsStorage": { +"$ref": "ResultsStorage", +"description": "The location where output files are stored in the user bucket." +}, +"shardSummaries": { +"description": "Output only. Summaries of shards. Only one shard will present unless sharding feature is enabled in TestExecutionService.", +"items": { +"$ref": "ShardSummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnvironmentDimensionValueEntry": { +"id": "EnvironmentDimensionValueEntry", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"Execution": { +"description": "An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step The maximum size of an execution message is 1 MiB. An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.", +"id": "Execution", +"properties": { +"completionTime": { +"$ref": "Timestamp", +"description": "The time when the Execution status transitioned to COMPLETE. This value will be set automatically when state transitions to COMPLETE. - In response: set if the execution state is COMPLETE. - In create/update request: never set" +}, +"creationTime": { +"$ref": "Timestamp", +"description": "The time when the Execution was created. This value will be set automatically when CreateExecution is called. - In response: always set - In create/update request: never set" +}, +"dimensionDefinitions": { +"description": "The dimensions along which different steps in this execution may vary. This must remain fixed over the life of the execution. Returns INVALID_ARGUMENT if this field is set in an update request. Returns INVALID_ARGUMENT if the same name occurs in more than one dimension_definition. Returns INVALID_ARGUMENT if the size of the list is over 100. - In response: present if set by create - In create request: optional - In update request: never set", +"items": { +"$ref": "MatrixDimensionDefinition" +}, +"type": "array" +}, +"executionId": { +"description": "A unique identifier within a History for this Execution. Returns INVALID_ARGUMENT if this field is set or overwritten by the caller. - In response always set - In create/update request: never set", +"type": "string" +}, +"outcome": { +"$ref": "Outcome", +"description": "Classify the result, for example into SUCCESS or FAILURE - In response: present if set by create/update request - In create/update request: optional" +}, +"specification": { +"$ref": "Specification", +"description": "Lightweight information about execution request. - In response: present if set by create - In create: optional - In update: optional" +}, +"state": { +"description": "The initial state is IN_PROGRESS. The only legal state transitions is from IN_PROGRESS to COMPLETE. A PRECONDITION_FAILED will be returned if an invalid transition is requested. The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times. If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE. - In response always set - In create/update request: optional", +"enum": [ +"unknownState", +"pending", +"inProgress", +"complete" +], +"enumDescriptions": [ +"Should never be in this state. Exists for proto deserialization backward compatibility.", +"The Execution/Step is created, ready to run, but not running yet. If an Execution/Step is created without initial state, it is assumed that the Execution/Step is in PENDING state.", +"The Execution/Step is in progress.", +"The finalized, immutable state. Steps/Executions in this state cannot be modified." +], +"type": "string" +}, +"testExecutionMatrixId": { +"description": "TestExecution Matrix ID that the TestExecutionService uses. - In response: present if set by create - In create: optional - In update: never set", +"type": "string" +} +}, +"type": "object" +}, +"FailedToInstall": { +"description": "Failed to install the App.", +"id": "FailedToInstall", +"properties": {}, +"type": "object" +}, +"FailureDetail": { +"description": "Details for an outcome with a FAILURE outcome summary.", +"id": "FailureDetail", +"properties": { +"crashed": { +"description": "If the failure was severe because the system (app) under test crashed.", +"type": "boolean" +}, +"deviceOutOfMemory": { +"description": "If the device ran out of memory during a test, causing the test to crash.", +"type": "boolean" +}, +"failedRoboscript": { +"description": "If the Roboscript failed to complete successfully, e.g., because a Roboscript action or assertion failed or a Roboscript action could not be matched during the entire crawl.", +"type": "boolean" +}, +"notInstalled": { +"description": "If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.", +"type": "boolean" +}, +"otherNativeCrash": { +"description": "If a native process (including any other than the app) crashed.", +"type": "boolean" +}, +"timedOut": { +"description": "If the test overran some time limit, and that is why it failed.", +"type": "boolean" +}, +"unableToCrawl": { +"description": "If the robo was unable to crawl the app; perhaps because the app did not start.", +"type": "boolean" +} +}, +"type": "object" +}, +"FatalException": { +"description": "Additional details for a fatal exception.", +"id": "FatalException", +"properties": { +"stackTrace": { +"$ref": "StackTrace", +"description": "The stack trace of the fatal exception. Optional." +} +}, +"type": "object" +}, +"FileReference": { +"description": "A reference to a file.", +"id": "FileReference", +"properties": { +"fileUri": { +"description": "The URI of a file stored in Google Cloud Storage. For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000 An INVALID_ARGUMENT error will be returned if the URI format is not supported. - In response: always set - In create/update request: always set", +"type": "string" +} +}, +"type": "object" +}, +"GraphicsStats": { +"description": "Graphics statistics for the App. The information is collected from 'adb shell dumpsys graphicsstats'. For more info see: https://developer.android.com/training/testing/performance.html Statistics will only be present for API 23+.", +"id": "GraphicsStats", +"properties": { +"buckets": { +"description": "Histogram of frame render times. There should be 154 buckets ranging from [5ms, 6ms) to [4950ms, infinity)", +"items": { +"$ref": "GraphicsStatsBucket" +}, +"type": "array" +}, +"highInputLatencyCount": { +"description": "Total \"high input latency\" events.", +"format": "int64", +"type": "string" +}, +"jankyFrames": { +"description": "Total frames with slow render time. Should be <= total_frames.", +"format": "int64", +"type": "string" +}, +"missedVsyncCount": { +"description": "Total \"missed vsync\" events.", +"format": "int64", +"type": "string" +}, +"p50Millis": { +"description": "50th percentile frame render time in milliseconds.", +"format": "int64", +"type": "string" +}, +"p90Millis": { +"description": "90th percentile frame render time in milliseconds.", +"format": "int64", +"type": "string" +}, +"p95Millis": { +"description": "95th percentile frame render time in milliseconds.", +"format": "int64", +"type": "string" +}, +"p99Millis": { +"description": "99th percentile frame render time in milliseconds.", +"format": "int64", +"type": "string" +}, +"slowBitmapUploadCount": { +"description": "Total \"slow bitmap upload\" events.", +"format": "int64", +"type": "string" +}, +"slowDrawCount": { +"description": "Total \"slow draw\" events.", +"format": "int64", +"type": "string" +}, +"slowUiThreadCount": { +"description": "Total \"slow UI thread\" events.", +"format": "int64", +"type": "string" +}, +"totalFrames": { +"description": "Total frames rendered by package.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GraphicsStatsBucket": { +"id": "GraphicsStatsBucket", +"properties": { +"frameCount": { +"description": "Number of frames in the bucket.", +"format": "int64", +"type": "string" +}, +"renderMillis": { +"description": "Lower bound of render time in milliseconds.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"History": { +"description": "A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build. Note that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.", +"id": "History", +"properties": { +"displayName": { +"description": "A short human-readable (plain text) name to display in the UI. Maximum of 100 characters. - In response: present if set during create. - In create request: optional", +"type": "string" +}, +"historyId": { +"description": "A unique identifier within a project for this History. Returns INVALID_ARGUMENT if this field is set or overwritten by the caller. - In response always set - In create request: never set", +"type": "string" +}, +"name": { +"description": "A name to uniquely identify a history within a project. Maximum of 200 characters. - In response always set - In create request: always set", +"type": "string" +}, +"testPlatform": { +"description": "The platform of the test history. - In response: always set. Returns the platform of the last execution if unknown.", +"enum": [ +"unknownPlatform", +"android", +"ios" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Image": { +"description": "An image, with a link to the main image and a thumbnail.", +"id": "Image", +"properties": { +"error": { +"$ref": "Status", +"description": "An error explaining why the thumbnail could not be rendered." +}, +"sourceImage": { +"$ref": "ToolOutputReference", +"description": "A reference to the full-size, original image. This is the same as the tool_outputs entry for the image under its Step. Always set." +}, +"stepId": { +"description": "The step to which the image is attached. Always set.", +"type": "string" +}, +"thumbnail": { +"$ref": "Thumbnail", +"description": "The thumbnail." +} +}, +"type": "object" +}, +"InAppPurchasesFound": { +"description": "Additional details of in-app purchases encountered during the crawl.", +"id": "InAppPurchasesFound", +"properties": { +"inAppPurchasesFlowsExplored": { +"description": "The total number of in-app purchases flows explored: how many times the robo tries to buy a SKU.", +"format": "int32", +"type": "integer" +}, +"inAppPurchasesFlowsStarted": { +"description": "The total number of in-app purchases flows started.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InconclusiveDetail": { +"description": "Details for an outcome with an INCONCLUSIVE outcome summary.", +"id": "InconclusiveDetail", +"properties": { +"abortedByUser": { +"description": "If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.", +"type": "boolean" +}, +"hasErrorLogs": { +"description": "If results are being provided to the user in certain cases of infrastructure failures", +"type": "boolean" +}, +"infrastructureFailure": { +"description": "If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed. For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.", +"type": "boolean" +} +}, +"type": "object" +}, +"IndividualOutcome": { +"description": "Step Id and outcome of each individual step that was run as a group with other steps with the same configuration.", +"id": "IndividualOutcome", +"properties": { +"multistepNumber": { +"description": "Unique int given to each step. Ranges from 0(inclusive) to total number of steps(exclusive). The primary step is 0.", +"format": "int32", +"type": "integer" +}, +"outcomeSummary": { +"enum": [ +"unset", +"success", +"failure", +"inconclusive", +"skipped", +"flaky" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The test matrix run was successful, for instance: - All the test cases passed. - Robo did not detect a crash of the application under test.", +"A run failed, for instance: - One or more test case failed. - A test timed out. - The application under test crashed.", +"Something unexpected happened. The run should still be considered unsuccessful but this is likely a transient problem and re-running the test might be successful.", +"All tests were skipped, for instance: - All device configurations were incompatible.", +"A group of steps that were run with the same configuration had both failure and success outcomes." +], +"type": "string" +}, +"runDuration": { +"$ref": "Duration", +"description": "How long it took for this step to run." +}, +"stepId": { +"type": "string" +} +}, +"type": "object" +}, +"InsufficientCoverage": { +"description": "A warning that Robo did not crawl potentially important parts of the app.", +"id": "InsufficientCoverage", +"properties": {}, +"type": "object" +}, +"IosAppCrashed": { +"description": "Additional details for an iOS app crash.", +"id": "IosAppCrashed", +"properties": { +"stackTrace": { +"$ref": "StackTrace", +"description": "The stack trace, if one is available. Optional." +} +}, +"type": "object" +}, +"IosAppInfo": { +"description": "iOS app information", +"id": "IosAppInfo", +"properties": { +"name": { +"description": "The name of the app. Required", +"type": "string" +} +}, +"type": "object" +}, +"IosRoboTest": { +"description": "A Robo test for an iOS application.", +"id": "IosRoboTest", +"properties": {}, +"type": "object" +}, +"IosTest": { +"description": "A iOS mobile test specification", +"id": "IosTest", +"properties": { +"iosAppInfo": { +"$ref": "IosAppInfo", +"description": "Information about the application under test." +}, +"iosRoboTest": { +"$ref": "IosRoboTest", +"description": "An iOS Robo test." +}, +"iosTestLoop": { +"$ref": "IosTestLoop", +"description": "An iOS test loop." +}, +"iosXcTest": { +"$ref": "IosXcTest", +"description": "An iOS XCTest." +}, +"testTimeout": { +"$ref": "Duration", +"description": "Max time a test is allowed to run before it is automatically cancelled." +} +}, +"type": "object" +}, +"IosTestLoop": { +"description": "A game loop test of an iOS application.", +"id": "IosTestLoop", +"properties": { +"bundleId": { +"description": "Bundle ID of the app.", +"type": "string" +} +}, +"type": "object" +}, +"IosXcTest": { +"description": "A test of an iOS application that uses the XCTest framework.", +"id": "IosXcTest", +"properties": { +"bundleId": { +"description": "Bundle ID of the app.", +"type": "string" +}, +"xcodeVersion": { +"description": "Xcode version that the test was run with.", +"type": "string" +} +}, +"type": "object" +}, +"LauncherActivityNotFound": { +"description": "Failed to find the launcher activity of an app.", +"id": "LauncherActivityNotFound", +"properties": {}, +"type": "object" +}, +"ListEnvironmentsResponse": { +"description": "Response message for EnvironmentService.ListEnvironments.", +"id": "ListEnvironmentsResponse", +"properties": { +"environments": { +"description": "Environments. Always set.", +"items": { +"$ref": "Environment" +}, +"type": "array" +}, +"executionId": { +"description": "A Execution id Always set.", +"type": "string" +}, +"historyId": { +"description": "A History id. Always set.", +"type": "string" +}, +"nextPageToken": { +"description": "A continuation token to resume the query at the next item. Will only be set if there are more Environments to fetch.", +"type": "string" +}, +"projectId": { +"description": "A Project id. Always set.", +"type": "string" +} +}, +"type": "object" +}, +"ListExecutionsResponse": { +"id": "ListExecutionsResponse", +"properties": { +"executions": { +"description": "Executions. Always set.", +"items": { +"$ref": "Execution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A continuation token to resume the query at the next item. Will only be set if there are more Executions to fetch.", +"type": "string" +} +}, +"type": "object" +}, +"ListHistoriesResponse": { +"description": "Response message for HistoryService.List", +"id": "ListHistoriesResponse", +"properties": { +"histories": { +"description": "Histories.", +"items": { +"$ref": "History" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A continuation token to resume the query at the next item. Will only be set if there are more histories to fetch. Tokens are valid for up to one hour from the time of the first list request. For instance, if you make a list request at 1PM and use the token from this first request 10 minutes later, the token from this second response will only be valid for 50 minutes.", +"type": "string" +} +}, +"type": "object" +}, +"ListPerfSampleSeriesResponse": { +"id": "ListPerfSampleSeriesResponse", +"properties": { +"perfSampleSeries": { +"description": "The resulting PerfSampleSeries sorted by id", +"items": { +"$ref": "PerfSampleSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPerfSamplesResponse": { +"id": "ListPerfSamplesResponse", +"properties": { +"nextPageToken": { +"description": "Optional, returned if result size exceeds the page size specified in the request (or the default page size, 500, if unspecified). It indicates the last sample timestamp to be used as page_token in subsequent request", +"type": "string" +}, +"perfSamples": { +"items": { +"$ref": "PerfSample" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScreenshotClustersResponse": { +"id": "ListScreenshotClustersResponse", +"properties": { +"clusters": { +"description": "The set of clusters associated with an execution Always set", +"items": { +"$ref": "ScreenshotCluster" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStepAccessibilityClustersResponse": { +"description": "Response message for AccessibilityService.ListStepAccessibilityClusters.", +"id": "ListStepAccessibilityClustersResponse", +"properties": { +"clusters": { +"description": "A sequence of accessibility suggestions, grouped into clusters. Within the sequence, clusters that belong to the same SuggestionCategory should be adjacent. Within each category, clusters should be ordered by their SuggestionPriority (ERRORs first). The categories should be ordered by their highest priority cluster.", +"items": { +"$ref": "SuggestionClusterProto" +}, +"type": "array" +}, +"name": { +"description": "A full resource name of the step. For example, projects/my-project/histories/bh.1234567890abcdef/executions/ 1234567890123456789/steps/bs.1234567890abcdef Always presents.", +"type": "string" +} +}, +"type": "object" +}, +"ListStepThumbnailsResponse": { +"description": "A response containing the thumbnails in a step.", +"id": "ListStepThumbnailsResponse", +"properties": { +"nextPageToken": { +"description": "A continuation token to resume the query at the next item. If set, indicates that there are more thumbnails to read, by calling list again with this value in the page_token field.", +"type": "string" +}, +"thumbnails": { +"description": "A list of image data. Images are returned in a deterministic order; they are ordered by these factors, in order of importance: * First, by their associated test case. Images without a test case are considered greater than images with one. * Second, by their creation time. Images without a creation time are greater than images with one. * Third, by the order in which they were added to the step (by calls to CreateStep or UpdateStep).", +"items": { +"$ref": "Image" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStepsResponse": { +"description": "Response message for StepService.List.", +"id": "ListStepsResponse", +"properties": { +"nextPageToken": { +"description": "A continuation token to resume the query at the next item. If set, indicates that there are more steps to read, by calling list again with this value in the page_token field.", +"type": "string" +}, +"steps": { +"description": "Steps.", +"items": { +"$ref": "Step" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTestCasesResponse": { +"description": "Response message for StepService.ListTestCases.", +"id": "ListTestCasesResponse", +"properties": { +"nextPageToken": { +"type": "string" +}, +"testCases": { +"description": "List of test cases.", +"items": { +"$ref": "TestCase" +}, +"type": "array" +} +}, +"type": "object" +}, +"LogcatCollectionError": { +"description": "A warning that there were issues in logcat collection.", +"id": "LogcatCollectionError", +"properties": {}, +"type": "object" +}, +"MatrixDimensionDefinition": { +"description": "One dimension of the matrix of different runs of a step.", +"id": "MatrixDimensionDefinition", +"properties": {}, +"type": "object" +}, +"MemoryInfo": { +"id": "MemoryInfo", +"properties": { +"memoryCapInKibibyte": { +"description": "Maximum memory that can be allocated to the process in KiB", +"format": "int64", +"type": "string" +}, +"memoryTotalInKibibyte": { +"description": "Total memory available on the device in KiB", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MergedResult": { +"description": "Merged test result for environment. If the environment has only one step (no reruns or shards), then the merged result is the same as the step result. If the environment has multiple shards and/or reruns, then the results of shards and reruns that belong to the same environment are merged into one environment result.", +"id": "MergedResult", +"properties": { +"outcome": { +"$ref": "Outcome", +"description": "Outcome of the resource" +}, +"state": { +"description": "State of the resource", +"enum": [ +"unknownState", +"pending", +"inProgress", +"complete" +], +"enumDescriptions": [ +"Should never be in this state. Exists for proto deserialization backward compatibility.", +"The Execution/Step is created, ready to run, but not running yet. If an Execution/Step is created without initial state, it is assumed that the Execution/Step is in PENDING state.", +"The Execution/Step is in progress.", +"The finalized, immutable state. Steps/Executions in this state cannot be modified." +], +"type": "string" +}, +"testSuiteOverviews": { +"description": "The combined and rolled-up result of each test suite that was run as part of this environment. Combining: When the test cases from a suite are run in different steps (sharding), the results are added back together in one overview. (e.g., if shard1 has 2 failures and shard2 has 1 failure than the overview failure_count = 3). Rollup: When test cases from the same suite are run multiple times (flaky), the results are combined (e.g., if testcase1.run1 fails, testcase1.run2 passes, and both testcase2.run1 and testcase2.run2 fail then the overview flaky_count = 1 and failure_count = 1).", +"items": { +"$ref": "TestSuiteOverview" +}, +"type": "array" +} +}, +"type": "object" +}, +"MultiStep": { +"description": "Details when multiple steps are run with the same configuration as a group.", +"id": "MultiStep", +"properties": { +"multistepNumber": { +"description": "Unique int given to each step. Ranges from 0(inclusive) to total number of steps(exclusive). The primary step is 0.", +"format": "int32", +"type": "integer" +}, +"primaryStep": { +"$ref": "PrimaryStep", +"description": "Present if it is a primary (original) step." +}, +"primaryStepId": { +"description": "Step Id of the primary (original) step, which might be this step.", +"type": "string" +} +}, +"type": "object" +}, +"NativeCrash": { +"description": "Additional details for a native crash.", +"id": "NativeCrash", +"properties": { +"stackTrace": { +"$ref": "StackTrace", +"description": "The stack trace of the native crash. Optional." +} +}, +"type": "object" +}, +"NonSdkApi": { +"description": "A non-sdk API and examples of it being called along with other metadata See https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces", +"id": "NonSdkApi", +"properties": { +"apiSignature": { +"description": "The signature of the Non-SDK API", +"type": "string" +}, +"exampleStackTraces": { +"description": "Example stack traces of this API being called.", +"items": { +"type": "string" +}, +"type": "array" +}, +"insights": { +"description": "Optional debugging insights for non-SDK API violations.", +"items": { +"$ref": "NonSdkApiInsight" +}, +"type": "array" +}, +"invocationCount": { +"description": "The total number of times this API was observed to have been called.", +"format": "int32", +"type": "integer" +}, +"list": { +"description": "Which list this API appears on", +"enum": [ +"NONE", +"WHITE", +"BLACK", +"GREY", +"GREY_MAX_O", +"GREY_MAX_P", +"GREY_MAX_Q", +"GREY_MAX_R", +"GREY_MAX_S" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NonSdkApiInsight": { +"description": "Non-SDK API insights (to address debugging solutions).", +"id": "NonSdkApiInsight", +"properties": { +"exampleTraceMessages": { +"description": "Optional sample stack traces, for which this insight applies (there should be at least one).", +"items": { +"type": "string" +}, +"type": "array" +}, +"matcherId": { +"description": "A unique ID, to be used for determining the effectiveness of this particular insight in the context of a matcher. (required)", +"type": "string" +}, +"pendingGoogleUpdateInsight": { +"$ref": "PendingGoogleUpdateInsight", +"description": "An insight indicating that the hidden API usage originates from a Google-provided library." +}, +"upgradeInsight": { +"$ref": "UpgradeInsight", +"description": "An insight indicating that the hidden API usage originates from the use of a library that needs to be upgraded." +} +}, +"type": "object" +}, +"NonSdkApiUsageViolation": { +"description": "Additional details for a non-sdk API usage violation.", +"id": "NonSdkApiUsageViolation", +"properties": { +"apiSignatures": { +"description": "Signatures of a subset of those hidden API's.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uniqueApis": { +"description": "Total number of unique hidden API's accessed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NonSdkApiUsageViolationReport": { +"description": "Contains a summary and examples of non-sdk API usage violations.", +"id": "NonSdkApiUsageViolationReport", +"properties": { +"exampleApis": { +"description": "Examples of the detected API usages.", +"items": { +"$ref": "NonSdkApi" +}, +"type": "array" +}, +"minSdkVersion": { +"description": "Minimum API level required for the application to run.", +"format": "int32", +"type": "integer" +}, +"targetSdkVersion": { +"description": "Specifies the API Level on which the application is designed to run.", +"format": "int32", +"type": "integer" +}, +"uniqueApis": { +"description": "Total number of unique Non-SDK API's accessed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Outcome": { +"description": "Interprets a result so that humans and machines can act on it.", +"id": "Outcome", +"properties": { +"failureDetail": { +"$ref": "FailureDetail", +"description": "More information about a FAILURE outcome. Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE. Optional" +}, +"inconclusiveDetail": { +"$ref": "InconclusiveDetail", +"description": "More information about an INCONCLUSIVE outcome. Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE. Optional" +}, +"skippedDetail": { +"$ref": "SkippedDetail", +"description": "More information about a SKIPPED outcome. Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED. Optional" +}, +"successDetail": { +"$ref": "SuccessDetail", +"description": "More information about a SUCCESS outcome. Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS. Optional" +}, +"summary": { +"description": "The simplest way to interpret a result. Required", +"enum": [ +"unset", +"success", +"failure", +"inconclusive", +"skipped", +"flaky" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The test matrix run was successful, for instance: - All the test cases passed. - Robo did not detect a crash of the application under test.", +"A run failed, for instance: - One or more test case failed. - A test timed out. - The application under test crashed.", +"Something unexpected happened. The run should still be considered unsuccessful but this is likely a transient problem and re-running the test might be successful.", +"All tests were skipped, for instance: - All device configurations were incompatible.", +"A group of steps that were run with the same configuration had both failure and success outcomes." +], +"type": "string" +} +}, +"type": "object" +}, +"OverlappingUIElements": { +"description": "A warning that Robo encountered a screen that has overlapping clickable elements; this may indicate a potential UI issue.", +"id": "OverlappingUIElements", +"properties": { +"resourceName": { +"description": "Resource names of the overlapping screen elements", +"items": { +"type": "string" +}, +"type": "array" +}, +"screenId": { +"description": "The screen id of the elements", +"type": "string" +} +}, +"type": "object" +}, +"PendingGoogleUpdateInsight": { +"description": "This insight indicates that the hidden API usage originates from a Google-provided library. Users need not take any action.", +"id": "PendingGoogleUpdateInsight", +"properties": { +"nameOfGoogleLibrary": { +"description": "The name of the Google-provided library with the non-SDK API dependency.", +"type": "string" +} +}, +"type": "object" +}, +"PerfEnvironment": { +"description": "Encapsulates performance environment info", +"id": "PerfEnvironment", +"properties": { +"cpuInfo": { +"$ref": "CPUInfo", +"description": "CPU related environment info" +}, +"memoryInfo": { +"$ref": "MemoryInfo", +"description": "Memory related environment info" +} +}, +"type": "object" +}, +"PerfMetricsSummary": { +"description": "A summary of perf metrics collected and performance environment info", +"id": "PerfMetricsSummary", +"properties": { +"appStartTime": { +"$ref": "AppStartTime" +}, +"executionId": { +"description": "A tool results execution ID. @OutputOnly", +"type": "string" +}, +"graphicsStats": { +"$ref": "GraphicsStats", +"deprecated": true, +"description": "Graphics statistics for the entire run. Statistics are reset at the beginning of the run and collected at the end of the run." +}, +"historyId": { +"description": "A tool results history ID. @OutputOnly", +"type": "string" +}, +"perfEnvironment": { +"$ref": "PerfEnvironment", +"description": "Describes the environment in which the performance metrics were collected" +}, +"perfMetrics": { +"description": "Set of resource collected", +"items": { +"enum": [ +"perfMetricTypeUnspecified", +"memory", +"cpu", +"network", +"graphics" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"projectId": { +"description": "The cloud project @OutputOnly", +"type": "string" +}, +"stepId": { +"description": "A tool results step ID. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"PerfSample": { +"description": "Resource representing a single performance measure or data point", +"id": "PerfSample", +"properties": { +"sampleTime": { +"$ref": "Timestamp", +"description": "Timestamp of collection." +}, +"value": { +"description": "Value observed", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"PerfSampleSeries": { +"description": "Resource representing a collection of performance samples (or data points)", +"id": "PerfSampleSeries", +"properties": { +"basicPerfSampleSeries": { +"$ref": "BasicPerfSampleSeries", +"description": "Basic series represented by a line chart" +}, +"executionId": { +"description": "A tool results execution ID. @OutputOnly", +"type": "string" +}, +"historyId": { +"description": "A tool results history ID. @OutputOnly", +"type": "string" +}, +"projectId": { +"description": "The cloud project @OutputOnly", +"type": "string" +}, +"sampleSeriesId": { +"description": "A sample series id @OutputOnly", +"type": "string" +}, +"stepId": { +"description": "A tool results step ID. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"PerformedGoogleLogin": { +"description": "A notification that Robo signed in with Google.", +"id": "PerformedGoogleLogin", +"properties": {}, +"type": "object" +}, +"PerformedMonkeyActions": { +"description": "A notification that Robo performed some monkey actions.", +"id": "PerformedMonkeyActions", +"properties": { +"totalActions": { +"description": "The total number of monkey actions performed during the crawl.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PrimaryStep": { +"description": "Stores rollup test status of multiple steps that were run as a group and outcome of each individual step.", +"id": "PrimaryStep", +"properties": { +"individualOutcome": { +"description": "Step Id and outcome of each individual step.", +"items": { +"$ref": "IndividualOutcome" +}, +"type": "array" +}, +"rollUp": { +"description": "Rollup test status of multiple steps that were run with the same configuration as a group.", +"enum": [ +"unset", +"success", +"failure", +"inconclusive", +"skipped", +"flaky" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The test matrix run was successful, for instance: - All the test cases passed. - Robo did not detect a crash of the application under test.", +"A run failed, for instance: - One or more test case failed. - A test timed out. - The application under test crashed.", +"Something unexpected happened. The run should still be considered unsuccessful but this is likely a transient problem and re-running the test might be successful.", +"All tests were skipped, for instance: - All device configurations were incompatible.", +"A group of steps that were run with the same configuration had both failure and success outcomes." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectSettings": { +"description": "Per-project settings for the Tool Results service.", +"id": "ProjectSettings", +"properties": { +"defaultBucket": { +"description": "The name of the Google Cloud Storage bucket to which results are written. By default, this is unset. In update request: optional In response: optional", +"type": "string" +}, +"name": { +"description": "The name of the project's settings. Always of the form: projects/{project-id}/settings In update request: never set In response: always set", +"type": "string" +} +}, +"type": "object" +}, +"PublishXunitXmlFilesRequest": { +"description": "Request message for StepService.PublishXunitXmlFiles.", +"id": "PublishXunitXmlFilesRequest", +"properties": { +"xunitXmlFiles": { +"description": "URI of the Xunit XML files to publish. The maximum size of the file this reference is pointing to is 50MB. Required.", +"items": { +"$ref": "FileReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionProto": { +"description": "A rectangular region.", +"id": "RegionProto", +"properties": { +"heightPx": { +"description": "The height, in pixels. Always set.", +"format": "int32", +"type": "integer" +}, +"leftPx": { +"description": "The left side of the rectangle, in pixels. Always set.", +"format": "int32", +"type": "integer" +}, +"topPx": { +"description": "The top of the rectangle, in pixels. Always set.", +"format": "int32", +"type": "integer" +}, +"widthPx": { +"description": "The width, in pixels. Always set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResultsStorage": { +"description": "The storage for test results.", +"id": "ResultsStorage", +"properties": { +"resultsStoragePath": { +"$ref": "FileReference", +"description": "The root directory for test results." +}, +"xunitXmlFile": { +"$ref": "FileReference", +"description": "The path to the Xunit XML file." +} +}, +"type": "object" +}, +"RoboScriptExecution": { +"description": "Execution stats for a user-provided Robo script.", +"id": "RoboScriptExecution", +"properties": { +"successfulActions": { +"description": "The number of Robo script actions executed successfully.", +"format": "int32", +"type": "integer" +}, +"totalActions": { +"description": "The total number of actions in the Robo script.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SafeHtmlProto": { +"description": "IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests.", +"id": "SafeHtmlProto", +"properties": { +"privateDoNotAccessOrElseSafeHtmlWrappedValue": { +"description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", +"type": "string" +} +}, +"type": "object" +}, +"Screen": { +"id": "Screen", +"properties": { +"fileReference": { +"description": "File reference of the png file. Required.", +"type": "string" +}, +"locale": { +"description": "Locale of the device that the screenshot was taken on. Required.", +"type": "string" +}, +"model": { +"description": "Model of the device that the screenshot was taken on. Required.", +"type": "string" +}, +"version": { +"description": "OS version of the device that the screenshot was taken on. Required.", +"type": "string" +} +}, +"type": "object" +}, +"ScreenshotCluster": { +"id": "ScreenshotCluster", +"properties": { +"activity": { +"description": "A string that describes the activity of every screen in the cluster.", +"type": "string" +}, +"clusterId": { +"description": "A unique identifier for the cluster. @OutputOnly", +"type": "string" +}, +"keyScreen": { +"$ref": "Screen", +"description": "A singular screen that represents the cluster as a whole. This screen will act as the \"cover\" of the entire cluster. When users look at the clusters, only the key screen from each cluster will be shown. Which screen is the key screen is determined by the ClusteringAlgorithm" +}, +"screens": { +"description": "Full list of screens.", +"items": { +"$ref": "Screen" +}, +"type": "array" +} +}, +"type": "object" +}, +"ShardSummary": { +"description": "Result summary for a shard in an environment.", +"id": "ShardSummary", +"properties": { +"runs": { +"description": "Summaries of the steps belonging to the shard. With flaky_test_attempts enabled from TestExecutionService, more than one run (Step) can present. And the runs will be sorted by multistep_number.", +"items": { +"$ref": "StepSummary" +}, +"type": "array" +}, +"shardResult": { +"$ref": "MergedResult", +"description": "Merged result of the shard." +} +}, +"type": "object" +}, +"SkippedDetail": { +"description": "Details for an outcome with a SKIPPED outcome summary.", +"id": "SkippedDetail", +"properties": { +"incompatibleAppVersion": { +"description": "If the App doesn't support the specific API level.", +"type": "boolean" +}, +"incompatibleArchitecture": { +"description": "If the App doesn't run on the specific architecture, for example, x86.", +"type": "boolean" +}, +"incompatibleDevice": { +"description": "If the requested OS version doesn't run on the specific device model.", +"type": "boolean" +} +}, +"type": "object" +}, +"Specification": { +"description": "The details about how to run the execution.", +"id": "Specification", +"properties": { +"androidTest": { +"$ref": "AndroidTest", +"description": "An Android mobile test execution specification." +}, +"iosTest": { +"$ref": "IosTest", +"description": "An iOS mobile test execution specification." +} +}, +"type": "object" +}, +"StackTrace": { +"description": "A stacktrace.", +"id": "StackTrace", +"properties": { +"exception": { +"description": "The stack trace message. Required", +"type": "string" +} +}, +"type": "object" +}, +"StartActivityNotFound": { +"description": "User provided intent failed to resolve to an activity.", +"id": "StartActivityNotFound", +"properties": { +"action": { +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"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).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"Step": { +"description": "A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler). Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel). Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates a TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.", +"id": "Step", +"properties": { +"completionTime": { +"$ref": "Timestamp", +"description": "The time when the step status was set to complete. This value will be set automatically when state transitions to COMPLETE. - In response: set if the execution state is COMPLETE. - In create/update request: never set" +}, +"creationTime": { +"$ref": "Timestamp", +"description": "The time when the step was created. - In response: always set - In create/update request: never set" +}, +"description": { +"description": "A description of this tool For example: mvn clean package -D skipTests=true - In response: present if set by create/update request - In create/update request: optional", +"type": "string" +}, +"deviceUsageDuration": { +"$ref": "Duration", +"description": "How much the device resource is used to perform the test. This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage. PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set. - In response: present if previously set. - In create request: optional - In update request: optional" +}, +"dimensionValue": { +"description": "If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions. The keys must exactly match the dimension_definition of the execution. For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']` If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']` If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset. A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution. A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different. A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys. - In response: present if set by create - In create request: optional - In update request: never set", +"items": { +"$ref": "StepDimensionValueEntry" +}, +"type": "array" +}, +"hasImages": { +"description": "Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails. - In response: always set - In create/update request: never set", +"type": "boolean" +}, +"labels": { +"description": "Arbitrary user-supplied key/value pairs that are associated with the step. Users are responsible for managing the key namespace such that keys don't accidentally collide. An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters. - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value", +"items": { +"$ref": "StepLabelsEntry" +}, +"type": "array" +}, +"multiStep": { +"$ref": "MultiStep", +"description": "Details when multiple steps are run with the same configuration as a group. These details can be used identify which group this step is part of. It also identifies the groups 'primary step' which indexes all the group members. - In response: present if previously set. - In create request: optional, set iff this step was performed more than once. - In update request: optional" +}, +"name": { +"description": "A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name. - In response: always set - In create request: always set - In update request: never set", +"type": "string" +}, +"outcome": { +"$ref": "Outcome", +"description": "Classification of the result, for example into SUCCESS or FAILURE - In response: present if set by create/update request - In create/update request: optional" +}, +"runDuration": { +"$ref": "Duration", +"description": "How long it took for this step to run. If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration. PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set. - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional" +}, +"state": { +"description": "The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE A PRECONDITION_FAILED will be returned if an invalid transition is requested. It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times. - In response: always set - In create/update request: optional", +"enum": [ +"unknownState", +"pending", +"inProgress", +"complete" +], +"enumDescriptions": [ +"Should never be in this state. Exists for proto deserialization backward compatibility.", +"The Execution/Step is created, ready to run, but not running yet. If an Execution/Step is created without initial state, it is assumed that the Execution/Step is in PENDING state.", +"The Execution/Step is in progress.", +"The finalized, immutable state. Steps/Executions in this state cannot be modified." +], +"type": "string" +}, +"stepId": { +"description": "A unique identifier within a Execution for this Step. Returns INVALID_ARGUMENT if this field is set or overwritten by the caller. - In response: always set - In create/update request: never set", +"type": "string" +}, +"testExecutionStep": { +"$ref": "TestExecutionStep", +"description": "An execution of a test runner." +}, +"toolExecutionStep": { +"$ref": "ToolExecutionStep", +"description": "An execution of a tool (used for steps we don't explicitly support)." +} +}, +"type": "object" +}, +"StepDimensionValueEntry": { +"id": "StepDimensionValueEntry", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"StepLabelsEntry": { +"id": "StepLabelsEntry", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"StepSummary": { +"description": "Lightweight summary of a step within this execution.", +"id": "StepSummary", +"properties": {}, +"type": "object" +}, +"SuccessDetail": { +"description": "Details for an outcome with a SUCCESS outcome summary. LINT.IfChange", +"id": "SuccessDetail", +"properties": { +"otherNativeCrash": { +"description": "If a native process other than the app crashed.", +"type": "boolean" +} +}, +"type": "object" +}, +"SuggestionClusterProto": { +"description": "A set of similar suggestions that we suspect are closely related. This proto and most of the nested protos are branched from foxandcrown.prelaunchreport.service.SuggestionClusterProto, replacing PLR's dependencies with FTL's.", +"id": "SuggestionClusterProto", +"properties": { +"category": { +"description": "Category in which these types of suggestions should appear. Always set.", +"enum": [ +"unknownCategory", +"contentLabeling", +"touchTargetSize", +"lowContrast", +"implementation" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"suggestions": { +"description": "A sequence of suggestions. All of the suggestions within a cluster must have the same SuggestionPriority and belong to the same SuggestionCategory. Suggestions with the same screenshot URL should be adjacent.", +"items": { +"$ref": "SuggestionProto" +}, +"type": "array" +} +}, +"type": "object" +}, +"SuggestionProto": { +"id": "SuggestionProto", +"properties": { +"helpUrl": { +"description": "Reference to a help center article concerning this type of suggestion. Always set.", +"type": "string" +}, +"longMessage": { +"$ref": "SafeHtmlProto", +"description": "Message, in the user's language, explaining the suggestion, which may contain markup. Always set." +}, +"priority": { +"description": "Relative importance of a suggestion. Always set.", +"enum": [ +"unknownPriority", +"error", +"warning", +"info" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"pseudoResourceId": { +"description": "A somewhat human readable identifier of the source view, if it does not have a resource_name. This is a path within the accessibility hierarchy, an element with resource name; similar to an XPath.", +"type": "string" +}, +"region": { +"$ref": "RegionProto", +"description": "Region within the screenshot that is relevant to this suggestion. Optional." +}, +"resourceName": { +"description": "Reference to a view element, identified by its resource name, if it has one.", +"type": "string" +}, +"screenId": { +"description": "ID of the screen for the suggestion. It is used for getting the corresponding screenshot path. For example, screen_id \"1\" corresponds to \"1.png\" file in GCS. Always set.", +"type": "string" +}, +"secondaryPriority": { +"description": "Relative importance of a suggestion as compared with other suggestions that have the same priority and category. This is a meaningless value that can be used to order suggestions that are in the same category and have the same priority. The larger values have higher priority (i.e., are more important). Optional.", +"format": "double", +"type": "number" +}, +"shortMessage": { +"$ref": "SafeHtmlProto", +"description": "Concise message, in the user's language, representing the suggestion, which may contain markup. Always set." +}, +"title": { +"description": "General title for the suggestion, in the user's language, without markup. Always set.", +"type": "string" +} +}, +"type": "object" +}, +"TestCase": { +"id": "TestCase", +"properties": { +"elapsedTime": { +"$ref": "Duration", +"description": "The elapsed run time of the test case. Required." +}, +"endTime": { +"$ref": "Timestamp", +"description": "The end time of the test case." +}, +"skippedMessage": { +"description": "Why the test case was skipped. Present only for skipped test case", +"type": "string" +}, +"stackTraces": { +"description": "The stack trace details if the test case failed or encountered an error. The maximum size of the stack traces is 100KiB, beyond which the stack track will be truncated. Zero if the test case passed.", +"items": { +"$ref": "StackTrace" +}, +"type": "array" +}, +"startTime": { +"$ref": "Timestamp", +"description": "The start time of the test case." +}, +"status": { +"description": "The status of the test case. Required.", +"enum": [ +"passed", +"failed", +"error", +"skipped", +"flaky" +], +"enumDescriptions": [ +"Test passed.", +"Test failed.", +"Test encountered an error", +"Test skipped", +"Test flaked. Present only for rollup test cases; test cases from steps that were run with the same configuration had both failure and success outcomes." +], +"type": "string" +}, +"testCaseId": { +"description": "A unique identifier within a Step for this Test Case.", +"type": "string" +}, +"testCaseReference": { +"$ref": "TestCaseReference", +"description": "Test case reference, e.g. name, class name and test suite name. Required." +}, +"toolOutputs": { +"description": "References to opaque files of any format output by the tool execution. @OutputOnly", +"items": { +"$ref": "ToolOutputReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestCaseReference": { +"description": "A reference to a test case. Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.", +"id": "TestCaseReference", +"properties": { +"className": { +"description": "The name of the class.", +"type": "string" +}, +"name": { +"description": "The name of the test case. Required.", +"type": "string" +}, +"testSuiteName": { +"description": "The name of the test suite to which this test case belongs.", +"type": "string" +} +}, +"type": "object" +}, +"TestExecutionStep": { +"description": "A step that represents running tests. It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted. Users can also add test results manually by using the test_result field.", +"id": "TestExecutionStep", +"properties": { +"testIssues": { +"description": "Issues observed during the test execution. For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging. - In response: present if set by create or update - In create/update request: optional", +"items": { +"$ref": "TestIssue" +}, +"type": "array" +}, +"testSuiteOverviews": { +"description": "List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded. The maximum allowed number of test suite overviews per step is 1000. - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)", +"items": { +"$ref": "TestSuiteOverview" +}, +"type": "array" +}, +"testTiming": { +"$ref": "TestTiming", +"description": "The timing break down of the test execution. - In response: present if set by create or update - In create/update request: optional" +}, +"toolExecution": { +"$ref": "ToolExecution", +"description": "Represents the execution of the test runner. The exit code of this tool will be used to determine if the test passed. - In response: always set - In create/update request: optional" +} +}, +"type": "object" +}, +"TestIssue": { +"description": "An issue detected occurring during a test execution.", +"id": "TestIssue", +"properties": { +"category": { +"description": "Category of issue. Required.", +"enum": [ +"unspecifiedCategory", +"common", +"robo" +], +"enumDescriptions": [ +"Default unspecified category. Do not use. For versioning only.", +"Issue is not specific to a particular test kind (e.g., a native crash).", +"Issue is specific to Robo run." +], +"type": "string" +}, +"errorMessage": { +"description": "A brief human-readable message describing the issue. Required.", +"type": "string" +}, +"severity": { +"description": "Severity of issue. Required.", +"enum": [ +"unspecifiedSeverity", +"info", +"suggestion", +"warning", +"severe" +], +"enumDescriptions": [ +"Default unspecified severity. Do not use. For versioning only.", +"Non critical issue, providing users with some info about the test run.", +"Non critical issue, providing users with some hints on improving their testing experience, e.g., suggesting to use Game Loops.", +"Potentially critical issue.", +"Critical issue." +], +"type": "string" +}, +"stackTrace": { +"$ref": "StackTrace", +"deprecated": true, +"description": "Deprecated in favor of stack trace fields inside specific warnings." +}, +"type": { +"description": "Type of issue. Required.", +"enum": [ +"unspecifiedType", +"fatalException", +"nativeCrash", +"anr", +"unusedRoboDirective", +"compatibleWithOrchestrator", +"launcherActivityNotFound", +"startActivityNotFound", +"incompleteRoboScriptExecution", +"completeRoboScriptExecution", +"failedToInstall", +"availableDeepLinks", +"nonSdkApiUsageViolation", +"nonSdkApiUsageReport", +"encounteredNonAndroidUiWidgetScreen", +"encounteredLoginScreen", +"performedGoogleLogin", +"iosException", +"iosCrash", +"performedMonkeyActions", +"usedRoboDirective", +"usedRoboIgnoreDirective", +"insufficientCoverage", +"inAppPurchases", +"crashDialogError", +"uiElementsTooDeep", +"blankScreen", +"overlappingUiElements", +"unityException", +"deviceOutOfMemory", +"logcatCollectionError", +"detectedAppSplashScreen", +"assetIssue" +], +"enumDescriptions": [ +"Default unspecified type. Do not use. For versioning only.", +"Issue is a fatal exception.", +"Issue is a native crash.", +"Issue is an ANR crash.", +"Issue is an unused robo directive.", +"Issue is a suggestion to use orchestrator.", +"Issue with finding a launcher activity", +"Issue with resolving a user-provided intent to start an activity", +"A Robo script was not fully executed.", +"A Robo script was fully and successfully executed.", +"The APK failed to install.", +"The app-under-test has deep links, but none were provided to Robo.", +"App accessed a non-sdk Api.", +"App accessed a non-sdk Api (new detailed report)", +"Robo crawl encountered at least one screen with elements that are not Android UI widgets.", +"Robo crawl encountered at least one probable login screen.", +"Robo signed in with Google.", +"iOS App crashed with an exception.", +"iOS App crashed without an exception (e.g. killed).", +"Robo crawl involved performing some monkey actions.", +"Robo crawl used a Robo directive.", +"Robo crawl used a Robo directive to ignore an UI element.", +"Robo did not crawl some potentially important parts of the app.", +"Robo crawl involved some in-app purchases.", +"Crash dialog was detected during the test execution", +"UI element depth is greater than the threshold", +"Blank screen is found in the Robo crawl", +"Overlapping UI elements are found in the Robo crawl", +"An uncaught Unity exception was detected (these don't crash apps).", +"Device running out of memory was detected", +"Problems detected while collecting logcat", +"Robo detected a splash screen provided by app (vs. Android OS splash screen).", +"There was an issue with the assets in this test." +], +"type": "string" +}, +"warning": { +"$ref": "Any", +"description": "Warning message with additional details of the issue. Should always be a message from com.google.devtools.toolresults.v1.warnings" +} +}, +"type": "object" +}, +"TestSuiteOverview": { +"description": "A summary of a test suite result either parsed from XML or uploaded directly by a user. Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.", +"id": "TestSuiteOverview", +"properties": { +"elapsedTime": { +"$ref": "Duration", +"description": "Elapsed time of test suite." +}, +"errorCount": { +"description": "Number of test cases in error, typically set by the service by parsing the xml_source. - In create/response: always set - In update request: never", +"format": "int32", +"type": "integer" +}, +"failureCount": { +"description": "Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user. - In create/response: always set - In update request: never", +"format": "int32", +"type": "integer" +}, +"flakyCount": { +"description": "Number of flaky test cases, set by the service by rolling up flaky test attempts. Present only for rollup test suite overview at environment level. A step cannot have flaky test cases.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The name of the test suite. - In create/response: always set - In update request: never", +"type": "string" +}, +"skippedCount": { +"description": "Number of test cases not run, typically set by the service by parsing the xml_source. - In create/response: always set - In update request: never", +"format": "int32", +"type": "integer" +}, +"totalCount": { +"description": "Number of test cases, typically set by the service by parsing the xml_source. - In create/response: always set - In update request: never", +"format": "int32", +"type": "integer" +}, +"xmlSource": { +"$ref": "FileReference", +"description": "If this test suite was parsed from XML, this is the URI where the original XML file is stored. Note: Multiple test suites can share the same xml_source Returns INVALID_ARGUMENT if the uri format is not supported. - In create/response: optional - In update request: never" +} +}, +"type": "object" +}, +"TestTiming": { +"description": "Testing timing break down to know phases.", +"id": "TestTiming", +"properties": { +"testProcessDuration": { +"$ref": "Duration", +"description": "How long it took to run the test process. - In response: present if previously set. - In create/update request: optional" +} +}, +"type": "object" +}, +"Thumbnail": { +"description": "A single thumbnail, with its size and format.", +"id": "Thumbnail", +"properties": { +"contentType": { +"description": "The thumbnail's content type, i.e. \"image/png\". Always set.", +"type": "string" +}, +"data": { +"description": "The thumbnail file itself. That is, the bytes here are precisely the bytes that make up the thumbnail file; they can be served as an image as-is (with the appropriate content type.) Always set.", +"format": "byte", +"type": "string" +}, +"heightPx": { +"description": "The height of the thumbnail, in pixels. Always set.", +"format": "int32", +"type": "integer" +}, +"widthPx": { +"description": "The width of the thumbnail, in pixels. Always set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Timestamp": { +"description": "A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one. All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap second table is needed for interpretation, using a [24-hour linear smear](https://developers.google.com/time/smear). The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.", +"id": "Timestamp", +"properties": { +"nanos": { +"description": "Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ToolExecution": { +"description": "An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code.", +"id": "ToolExecution", +"properties": { +"commandLineArguments": { +"description": "The full tokenized command line including the program name (equivalent to argv in a C program). - In response: present if set by create request - In create request: optional - In update request: never set", +"items": { +"type": "string" +}, +"type": "array" +}, +"exitCode": { +"$ref": "ToolExitCode", +"description": "Tool execution exit code. This field will be set once the tool has exited. - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set." +}, +"toolLogs": { +"description": "References to any plain text logs output the tool execution. This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running. The maximum allowed number of tool logs per step is 1000. - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list", +"items": { +"$ref": "FileReference" +}, +"type": "array" +}, +"toolOutputs": { +"description": "References to opaque files of any format output by the tool execution. The maximum allowed number of tool outputs per step is 1000. - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list", +"items": { +"$ref": "ToolOutputReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"ToolExecutionStep": { +"description": "Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another.", +"id": "ToolExecutionStep", +"properties": { +"toolExecution": { +"$ref": "ToolExecution", +"description": "A Tool execution. - In response: present if set by create/update request - In create/update request: optional" +} +}, +"type": "object" +}, +"ToolExitCode": { +"description": "Exit code from a tool execution.", +"id": "ToolExitCode", +"properties": { +"number": { +"description": "Tool execution exit code. A value of 0 means that the execution was successful. - In response: always set - In create/update request: always set", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ToolOutputReference": { +"description": "A reference to a ToolExecution output file.", +"id": "ToolOutputReference", +"properties": { +"creationTime": { +"$ref": "Timestamp", +"description": "The creation time of the file. - In response: present if set by create/update request - In create/update request: optional" +}, +"output": { +"$ref": "FileReference", +"description": "A FileReference to an output file. - In response: always set - In create/update request: always set" +}, +"testCase": { +"$ref": "TestCaseReference", +"description": "The test case to which this output file belongs. - In response: present if set by create/update request - In create/update request: optional" +} +}, +"type": "object" +}, +"UIElementTooDeep": { +"description": "A warning that the screen hierarchy is deeper than the recommended threshold.", +"id": "UIElementTooDeep", +"properties": { +"depth": { +"description": "The depth of the screen element", +"format": "int32", +"type": "integer" +}, +"screenId": { +"description": "The screen id of the element", +"type": "string" +}, +"screenStateId": { +"description": "The screen state id of the element", +"type": "string" +} +}, +"type": "object" +}, +"UnspecifiedWarning": { +"description": "Default unspecified warning.", +"id": "UnspecifiedWarning", +"properties": {}, +"type": "object" +}, +"UnusedRoboDirective": { +"description": "Additional details of an unused robodirective.", +"id": "UnusedRoboDirective", +"properties": { +"resourceName": { +"description": "The name of the resource that was unused.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeInsight": { +"description": "This insight is a recommendation to upgrade a given library to the specified version, in order to avoid dependencies on non-SDK APIs.", +"id": "UpgradeInsight", +"properties": { +"packageName": { +"description": "The name of the package to be upgraded.", +"type": "string" +}, +"upgradeToVersion": { +"description": "The suggested version to upgrade to. Optional: In case we are not sure which version solves this problem", +"type": "string" +} +}, +"type": "object" +}, +"UsedRoboDirective": { +"description": "Additional details of a used Robo directive.", +"id": "UsedRoboDirective", +"properties": { +"resourceName": { +"description": "The name of the resource that was used.", +"type": "string" +} +}, +"type": "object" +}, +"UsedRoboIgnoreDirective": { +"description": "Additional details of a used Robo directive with an ignore action. Note: This is a different scenario than unused directive.", +"id": "UsedRoboIgnoreDirective", +"properties": { +"resourceName": { +"description": "The name of the resource that was ignored.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Tool Results API", +"version": "v1beta3" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/trafficdirector.v3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/trafficdirector.v3.json new file mode 100644 index 0000000000000000000000000000000000000000..d85c2aa539cccf3d6601efac5bce48a513320cab --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/trafficdirector.v3.json @@ -0,0 +1,1333 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://trafficdirector.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Traffic Director Service", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/traffic-director", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "trafficdirector:v3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://trafficdirector.mtls.googleapis.com/", +"name": "trafficdirector", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"discovery": { +"methods": { +"client_status": { +"description": "", +"flatPath": "v3/discovery:client_status", +"httpMethod": "POST", +"id": "trafficdirector.discovery.client_status", +"parameterOrder": [], +"parameters": {}, +"path": "v3/discovery:client_status", +"request": { +"$ref": "ClientStatusRequest" +}, +"response": { +"$ref": "ClientStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20240625", +"rootUrl": "https://trafficdirector.googleapis.com/", +"schemas": { +"Address": { +"description": "Addresses specify either a logical or physical address and port, which are used to tell Envoy where to bind/listen, connect to upstream and find management servers.", +"id": "Address", +"properties": { +"envoyInternalAddress": { +"$ref": "EnvoyInternalAddress", +"description": "Specifies a user-space address handled by :ref:`internal listeners `." +}, +"pipe": { +"$ref": "Pipe" +}, +"socketAddress": { +"$ref": "SocketAddress" +} +}, +"type": "object" +}, +"BuildVersion": { +"description": "BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings.", +"id": "BuildVersion", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Free-form build information. Envoy defines several well known keys in the source/common/version/version.h file", +"type": "object" +}, +"version": { +"$ref": "SemanticVersion", +"description": "SemVer version of extension." +} +}, +"type": "object" +}, +"ClientConfig": { +"description": "All xds configs for a particular client.", +"id": "ClientConfig", +"properties": { +"clientScope": { +"description": "For xDS clients, the scope in which the data is used. For example, gRPC indicates the data plane target or that the data is associated with gRPC server(s).", +"type": "string" +}, +"genericXdsConfigs": { +"description": "Represents generic xDS config and the exact config structure depends on the type URL (like Cluster if it is CDS)", +"items": { +"$ref": "GenericXdsConfig" +}, +"type": "array" +}, +"node": { +"$ref": "Node", +"description": "Node for a particular client." +}, +"xdsConfig": { +"deprecated": true, +"description": "This field is deprecated in favor of generic_xds_configs which is much simpler and uniform in structure.", +"items": { +"$ref": "PerXdsConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClientStatusRequest": { +"description": "Request for client status of clients identified by a list of NodeMatchers.", +"id": "ClientStatusRequest", +"properties": { +"excludeResourceContents": { +"description": "If true, the server will not include the resource contents in the response (i.e., the generic_xds_configs.xds_config field will not be populated). [#not-implemented-hide:]", +"type": "boolean" +}, +"node": { +"$ref": "Node", +"description": "The node making the csds request." +}, +"nodeMatchers": { +"description": "Management server can use these match criteria to identify clients. The match follows OR semantics.", +"items": { +"$ref": "NodeMatcher" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClientStatusResponse": { +"id": "ClientStatusResponse", +"properties": { +"config": { +"description": "Client configs for the clients specified in the ClientStatusRequest.", +"items": { +"$ref": "ClientConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClustersConfigDump": { +"description": "Envoy's cluster manager fills this message with all currently known clusters. Cluster configuration information can be used to recreate an Envoy configuration by populating all clusters as static clusters or by returning them in a CDS response.", +"id": "ClustersConfigDump", +"properties": { +"dynamicActiveClusters": { +"description": "The dynamically loaded active clusters. These are clusters that are available to service data plane traffic.", +"items": { +"$ref": "DynamicCluster" +}, +"type": "array" +}, +"dynamicWarmingClusters": { +"description": "The dynamically loaded warming clusters. These are clusters that are currently undergoing warming in preparation to service data plane traffic. Note that if attempting to recreate an Envoy configuration from a configuration dump, the warming clusters should generally be discarded.", +"items": { +"$ref": "DynamicCluster" +}, +"type": "array" +}, +"staticClusters": { +"description": "The statically loaded cluster configs.", +"items": { +"$ref": "StaticCluster" +}, +"type": "array" +}, +"versionInfo": { +"description": "This is the :ref:`version_info ` in the last processed CDS discovery response. If there are only static bootstrap clusters, this field will be \"\".", +"type": "string" +} +}, +"type": "object" +}, +"ContextParams": { +"description": "Additional parameters that can be used to select resource variants. These include any global context parameters, per-resource type client feature capabilities and per-resource type functional attributes. All per-resource type attributes will be `xds.resource.` prefixed and some of these are documented below: `xds.resource.listening_address`: The value is \"IP:port\" (e.g. \"10.1.1.3:8080\") which is the listening address of a Listener. Used in a Listener resource query.", +"id": "ContextParams", +"properties": { +"params": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"DoubleMatcher": { +"description": "Specifies the way to match a double value.", +"id": "DoubleMatcher", +"properties": { +"exact": { +"description": "If specified, the input double value must be equal to the value specified here.", +"format": "double", +"type": "number" +}, +"range": { +"$ref": "DoubleRange", +"description": "If specified, the input double value must be in the range specified here. Note: The range is using half-open interval semantics [start, end)." +} +}, +"type": "object" +}, +"DoubleRange": { +"description": "Specifies the double start and end of the range using half-open interval semantics [start, end).", +"id": "DoubleRange", +"properties": { +"end": { +"description": "end of the range (exclusive)", +"format": "double", +"type": "number" +}, +"start": { +"description": "start of the range (inclusive)", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"DynamicCluster": { +"description": "Describes a dynamically loaded cluster via the CDS API. [#next-free-field: 6]", +"id": "DynamicCluster", +"properties": { +"clientStatus": { +"description": "The client status of this resource. [#not-implemented-hide:]", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"cluster": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The cluster config.", +"type": "object" +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The ``error_state`` field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty. [#not-implemented-hide:]" +}, +"lastUpdated": { +"description": "The timestamp when the Cluster was last updated.", +"format": "google-datetime", +"type": "string" +}, +"versionInfo": { +"description": "This is the per-resource version information. This version is currently taken from the :ref:`version_info ` field at the time that the cluster was loaded. In the future, discrete per-cluster versions may be supported by the API.", +"type": "string" +} +}, +"type": "object" +}, +"DynamicEndpointConfig": { +"description": "[#next-free-field: 6]", +"id": "DynamicEndpointConfig", +"properties": { +"clientStatus": { +"description": "The client status of this resource. [#not-implemented-hide:]", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"endpointConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The endpoint config.", +"type": "object" +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The ``error_state`` field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty. [#not-implemented-hide:]" +}, +"lastUpdated": { +"description": "[#not-implemented-hide:] The timestamp when the Endpoint was last updated.", +"format": "google-datetime", +"type": "string" +}, +"versionInfo": { +"description": "[#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the :ref:`version_info ` field at the time that the endpoint configuration was loaded.", +"type": "string" +} +}, +"type": "object" +}, +"DynamicListener": { +"description": "Describes a dynamically loaded listener via the LDS API. [#next-free-field: 7]", +"id": "DynamicListener", +"properties": { +"activeState": { +"$ref": "DynamicListenerState", +"description": "The listener state for any active listener by this name. These are listeners that are available to service data plane traffic." +}, +"clientStatus": { +"description": "The client status of this resource. [#not-implemented-hide:]", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"drainingState": { +"$ref": "DynamicListenerState", +"description": "The listener state for any draining listener by this name. These are listeners that are currently undergoing draining in preparation to stop servicing data plane traffic. Note that if attempting to recreate an Envoy configuration from a configuration dump, the draining listeners should generally be discarded." +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The ``error_state`` field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty." +}, +"name": { +"description": "The name or unique id of this listener, pulled from the DynamicListenerState config.", +"type": "string" +}, +"warmingState": { +"$ref": "DynamicListenerState", +"description": "The listener state for any warming listener by this name. These are listeners that are currently undergoing warming in preparation to service data plane traffic. Note that if attempting to recreate an Envoy configuration from a configuration dump, the warming listeners should generally be discarded." +} +}, +"type": "object" +}, +"DynamicListenerState": { +"id": "DynamicListenerState", +"properties": { +"lastUpdated": { +"description": "The timestamp when the Listener was last successfully updated.", +"format": "google-datetime", +"type": "string" +}, +"listener": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The listener config.", +"type": "object" +}, +"versionInfo": { +"description": "This is the per-resource version information. This version is currently taken from the :ref:`version_info ` field at the time that the listener was loaded. In the future, discrete per-listener versions may be supported by the API.", +"type": "string" +} +}, +"type": "object" +}, +"DynamicRouteConfig": { +"description": "[#next-free-field: 6]", +"id": "DynamicRouteConfig", +"properties": { +"clientStatus": { +"description": "The client status of this resource. [#not-implemented-hide:]", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The ``error_state`` field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty. [#not-implemented-hide:]" +}, +"lastUpdated": { +"description": "The timestamp when the Route was last updated.", +"format": "google-datetime", +"type": "string" +}, +"routeConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The route config.", +"type": "object" +}, +"versionInfo": { +"description": "This is the per-resource version information. This version is currently taken from the :ref:`version_info ` field at the time that the route configuration was loaded.", +"type": "string" +} +}, +"type": "object" +}, +"DynamicScopedRouteConfigs": { +"description": "[#next-free-field: 7]", +"id": "DynamicScopedRouteConfigs", +"properties": { +"clientStatus": { +"description": "The client status of this resource. [#not-implemented-hide:]", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The ``error_state`` field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty. [#not-implemented-hide:]" +}, +"lastUpdated": { +"description": "The timestamp when the scoped route config set was last updated.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name assigned to the scoped route configurations.", +"type": "string" +}, +"scopedRouteConfigs": { +"description": "The scoped route configurations.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"versionInfo": { +"description": "This is the per-resource version information. This version is currently taken from the :ref:`version_info ` field at the time that the scoped routes configuration was loaded.", +"type": "string" +} +}, +"type": "object" +}, +"EndpointsConfigDump": { +"description": "Envoy's admin fill this message with all currently known endpoints. Endpoint configuration information can be used to recreate an Envoy configuration by populating all endpoints as static endpoints or by returning them in an EDS response.", +"id": "EndpointsConfigDump", +"properties": { +"dynamicEndpointConfigs": { +"description": "The dynamically loaded endpoint configs.", +"items": { +"$ref": "DynamicEndpointConfig" +}, +"type": "array" +}, +"staticEndpointConfigs": { +"description": "The statically loaded endpoint configs.", +"items": { +"$ref": "StaticEndpointConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnvoyInternalAddress": { +"description": "The address represents an envoy internal listener. [#comment: ", +"id": "EnvoyInternalAddress", +"properties": { +"endpointId": { +"description": "Specifies an endpoint identifier to distinguish between multiple endpoints for the same internal listener in a single upstream pool. Only used in the upstream addresses for tracking changes to individual endpoints. This, for example, may be set to the final destination IP for the target internal listener.", +"type": "string" +}, +"serverListenerName": { +"description": "Specifies the :ref:`name ` of the internal listener.", +"type": "string" +} +}, +"type": "object" +}, +"Extension": { +"description": "Version and identification for an Envoy extension. [#next-free-field: 7]", +"id": "Extension", +"properties": { +"category": { +"description": "Category of the extension. Extension category names use reverse DNS notation. For instance \"envoy.filters.listener\" for Envoy's built-in listener filters or \"com.acme.filters.http\" for HTTP filters from acme.com vendor. [#comment:", +"type": "string" +}, +"disabled": { +"description": "Indicates that the extension is present but was disabled via dynamic configuration.", +"type": "boolean" +}, +"name": { +"description": "This is the name of the Envoy filter as specified in the Envoy configuration, e.g. envoy.filters.http.router, com.acme.widget.", +"type": "string" +}, +"typeDescriptor": { +"deprecated": true, +"description": "[#not-implemented-hide:] Type descriptor of extension configuration proto. [#comment:", +"type": "string" +}, +"typeUrls": { +"description": "Type URLs of extension configuration protos.", +"items": { +"type": "string" +}, +"type": "array" +}, +"version": { +"$ref": "BuildVersion", +"description": "The version is a property of the extension and maintained independently of other extensions and the Envoy API. This field is not set when extension did not provide version information." +} +}, +"type": "object" +}, +"GenericXdsConfig": { +"description": "GenericXdsConfig is used to specify the config status and the dump of any xDS resource identified by their type URL. It is the generalized version of the now deprecated ListenersConfigDump, ClustersConfigDump etc [#next-free-field: 10]", +"id": "GenericXdsConfig", +"properties": { +"clientStatus": { +"description": "Per xDS resource status from the view of a xDS client", +"enum": [ +"UNKNOWN", +"REQUESTED", +"DOES_NOT_EXIST", +"ACKED", +"NACKED" +], +"enumDescriptions": [ +"Resource status is not available/unknown.", +"Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", +"This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", +"Client received this resource and replied with ACK.", +"Client received this resource and replied with NACK." +], +"type": "string" +}, +"configStatus": { +"description": "Per xDS resource config status. It is generated by management servers. It will not be present if the CSDS server is an xDS client.", +"enum": [ +"UNKNOWN", +"SYNCED", +"NOT_SENT", +"STALE", +"ERROR" +], +"enumDescriptions": [ +"Status info is not available/unknown.", +"Management server has sent the config to client and received ACK.", +"Config is not sent.", +"Management server has sent the config to client but hasn\u2019t received ACK/NACK.", +"Management server has sent the config to client but received NACK. The attached config dump will be the latest config (the rejected one), since it is the persisted version in the management server." +], +"type": "string" +}, +"errorState": { +"$ref": "UpdateFailureState", +"description": "Set if the last update failed, cleared after the next successful update. The *error_state* field contains the rejected version of this particular resource along with the reason and timestamp. For successfully updated or acknowledged resource, this field should be empty. [#not-implemented-hide:]" +}, +"isStaticResource": { +"description": "Is static resource is true if it is specified in the config supplied through the file at the startup.", +"type": "boolean" +}, +"lastUpdated": { +"description": "Timestamp when the xDS resource was last updated", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Name of the xDS resource", +"type": "string" +}, +"typeUrl": { +"description": "Type_url represents the fully qualified name of xDS resource type like envoy.v3.Cluster, envoy.v3.ClusterLoadAssignment etc.", +"type": "string" +}, +"versionInfo": { +"description": "This is the :ref:`version_info ` in the last processed xDS discovery response. If there are only static bootstrap listeners, this field will be \"\"", +"type": "string" +}, +"xdsConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The xDS resource config. Actual content depends on the type", +"type": "object" +} +}, +"type": "object" +}, +"GoogleRE2": { +"description": "Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level`` and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram ``re2.program_size``, which records the program size, and the counter ``re2.exceeded_warn_level``, which is incremented each time the program size exceeds the warn level threshold.", +"id": "GoogleRE2", +"properties": { +"maxProgramSize": { +"deprecated": true, +"description": "This field controls the RE2 \"program size\" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. .. note:: Although this field is deprecated, the program size will still be checked against the global ``re2.max_program_size.error_level`` runtime value.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InlineScopedRouteConfigs": { +"id": "InlineScopedRouteConfigs", +"properties": { +"lastUpdated": { +"description": "The timestamp when the scoped route config set was last updated.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name assigned to the scoped route configurations.", +"type": "string" +}, +"scopedRouteConfigs": { +"description": "The scoped route configurations.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMatcher": { +"description": "Specifies the way to match a list value.", +"id": "ListMatcher", +"properties": { +"oneOf": { +"$ref": "ValueMatcher", +"description": "If specified, at least one of the values in the list must match the value specified." +} +}, +"type": "object" +}, +"ListenersConfigDump": { +"description": "Envoy's listener manager fills this message with all currently known listeners. Listener configuration information can be used to recreate an Envoy configuration by populating all listeners as static listeners or by returning them in a LDS response.", +"id": "ListenersConfigDump", +"properties": { +"dynamicListeners": { +"description": "State for any warming, active, or draining listeners.", +"items": { +"$ref": "DynamicListener" +}, +"type": "array" +}, +"staticListeners": { +"description": "The statically loaded listener configs.", +"items": { +"$ref": "StaticListener" +}, +"type": "array" +}, +"versionInfo": { +"description": "This is the :ref:`version_info ` in the last processed LDS discovery response. If there are only static bootstrap listeners, this field will be \"\".", +"type": "string" +} +}, +"type": "object" +}, +"Locality": { +"description": "Identifies location of where either Envoy runs or where upstream hosts run.", +"id": "Locality", +"properties": { +"region": { +"description": "Region this :ref:`zone ` belongs to.", +"type": "string" +}, +"subZone": { +"description": "When used for locality of upstream hosts, this field further splits zone into smaller chunks of sub-zones so they can be load balanced independently.", +"type": "string" +}, +"zone": { +"description": "Defines the local service zone where Envoy is running. Though optional, it should be set if discovery service routing is used and the discovery service exposes :ref:`zone data `, either in this message or via :option:`--service-zone`. The meaning of zone is context dependent, e.g. `Availability Zone (AZ) `_ on AWS, `Zone `_ on GCP, etc.", +"type": "string" +} +}, +"type": "object" +}, +"Node": { +"description": "Identifies a specific Envoy instance. The node identifier is presented to the management server, which may use this identifier to distinguish per Envoy configuration for serving. [#next-free-field: 13]", +"id": "Node", +"properties": { +"clientFeatures": { +"description": "Client feature support list. These are well known features described in the Envoy API repository for a given major version of an API. Client features use reverse DNS naming scheme, for example ``com.acme.feature``. See :ref:`the list of features ` that xDS client may support.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cluster": { +"description": "Defines the local service cluster name where Envoy is running. Though optional, it should be set if any of the following features are used: :ref:`statsd `, :ref:`health check cluster verification `, :ref:`runtime override directory `, :ref:`user agent addition `, :ref:`HTTP global rate limiting `, :ref:`CDS `, and :ref:`HTTP tracing `, either in this message or via :option:`--service-cluster`.", +"type": "string" +}, +"dynamicParameters": { +"additionalProperties": { +"$ref": "ContextParams" +}, +"description": "Map from xDS resource type URL to dynamic context parameters. These may vary at runtime (unlike other fields in this message). For example, the xDS client may have a shard identifier that changes during the lifetime of the xDS client. In Envoy, this would be achieved by updating the dynamic context on the Server::Instance's LocalInfo context provider. The shard ID dynamic parameter then appears in this field during future discovery requests.", +"type": "object" +}, +"extensions": { +"description": "List of extensions and their versions supported by the node.", +"items": { +"$ref": "Extension" +}, +"type": "array" +}, +"id": { +"description": "An opaque node identifier for the Envoy node. This also provides the local service node name. It should be set if any of the following features are used: :ref:`statsd `, :ref:`CDS `, and :ref:`HTTP tracing `, either in this message or via :option:`--service-node`.", +"type": "string" +}, +"listeningAddresses": { +"deprecated": true, +"description": "Known listening ports on the node as a generic hint to the management server for filtering :ref:`listeners ` to be returned. For example, if there is a listener bound to port 80, the list can optionally contain the SocketAddress ``(0.0.0.0,80)``. The field is optional and just a hint.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"locality": { +"$ref": "Locality", +"description": "Locality specifying where the Envoy instance is running." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Opaque metadata extending the node identifier. Envoy will pass this directly to the management server.", +"type": "object" +}, +"userAgentBuildVersion": { +"$ref": "BuildVersion", +"description": "Structured version of the entity requesting config." +}, +"userAgentName": { +"description": "Free-form string that identifies the entity requesting config. E.g. \"envoy\" or \"grpc\"", +"type": "string" +}, +"userAgentVersion": { +"description": "Free-form string that identifies the version of the entity requesting config. E.g. \"1.12.2\" or \"abcd1234\", or \"SpecialEnvoyBuild\"", +"type": "string" +} +}, +"type": "object" +}, +"NodeMatcher": { +"description": "Specifies the way to match a Node. The match follows AND semantics.", +"id": "NodeMatcher", +"properties": { +"nodeId": { +"$ref": "StringMatcher", +"description": "Specifies match criteria on the node id." +}, +"nodeMetadatas": { +"description": "Specifies match criteria on the node metadata.", +"items": { +"$ref": "StructMatcher" +}, +"type": "array" +} +}, +"type": "object" +}, +"NullMatch": { +"description": "NullMatch is an empty message to specify a null value.", +"id": "NullMatch", +"properties": {}, +"type": "object" +}, +"OrMatcher": { +"description": "Specifies a list of alternatives for the match.", +"id": "OrMatcher", +"properties": { +"valueMatchers": { +"items": { +"$ref": "ValueMatcher" +}, +"type": "array" +} +}, +"type": "object" +}, +"PathSegment": { +"description": "Specifies the segment in a path to retrieve value from Struct.", +"id": "PathSegment", +"properties": { +"key": { +"description": "If specified, use the key to retrieve the value in a Struct.", +"type": "string" +} +}, +"type": "object" +}, +"PerXdsConfig": { +"description": "Detailed config (per xDS) with status. [#next-free-field: 8]", +"id": "PerXdsConfig", +"properties": { +"clientStatus": { +"deprecated": true, +"description": "Client config status is populated by xDS clients. Will not be present if the CSDS server is an xDS server. No matter what the client config status is, xDS clients should always dump the most recent accepted xDS config. .. attention:: This field is deprecated. Use :ref:`ClientResourceStatus ` for per-resource config status instead.", +"enum": [ +"CLIENT_UNKNOWN", +"CLIENT_REQUESTED", +"CLIENT_ACKED", +"CLIENT_NACKED" +], +"enumDescriptions": [ +"Config status is not available/unknown.", +"Client requested the config but hasn't received any config from management server yet.", +"Client received the config and replied with ACK.", +"Client received the config and replied with NACK. Notably, the attached config dump is not the NACKed version, but the most recent accepted one. If no config is accepted yet, the attached config dump will be empty." +], +"type": "string" +}, +"clusterConfig": { +"$ref": "ClustersConfigDump" +}, +"endpointConfig": { +"$ref": "EndpointsConfigDump" +}, +"listenerConfig": { +"$ref": "ListenersConfigDump" +}, +"routeConfig": { +"$ref": "RoutesConfigDump" +}, +"scopedRouteConfig": { +"$ref": "ScopedRoutesConfigDump" +}, +"status": { +"description": "Config status generated by management servers. Will not be present if the CSDS server is an xDS client.", +"enum": [ +"UNKNOWN", +"SYNCED", +"NOT_SENT", +"STALE", +"ERROR" +], +"enumDescriptions": [ +"Status info is not available/unknown.", +"Management server has sent the config to client and received ACK.", +"Config is not sent.", +"Management server has sent the config to client but hasn\u2019t received ACK/NACK.", +"Management server has sent the config to client but received NACK. The attached config dump will be the latest config (the rejected one), since it is the persisted version in the management server." +], +"type": "string" +} +}, +"type": "object" +}, +"Pipe": { +"id": "Pipe", +"properties": { +"mode": { +"description": "The mode for the Pipe. Not applicable for abstract sockets.", +"format": "uint32", +"type": "integer" +}, +"path": { +"description": "Unix Domain Socket path. On Linux, paths starting with '@' will use the abstract namespace. The starting '@' is replaced by a null byte by Envoy. Paths starting with '@' will result in an error in environments other than Linux.", +"type": "string" +} +}, +"type": "object" +}, +"RegexMatcher": { +"description": "A regex matcher designed for safety when used with untrusted input.", +"id": "RegexMatcher", +"properties": { +"googleRe2": { +"$ref": "GoogleRE2", +"deprecated": true, +"description": "Google's RE2 regex engine." +}, +"regex": { +"description": "The regex match string. The string must be supported by the configured engine. The regex is matched against the full string, not as a partial match.", +"type": "string" +} +}, +"type": "object" +}, +"RoutesConfigDump": { +"description": "Envoy's RDS implementation fills this message with all currently loaded routes, as described by their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration or defined inline while configuring listeners are separated from those configured dynamically via RDS. Route configuration information can be used to recreate an Envoy configuration by populating all routes as static routes or by returning them in RDS responses.", +"id": "RoutesConfigDump", +"properties": { +"dynamicRouteConfigs": { +"description": "The dynamically loaded route configs.", +"items": { +"$ref": "DynamicRouteConfig" +}, +"type": "array" +}, +"staticRouteConfigs": { +"description": "The statically loaded route configs.", +"items": { +"$ref": "StaticRouteConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ScopedRoutesConfigDump": { +"description": "Envoy's scoped RDS implementation fills this message with all currently loaded route configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the dynamically obtained scopes via the SRDS API.", +"id": "ScopedRoutesConfigDump", +"properties": { +"dynamicScopedRouteConfigs": { +"description": "The dynamically loaded scoped route configs.", +"items": { +"$ref": "DynamicScopedRouteConfigs" +}, +"type": "array" +}, +"inlineScopedRouteConfigs": { +"description": "The statically loaded scoped route configs.", +"items": { +"$ref": "InlineScopedRouteConfigs" +}, +"type": "array" +} +}, +"type": "object" +}, +"SemanticVersion": { +"description": "Envoy uses SemVer (https://semver.org/). Major/minor versions indicate expected behaviors and APIs, the patch version field is used only for security fixes and can be generally ignored.", +"id": "SemanticVersion", +"properties": { +"majorNumber": { +"format": "uint32", +"type": "integer" +}, +"minorNumber": { +"format": "uint32", +"type": "integer" +}, +"patch": { +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"SocketAddress": { +"description": "[#next-free-field: 7]", +"id": "SocketAddress", +"properties": { +"address": { +"description": "The address for this socket. :ref:`Listeners ` will bind to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::`` to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: It is possible to distinguish a Listener address via the prefix/suffix matching in :ref:`FilterChainMatch `.] When used within an upstream :ref:`BindConfig `, the address controls the source address of outbound connections. For :ref:`clusters `, the cluster type determines whether the address must be an IP (``STATIC`` or ``EDS`` clusters) or a hostname resolved by DNS (``STRICT_DNS`` or ``LOGICAL_DNS`` clusters). Address resolution can be customized via :ref:`resolver_name `.", +"type": "string" +}, +"ipv4Compat": { +"description": "When binding to an IPv6 address above, this enables `IPv4 compatibility `_. Binding to ``::`` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ``::FFFF:``.", +"type": "boolean" +}, +"namedPort": { +"description": "This is only valid if :ref:`resolver_name ` is specified below and the named resolver is capable of named port resolution.", +"type": "string" +}, +"portValue": { +"format": "uint32", +"type": "integer" +}, +"protocol": { +"enum": [ +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"resolverName": { +"description": "The name of the custom resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If the address is a concrete IP address, no resolution will occur. If address is a hostname this should be set for resolution other than DNS. Specifying a custom resolver with ``STRICT_DNS`` or ``LOGICAL_DNS`` will generate an error at runtime.", +"type": "string" +} +}, +"type": "object" +}, +"StaticCluster": { +"description": "Describes a statically loaded cluster.", +"id": "StaticCluster", +"properties": { +"cluster": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The cluster config.", +"type": "object" +}, +"lastUpdated": { +"description": "The timestamp when the Cluster was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"StaticEndpointConfig": { +"id": "StaticEndpointConfig", +"properties": { +"endpointConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The endpoint config.", +"type": "object" +}, +"lastUpdated": { +"description": "[#not-implemented-hide:] The timestamp when the Endpoint was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"StaticListener": { +"description": "Describes a statically loaded listener.", +"id": "StaticListener", +"properties": { +"lastUpdated": { +"description": "The timestamp when the Listener was last successfully updated.", +"format": "google-datetime", +"type": "string" +}, +"listener": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The listener config.", +"type": "object" +} +}, +"type": "object" +}, +"StaticRouteConfig": { +"id": "StaticRouteConfig", +"properties": { +"lastUpdated": { +"description": "The timestamp when the Route was last updated.", +"format": "google-datetime", +"type": "string" +}, +"routeConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The route config.", +"type": "object" +} +}, +"type": "object" +}, +"StringMatcher": { +"description": "Specifies the way to match a string. [#next-free-field: 9]", +"id": "StringMatcher", +"properties": { +"contains": { +"description": "The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``", +"type": "string" +}, +"custom": { +"$ref": "TypedExtensionConfig", +"description": "Use an extension as the matcher type. [#extension-category: envoy.string_matcher]" +}, +"exact": { +"description": "The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.", +"type": "string" +}, +"ignoreCase": { +"description": "If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. This has no effect for the safe_regex match. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.", +"type": "boolean" +}, +"prefix": { +"description": "The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz``", +"type": "string" +}, +"safeRegex": { +"$ref": "RegexMatcher", +"description": "The input string must match the regular expression specified here." +}, +"suffix": { +"description": "The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``", +"type": "string" +} +}, +"type": "object" +}, +"StructMatcher": { +"description": "StructMatcher provides a general interface to check if a given value is matched in google.protobuf.Struct. It uses ``path`` to retrieve the value from the struct and then check if it's matched to the specified value. For example, for the following Struct: .. code-block:: yaml fields: a: struct_value: fields: b: struct_value: fields: c: string_value: pro t: list_value: values: - string_value: m - string_value: n The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value \"pro\" from the Metadata which is matched to the specified prefix match. .. code-block:: yaml path: - key: a - key: b - key: c value: string_match: prefix: pr The following StructMatcher is matched as the code will match one of the string values in the list at the path [a, t]. .. code-block:: yaml path: - key: a - key: t value: list_match: one_of: string_match: exact: m An example use of StructMatcher is to match metadata in envoy.v*.core.Node.", +"id": "StructMatcher", +"properties": { +"path": { +"description": "The path to retrieve the Value from the Struct.", +"items": { +"$ref": "PathSegment" +}, +"type": "array" +}, +"value": { +"$ref": "ValueMatcher", +"description": "The StructMatcher is matched if the value retrieved by path is matched to this value." +} +}, +"type": "object" +}, +"TypedExtensionConfig": { +"description": "Message type for extension configuration.", +"id": "TypedExtensionConfig", +"properties": { +"name": { +"description": "The name of an extension. This is not used to select the extension, instead it serves the role of an opaque identifier.", +"type": "string" +}, +"typedConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The typed config for the extension. The type URL will be used to identify the extension. In the case that the type URL is *xds.type.v3.TypedStruct* (or, for historical reasons, *udpa.type.v1.TypedStruct*), the inner type URL of *TypedStruct* will be utilized. See the :ref:`extension configuration overview ` for further details.", +"type": "object" +} +}, +"type": "object" +}, +"UpdateFailureState": { +"id": "UpdateFailureState", +"properties": { +"details": { +"description": "Details about the last failed update attempt.", +"type": "string" +}, +"failedConfiguration": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "What the component configuration would have been if the update had succeeded. This field may not be populated by xDS clients due to storage overhead.", +"type": "object" +}, +"lastUpdateAttempt": { +"description": "Time of the latest failed update attempt.", +"format": "google-datetime", +"type": "string" +}, +"versionInfo": { +"description": "This is the version of the rejected resource. [#not-implemented-hide:]", +"type": "string" +} +}, +"type": "object" +}, +"ValueMatcher": { +"description": "Specifies the way to match a ProtobufWkt::Value. Primitive values and ListValue are supported. StructValue is not supported and is always not matched. [#next-free-field: 8]", +"id": "ValueMatcher", +"properties": { +"boolMatch": { +"description": "If specified, a match occurs if and only if the target value is a bool value and is equal to this field.", +"type": "boolean" +}, +"doubleMatch": { +"$ref": "DoubleMatcher", +"description": "If specified, a match occurs if and only if the target value is a double value and is matched to this field." +}, +"listMatch": { +"$ref": "ListMatcher", +"description": "If specified, a match occurs if and only if the target value is a list value and is matched to this field." +}, +"nullMatch": { +"$ref": "NullMatch", +"description": "If specified, a match occurs if and only if the target value is a NullValue." +}, +"orMatch": { +"$ref": "OrMatcher", +"description": "If specified, a match occurs if and only if any of the alternatives in the match accept the value." +}, +"presentMatch": { +"description": "If specified, value match will be performed based on whether the path is referring to a valid primitive value in the metadata. If the path is referring to a non-primitive value, the result is always not matched.", +"type": "boolean" +}, +"stringMatch": { +"$ref": "StringMatcher", +"description": "If specified, a match occurs if and only if the target value is a string value and is matched to this field." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Traffic Director API", +"version": "v3", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vectortile.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vectortile.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e6c795eca366888679f0d8a8c528061bcc9030c2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vectortile.v1.json @@ -0,0 +1,907 @@ +{ + "basePath": "", + "baseUrl": "https://vectortile.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Semantic Tile", + "description": "Serves vector tiles containing geospatial data. ", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/maps/contact-sales/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "vectortile:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://vectortile.mtls.googleapis.com/", + "name": "vectortile", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "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", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "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.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "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", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "featuretiles": { + "methods": { + "get": { + "description": "Gets a feature tile by its tile resource name.", + "flatPath": "v1/featuretiles/{featuretilesId}", + "httpMethod": "GET", + "id": "vectortile.featuretiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "alwaysIncludeBuildingFootprints": { + "description": "Flag indicating whether the returned tile will always contain 2.5D footprints for structures. If enabled_modeled_volumes is set, this will mean that structures will have both their 3D models and 2.5D footprints returned.", + "location": "query", + "type": "boolean" + }, + "clientInfo.apiClient": { + "description": "API client name and version. For example, the SDK calling the API. The exact format is up to the client.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationId": { + "description": "Application ID, such as the package name on Android and the bundle identifier on iOS platforms.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationVersion": { + "description": "Application version number, such as \"1.2.3\". The exact format is application-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.deviceModel": { + "description": "Device model as reported by the device. The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.operatingSystem": { + "description": "Operating system name and version as reported by the OS. For example, \"Mac OS X 10.10.4\". The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.platform": { + "description": "Platform where the application is running.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "EDITOR", + "MAC_OS", + "WINDOWS", + "LINUX", + "ANDROID", + "IOS", + "WEB_GL" + ], + "enumDescriptions": [ + "Unspecified or unknown OS.", + "Development environment.", + "macOS.", + "Windows.", + "Linux", + "Android", + "iOS", + "WebGL." + ], + "location": "query", + "type": "string" + }, + "clientInfo.userId": { + "description": "Required. A client-generated user ID. The ID should be generated and persisted during the first user session or whenever a pre-existing ID is not found. The exact format is up to the client. This must be non-empty in a GetFeatureTileRequest (whether via the header or GetFeatureTileRequest.client_info).", + "location": "query", + "type": "string" + }, + "clientTileVersionId": { + "description": "Optional version id identifying the tile that is already in the client's cache. This field should be populated with the most recent version_id value returned by the API for the requested tile. If the version id is empty the server always returns a newly rendered tile. If it is provided the server checks if the tile contents would be identical to one that's already on the client, and if so, returns a stripped-down response tile with STATUS_OK_DATA_UNCHANGED instead.", + "location": "query", + "type": "string" + }, + "enableDetailedHighwayTypes": { + "description": "Flag indicating whether detailed highway types should be returned. If this is set, the CONTROLLED_ACCESS_HIGHWAY type may be returned. If not, then these highways will have the generic HIGHWAY type. This exists for backwards compatibility reasons.", + "location": "query", + "type": "boolean" + }, + "enableFeatureNames": { + "description": "Flag indicating whether human-readable names should be returned for features. If this is set, the display_name field on the feature will be filled out.", + "location": "query", + "type": "boolean" + }, + "enableModeledVolumes": { + "description": "Flag indicating whether 3D building models should be enabled. If this is set structures will be returned as 3D modeled volumes rather than 2.5D extruded areas where possible.", + "location": "query", + "type": "boolean" + }, + "enablePoliticalFeatures": { + "description": "Flag indicating whether political features should be returned.", + "location": "query", + "type": "boolean" + }, + "enablePrivateRoads": { + "description": "Flag indicating whether the returned tile will contain road features that are marked private. Private roads are indicated by the Feature.segment_info.road_info.is_private field.", + "location": "query", + "type": "boolean" + }, + "enableUnclippedBuildings": { + "description": "Flag indicating whether unclipped buildings should be returned. If this is set, building render ops will extend beyond the tile boundary. Buildings will only be returned on the tile that contains their centroid.", + "location": "query", + "type": "boolean" + }, + "languageCode": { + "description": "Required. The BCP-47 language code corresponding to the language in which the name was requested, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Resource name of the tile. The tile resource name is prefixed by its collection ID `tiles/` followed by the resource ID, which encodes the tile's global x and y coordinates and zoom level as `@,,z`. For example, `tiles/@1,2,3z`.", + "location": "path", + "pattern": "^featuretiles/[^/]+$", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The Unicode country/region code (CLDR) of the location from which the request is coming from, such as \"US\" and \"419\". For more information, see http://www.unicode.org/reports/tr35/#unicode_region_subtag.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "FeatureTile" + } + } + } + }, + "terraintiles": { + "methods": { + "get": { + "description": "Gets a terrain tile by its tile resource name.", + "flatPath": "v1/terraintiles/{terraintilesId}", + "httpMethod": "GET", + "id": "vectortile.terraintiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "altitudePrecisionCentimeters": { + "description": "The precision of terrain altitudes in centimeters. Possible values: between 1 (cm level precision) and 1,000,000 (10-kilometer level precision).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "clientInfo.apiClient": { + "description": "API client name and version. For example, the SDK calling the API. The exact format is up to the client.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationId": { + "description": "Application ID, such as the package name on Android and the bundle identifier on iOS platforms.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationVersion": { + "description": "Application version number, such as \"1.2.3\". The exact format is application-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.deviceModel": { + "description": "Device model as reported by the device. The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.operatingSystem": { + "description": "Operating system name and version as reported by the OS. For example, \"Mac OS X 10.10.4\". The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.platform": { + "description": "Platform where the application is running.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "EDITOR", + "MAC_OS", + "WINDOWS", + "LINUX", + "ANDROID", + "IOS", + "WEB_GL" + ], + "enumDescriptions": [ + "Unspecified or unknown OS.", + "Development environment.", + "macOS.", + "Windows.", + "Linux", + "Android", + "iOS", + "WebGL." + ], + "location": "query", + "type": "string" + }, + "clientInfo.userId": { + "description": "Required. A client-generated user ID. The ID should be generated and persisted during the first user session or whenever a pre-existing ID is not found. The exact format is up to the client. This must be non-empty in a GetFeatureTileRequest (whether via the header or GetFeatureTileRequest.client_info).", + "location": "query", + "type": "string" + }, + "maxElevationResolutionCells": { + "description": "The maximum allowed resolution for the returned elevation heightmap. Possible values: between 1 and 1024 (and not less than min_elevation_resolution_cells). Over-sized heightmaps will be non-uniformly down-sampled such that each edge is no longer than this value. Non-uniformity is chosen to maximise the amount of preserved data. For example: Original resolution: 100px (width) * 30px (height) max_elevation_resolution: 30 New resolution: 30px (width) * 30px (height)", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minElevationResolutionCells": { + "description": " api-linter: core::0131::request-unknown-fields=disabled aip.dev/not-precedent: Maintaining existing request parameter pattern. The minimum allowed resolution for the returned elevation heightmap. Possible values: between 0 and 1024 (and not more than max_elevation_resolution_cells). Zero is supported for backward compatibility. Under-sized heightmaps will be non-uniformly up-sampled such that each edge is no shorter than this value. Non-uniformity is chosen to maximise the amount of preserved data. For example: Original resolution: 30px (width) * 10px (height) min_elevation_resolution: 30 New resolution: 30px (width) * 30px (height)", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Required. Resource name of the tile. The tile resource name is prefixed by its collection ID `terraintiles/` followed by the resource ID, which encodes the tile's global x and y coordinates and zoom level as `@,,z`. For example, `terraintiles/@1,2,3z`.", + "location": "path", + "pattern": "^terraintiles/[^/]+$", + "required": true, + "type": "string" + }, + "terrainFormats": { + "description": "Terrain formats that the client understands.", + "enum": [ + "TERRAIN_FORMAT_UNKNOWN", + "FIRST_DERIVATIVE", + "SECOND_DERIVATIVE" + ], + "enumDescriptions": [ + "An unknown or unspecified terrain format.", + "Terrain elevation data encoded as a FirstDerivativeElevationGrid. .", + "Terrain elevation data encoded as a SecondDerivativeElevationGrid." + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "TerrainTile" + } + } + } + } + }, + "revision": "20211008", + "rootUrl": "https://vectortile.googleapis.com/", + "schemas": { + "Area": { + "description": "Represents an area. Used to represent regions such as water, parks, etc. Next ID: 10", + "id": "Area", + "properties": { + "basemapZOrder": { + "$ref": "BasemapZOrder", + "description": "The z-order of this geometry when rendered on a flat basemap. Geometry with a lower z-order should be rendered beneath geometry with a higher z-order. This z-ordering does not imply anything about the altitude of the area relative to the ground, but it can be used to prevent z-fighting. Unlike Area.z_order this can be used to compare with Line.basemap_z_order, and in fact may yield more accurate rendering (where a line may be rendered beneath an area)." + }, + "hasExternalEdges": { + "description": "True if the polygon is not entirely internal to the feature that it belongs to: that is, some of the edges are bordering another feature.", + "type": "boolean" + }, + "internalEdges": { + "description": "When has_external_edges is true, the polygon has some edges that border another feature. This field indicates the internal edges that do not border another feature. Each value is an index into the vertices array, and denotes the start vertex of the internal edge (the next vertex in the boundary loop is the end of the edge). If the selected vertex is the last vertex in the boundary loop, then the edge between that vertex and the starting vertex of the loop is internal. This field may be used for styling. For example, building parapets could be placed only on the external edges of a building polygon, or water could be lighter colored near the external edges of a body of water. If has_external_edges is false, all edges are internal and this field will be empty.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "loopBreaks": { + "description": "Identifies the boundary loops of the polygon. Only set for INDEXED_TRIANGLE polygons. Each value is an index into the vertices array indicating the beginning of a loop. For instance, values of [2, 5] would indicate loop_data contained 3 loops with indices 0-1, 2-4, and 5-end. This may be used in conjunction with the internal_edges field for styling polygon boundaries. Note that an edge may be on a polygon boundary but still internal to the feature. For example, a feature split across multiple tiles will have an internal polygon boundary edge along the edge of the tile.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "triangleIndices": { + "description": "When the polygon encoding is of type INDEXED_TRIANGLES, this contains the indices of the triangle vertices in the vertex_offsets field. There are 3 vertex indices per triangle.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "type": { + "description": "The polygon encoding type used for this area.", + "enum": [ + "TRIANGLE_FAN", + "INDEXED_TRIANGLES", + "TRIANGLE_STRIP" + ], + "enumDescriptions": [ + "The first vertex in vertex_offset is the center of a triangle fan. The other vertices are arranged around this vertex in a fan shape. The following diagram showes a triangle fan polygon with the vertices labelled with their indices in the vertex_offset list. Triangle fan polygons always have a single boundary loop. Vertices may be in either a clockwise or counterclockwise order. (1) / \\ / \\ / \\ (0)-----(2) / \\ / / \\ / / \\ / (4)-----(3)", + "The polygon is a set of triangles with three vertex indices per triangle. The vertex indices can be found in the triangle_indices field. Indexed triangle polygons also contain information about boundary loops. These identify the loops at the boundary of the polygon and may be used in conjunction with the internal_edges field for styling. Boundary loops may represent either a hole or a disconnected component of the polygon. The following diagram shows an indexed triangle polygon with two boundary loops. (0) (4) / \\ / \\ / \\ / \\ (1)----(2) (3)----(5)", + "A strip of triangles, where each triangle uses the last edge of the previous triangle. Vertices may be in either a clockwise or counterclockwise order. Only polygons without the has_external_edges flag set will use triangle strips. (0) / \\ / \\ / \\ (2)-----(1) / \\ / / \\ / / \\ / (4)-----(3)" + ], + "type": "string" + }, + "vertexOffsets": { + "$ref": "Vertex2DList", + "description": "The vertices present in the polygon defining the area." + }, + "zOrder": { + "description": "The z-ordering of this area. Areas with a lower z-order should be rendered beneath areas with a higher z-order. This z-ordering does not imply anything about the altitude of the line relative to the ground, but it can be used to prevent z-fighting during rendering on the client. This z-ordering can only be used to compare areas, and cannot be compared with the z_order field in the Line message. The z-order may be negative or zero. Prefer Area.basemap_z_order.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BasemapZOrder": { + "description": "Metadata necessary to determine the ordering of a particular basemap element relative to others. To render the basemap correctly, sort by z-plane, then z-grade, then z-within-grade.", + "id": "BasemapZOrder", + "properties": { + "zGrade": { + "description": "The second most significant component of the ordering of a component to be rendered onto the basemap.", + "format": "int32", + "type": "integer" + }, + "zPlane": { + "description": "The most significant component of the ordering of a component to be rendered onto the basemap.", + "format": "int32", + "type": "integer" + }, + "zWithinGrade": { + "description": "The least significant component of the ordering of a component to be rendered onto the basemap.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ExtrudedArea": { + "description": "Represents a height-extruded area: a 3D prism with a constant X-Y plane cross section. Used to represent extruded buildings. A single building may consist of several extruded areas. The min_z and max_z fields are scaled to the size of the tile. An extruded area with a max_z value of 4096 has the same height as the width of the tile that it is on.", + "id": "ExtrudedArea", + "properties": { + "area": { + "$ref": "Area", + "description": "The area representing the footprint of the extruded area." + }, + "maxZ": { + "description": "The z-value in local tile coordinates where the extruded area ends.", + "format": "int32", + "type": "integer" + }, + "minZ": { + "description": "The z-value in local tile coordinates where the extruded area begins. This is non-zero for extruded areas that begin off the ground. For example, a building with a skybridge may have an extruded area component with a non-zero min_z.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Feature": { + "description": "A feature representing a single geographic entity.", + "id": "Feature", + "properties": { + "displayName": { + "description": "The localized name of this feature. Currently only returned for roads.", + "type": "string" + }, + "geometry": { + "$ref": "Geometry", + "description": "The geometry of this feature, representing the space that it occupies in the world." + }, + "placeId": { + "description": "Place ID of this feature, suitable for use in Places API details requests.", + "type": "string" + }, + "relations": { + "description": "Relations to other features.", + "items": { + "$ref": "Relation" + }, + "type": "array" + }, + "segmentInfo": { + "$ref": "SegmentInfo", + "description": "Metadata for features with the SEGMENT FeatureType." + }, + "type": { + "description": "The type of this feature.", + "enum": [ + "FEATURE_TYPE_UNSPECIFIED", + "STRUCTURE", + "BAR", + "BANK", + "LODGING", + "CAFE", + "RESTAURANT", + "EVENT_VENUE", + "TOURIST_DESTINATION", + "SHOPPING", + "SCHOOL", + "SEGMENT", + "ROAD", + "LOCAL_ROAD", + "ARTERIAL_ROAD", + "HIGHWAY", + "CONTROLLED_ACCESS_HIGHWAY", + "FOOTPATH", + "RAIL", + "FERRY", + "REGION", + "PARK", + "BEACH", + "FOREST", + "POLITICAL", + "ADMINISTRATIVE_AREA1", + "LOCALITY", + "SUBLOCALITY", + "WATER" + ], + "enumDescriptions": [ + "Unknown feature type.", + "Structures such as buildings and bridges.", + "A business serving alcoholic drinks to be consumed onsite.", + "A financial institution that offers services to the general public.", + "A place that provides any type of lodging for travelers.", + "A business that sells coffee, tea, and sometimes small meals.", + "A business that prepares meals on-site for service to customers.", + "A venue for private and public events.", + "Place of interest to tourists, typically for natural or cultural value.", + "A structure containing a business or businesses that sell goods.", + "Institution where young people receive general (not vocation or professional) education.", + "Segments such as roads and train lines.", + "A way leading from one place to another intended for use by vehicles.", + "A small city street, typically for travel in a residential neighborhood.", + "Major through road that's expected to carry large volumes of traffic.", + "A major road including freeways and state highways.", + "A highway with grade-separated crossings that is accessed exclusively by ramps. These are usually called \"freeways\" or \"motorways\". The enable_detailed_highway_types request flag must be set in order for this type to be returned.", + "A path that's primarily intended for use by pedestrians and/or cyclists.", + "Tracks intended for use by trains.", + "Services which are part of the road network but are not roads.", + "Non-water areas such as parks and forest.", + "Outdoor areas such as parks and botanical gardens.", + "A pebbly or sandy shore along the edge of a sea or lake.", + "Area of land covered by trees.", + "Political entities, such as provinces and districts.", + "Top-level divisions within a country, such as prefectures or states.", + "Cities, towns, and other municipalities.", + "Divisions within a locality like a borough or ward.", + "Water features such as rivers and lakes." + ], + "type": "string" + } + }, + "type": "object" + }, + "FeatureTile": { + "description": "A tile containing information about the map features located in the region it covers.", + "id": "FeatureTile", + "properties": { + "coordinates": { + "$ref": "TileCoordinates", + "description": "The global tile coordinates that uniquely identify this tile." + }, + "features": { + "description": "Features present on this map tile.", + "items": { + "$ref": "Feature" + }, + "type": "array" + }, + "name": { + "description": "Resource name of the tile. The tile resource name is prefixed by its collection ID `tiles/` followed by the resource ID, which encodes the tile's global x and y coordinates and zoom level as `@,,z`. For example, `tiles/@1,2,3z`.", + "type": "string" + }, + "providers": { + "description": "Data providers for the data contained in this tile.", + "items": { + "$ref": "ProviderInfo" + }, + "type": "array" + }, + "status": { + "description": "Tile response status code to support tile caching.", + "enum": [ + "STATUS_OK", + "STATUS_OK_DATA_UNCHANGED" + ], + "enumDescriptions": [ + "Everything worked out OK. The cache-control header determines how long this Tile response may be cached by the client. See also version_id and STATUS_OK_DATA_UNCHANGED.", + "Indicates that the request was processed successfully and that the tile data that would have been returned are identical to the data already in the client's cache, as specified by the value of client_tile_version_id contained in GetFeatureTileRequest. In particular, the tile's features and providers will not be populated when the tile data is identical. However, the cache-control header and version_id can still change even when the tile contents itself does not, so clients should always use the most recent values returned by the API." + ], + "type": "string" + }, + "versionId": { + "description": "An opaque value, usually less than 30 characters, that contains version info about this tile and the data that was used to generate it. The client should store this value in its tile cache and pass it back to the API in the client_tile_version_id field of subsequent tile requests in order to enable the API to detect when the new tile would be the same as the one the client already has in its cache. Also see STATUS_OK_DATA_UNCHANGED.", + "type": "string" + } + }, + "type": "object" + }, + "FirstDerivativeElevationGrid": { + "description": "A packed representation of a 2D grid of uniformly spaced points containing elevation data. Each point within the grid represents the altitude in meters above average sea level at that location within the tile. Elevations provided are (generally) relative to the EGM96 geoid, however some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more than 2 meters. The grid is oriented north-west to south-east, as illustrated: rows[0].a[0] rows[0].a[m] +-----------------+ | | | N | | ^ | | | | | W <-----> E | | | | | v | | S | | | +-----------------+ rows[n].a[0] rows[n].a[m] Rather than storing the altitudes directly, we store the diffs between them as integers at some requested level of precision to take advantage of integer packing. The actual altitude values a[] can be reconstructed using the scale and each row's first_altitude and altitude_diff fields. More details in go/elevation-encoding-options-for-enduro under \"Recommended implementation\".", + "id": "FirstDerivativeElevationGrid", + "properties": { + "altitudeMultiplier": { + "description": "A multiplier applied to the altitude fields below to extract the actual altitudes in meters from the elevation grid.", + "format": "float", + "type": "number" + }, + "rows": { + "description": "Rows of points containing altitude data making up the elevation grid. Each row is the same length. Rows are ordered from north to south. E.g: rows[0] is the north-most row, and rows[n] is the south-most row.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "Geometry": { + "description": "Represents the geometry of a feature, that is, the shape that it has on the map. The local tile coordinate system has the origin at the north-west (upper-left) corner of the tile, and is scaled to 4096 units across each edge. The height (Z) axis has the same scale factor: an extruded area with a max_z value of 4096 has the same height as the width of the tile that it is on. There is no clipping boundary, so it is possible that some coordinates will lie outside the tile boundaries.", + "id": "Geometry", + "properties": { + "areas": { + "description": "The areas present in this geometry.", + "items": { + "$ref": "Area" + }, + "type": "array" + }, + "extrudedAreas": { + "description": "The extruded areas present in this geometry. Not populated if modeled_volumes are included in this geometry unless always_include_building_footprints is set in GetFeatureTileRequest, in which case the client should decide which (extruded areas or modeled volumes) should be used (they should not be rendered together).", + "items": { + "$ref": "ExtrudedArea" + }, + "type": "array" + }, + "lines": { + "description": "The lines present in this geometry.", + "items": { + "$ref": "Line" + }, + "type": "array" + }, + "modeledVolumes": { + "description": "The modeled volumes present in this geometry. Not populated unless enable_modeled_volumes has been set in GetFeatureTileRequest.", + "items": { + "$ref": "ModeledVolume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Line": { + "description": "Represents a 2D polyline. Used to represent segments such as roads, train tracks, etc.", + "id": "Line", + "properties": { + "basemapZOrder": { + "$ref": "BasemapZOrder", + "description": "The z-order of this geometry when rendered on a flat basemap. Geometry with a lower z-order should be rendered beneath geometry with a higher z-order. This z-ordering does not imply anything about the altitude of the area relative to the ground, but it can be used to prevent z-fighting. Unlike Line.z_order this can be used to compare with Area.basemap_z_order, and in fact may yield more accurate rendering (where a line may be rendered beneath an area)." + }, + "vertexOffsets": { + "$ref": "Vertex2DList", + "description": "The vertices present in the polyline." + }, + "zOrder": { + "description": "The z-order of the line. Lines with a lower z-order should be rendered beneath lines with a higher z-order. This z-ordering does not imply anything about the altitude of the area relative to the ground, but it can be used to prevent z-fighting during rendering on the client. In general, larger and more important road features will have a higher z-order line associated with them. This z-ordering can only be used to compare lines, and cannot be compared with the z_order field in the Area message. The z-order may be negative or zero. Prefer Line.basemap_z_order.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ModeledVolume": { + "description": "Represents a modeled volume in 3D space. Used to represent 3D buildings.", + "id": "ModeledVolume", + "properties": { + "strips": { + "description": "The triangle strips present in this mesh.", + "items": { + "$ref": "TriangleStrip" + }, + "type": "array" + }, + "vertexOffsets": { + "$ref": "Vertex3DList", + "description": "The vertices present in the mesh defining the modeled volume." + } + }, + "type": "object" + }, + "ProviderInfo": { + "description": "Information about the data providers that should be included in the attribution string shown by the client.", + "id": "ProviderInfo", + "properties": { + "description": { + "description": "Attribution string for this provider. This string is not localized.", + "type": "string" + } + }, + "type": "object" + }, + "Relation": { + "description": "Represents a relation to another feature in the tile. For example, a building might be occupied by a given POI. The related feature can be retrieved using the related feature index.", + "id": "Relation", + "properties": { + "relatedFeatureIndex": { + "description": "Zero-based index to look up the related feature from the list of features in the tile.", + "format": "int32", + "type": "integer" + }, + "relationType": { + "description": "Relation type between the origin feature to the related feature.", + "enum": [ + "RELATION_TYPE_UNSPECIFIED", + "OCCUPIES", + "PRIMARILY_OCCUPIED_BY" + ], + "enumDescriptions": [ + "Unspecified relation type. Should never happen.", + "The origin feature occupies the related feature.", + "The origin feature is primarily occupied by the related feature." + ], + "type": "string" + } + }, + "type": "object" + }, + "RoadInfo": { + "description": "Extra metadata relating to roads.", + "id": "RoadInfo", + "properties": { + "isPrivate": { + "description": "Road has signage discouraging or prohibiting use by the general public. E.g., roads with signs that say \"Private\", or \"No trespassing.\"", + "type": "boolean" + } + }, + "type": "object" + }, + "Row": { + "description": "A row of altitude points in the elevation grid, ordered from west to east.", + "id": "Row", + "properties": { + "altitudeDiffs": { + "description": "The difference between each successive pair of altitudes, from west to east. The first, westmost point, is just the altitude rather than a diff. The units are specified by the altitude_multiplier parameter above; the value in meters is given by altitude_multiplier * altitude_diffs[n]. The altitude row (in metres above sea level) can be reconstructed with: a[0] = altitude_diffs[0] * altitude_multiplier when n > 0, a[n] = a[n-1] + altitude_diffs[n-1] * altitude_multiplier.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecondDerivativeElevationGrid": { + "description": "A packed representation of a 2D grid of uniformly spaced points containing elevation data. Each point within the grid represents the altitude in meters above average sea level at that location within the tile. Elevations provided are (generally) relative to the EGM96 geoid, however some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more than 2 meters. The grid is oriented north-west to south-east, as illustrated: rows[0].a[0] rows[0].a[m] +-----------------+ | | | N | | ^ | | | | | W <-----> E | | | | | v | | S | | | +-----------------+ rows[n].a[0] rows[n].a[m] Rather than storing the altitudes directly, we store the diffs of the diffs between them as integers at some requested level of precision to take advantage of integer packing. Note that the data is packed in such a way that is fast to decode in Unity and that further optimizes wire size.", + "id": "SecondDerivativeElevationGrid", + "properties": { + "altitudeMultiplier": { + "description": "A multiplier applied to the elements in the encoded data to extract the actual altitudes in meters.", + "format": "float", + "type": "number" + }, + "columnCount": { + "description": "The number of columns included in the encoded elevation data (i.e. the horizontal resolution of the grid).", + "format": "int32", + "type": "integer" + }, + "encodedData": { + "description": "A stream of elements each representing a point on the tile running across each row from left to right, top to bottom. There will be precisely horizontal_resolution * vertical_resolution elements in the stream. The elements are not the heights, rather the second order derivative of the values one would expect in a stream of height data. Each element is a varint with the following encoding: ------------------------------------------------------------------------| | Head Nibble | ------------------------------------------------------------------------| | Bit 0 | Bit 1 | Bits 2-3 | | Terminator| Sign (1=neg) | Least significant 2 bits of absolute error | ------------------------------------------------------------------------| | Tail Nibble #1 | ------------------------------------------------------------------------| | Bit 0 | Bit 1-3 | | Terminator| Least significant 3 bits of absolute error | ------------------------------------------------------------------------| | ... | Tail Nibble #n | ------------------------------------------------------------------------| | Bit 0 | Bit 1-3 | | Terminator| Least significant 3 bits of absolute error | ------------------------------------------------------------------------|", + "format": "byte", + "type": "string" + }, + "rowCount": { + "description": "The number of rows included in the encoded elevation data (i.e. the vertical resolution of the grid).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SegmentInfo": { + "description": "Extra metadata relating to segments.", + "id": "SegmentInfo", + "properties": { + "roadInfo": { + "$ref": "RoadInfo", + "description": "Metadata for features with the ROAD FeatureType." + } + }, + "type": "object" + }, + "TerrainTile": { + "description": "A tile containing information about the terrain located in the region it covers.", + "id": "TerrainTile", + "properties": { + "coordinates": { + "$ref": "TileCoordinates", + "description": "The global tile coordinates that uniquely identify this tile." + }, + "firstDerivative": { + "$ref": "FirstDerivativeElevationGrid", + "description": "Terrain elevation data encoded as a FirstDerivativeElevationGrid. cs/symbol:FirstDerivativeElevationGrid." + }, + "name": { + "description": "Resource name of the tile. The tile resource name is prefixed by its collection ID `terrain/` followed by the resource ID, which encodes the tile's global x and y coordinates and zoom level as `@,,z`. For example, `terrain/@1,2,3z`.", + "type": "string" + }, + "secondDerivative": { + "$ref": "SecondDerivativeElevationGrid", + "description": "Terrain elevation data encoded as a SecondDerivativeElevationGrid. cs/symbol:SecondDerivativeElevationGrid. See go/byte-encoded-terrain for more details." + } + }, + "type": "object" + }, + "TileCoordinates": { + "description": "Global tile coordinates. Global tile coordinates reference a specific tile on the map at a specific zoom level. The origin of this coordinate system is always at the northwest corner of the map, with x values increasing from west to east and y values increasing from north to south. Tiles are indexed using x, y coordinates from that origin. The zoom level containing the entire world in a tile is 0, and it increases as you zoom in. Zoom level n + 1 will contain 4 times as many tiles as zoom level n. The zoom level controls the level of detail of the data that is returned. In particular, this affects the set of feature types returned, their density, and geometry simplification. The exact tile contents may change over time, but care will be taken to keep supporting the most important use cases. For example, zoom level 15 shows roads for orientation and planning in the local neighborhood and zoom level 17 shows buildings to give users on foot a sense of situational awareness.", + "id": "TileCoordinates", + "properties": { + "x": { + "description": "Required. The x coordinate.", + "format": "int32", + "type": "integer" + }, + "y": { + "description": "Required. The y coordinate.", + "format": "int32", + "type": "integer" + }, + "zoom": { + "description": "Required. The Google Maps API zoom level.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TriangleStrip": { + "description": "Represents a strip of triangles. Each triangle uses the last edge of the previous one. The following diagram shows an example of a triangle strip, with each vertex labeled with its index in the vertex_index array. (1)-----(3) / \\ / \\ / \\ / \\ / \\ / \\ (0)-----(2)-----(4) Vertices may be in either clockwise or counter-clockwise order.", + "id": "TriangleStrip", + "properties": { + "vertexIndices": { + "description": "Index into the vertex_offset array representing the next vertex in the triangle strip.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "Vertex2DList": { + "description": "2D vertex list used for lines and areas. Each entry represents an offset from the previous one in local tile coordinates. The first entry is offset from (0, 0). For example, the list of vertices [(1,1), (2, 2), (1, 2)] would be encoded in vertex offsets as [(1, 1), (1, 1), (-1, 0)].", + "id": "Vertex2DList", + "properties": { + "xOffsets": { + "description": "List of x-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "yOffsets": { + "description": "List of y-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "Vertex3DList": { + "description": "3D vertex list used for modeled volumes. Each entry represents an offset from the previous one in local tile coordinates. The first coordinate is offset from (0, 0, 0).", + "id": "Vertex3DList", + "properties": { + "xOffsets": { + "description": "List of x-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "yOffsets": { + "description": "List of y-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "zOffsets": { + "description": "List of z-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Semantic Tile API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/verifiedaccess.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/verifiedaccess.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..27bb9f83dc082ed7673176ac0a01a695b25b01d0 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/verifiedaccess.v2.json @@ -0,0 +1,556 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/verifiedaccess": { +"description": "Verify your enterprise credentials" +} +} +} +}, +"basePath": "", +"baseUrl": "https://verifiedaccess.googleapis.com/", +"batchPath": "batch", +"canonicalName": "verifiedaccess", +"description": "API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/chrome/verified-access", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "verifiedaccess:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://verifiedaccess.mtls.googleapis.com/", +"name": "verifiedaccess", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"challenge": { +"methods": { +"generate": { +"description": "Generates a new challenge.", +"flatPath": "v2/challenge:generate", +"httpMethod": "POST", +"id": "verifiedaccess.challenge.generate", +"parameterOrder": [], +"parameters": {}, +"path": "v2/challenge:generate", +"request": { +"$ref": "Empty" +}, +"response": { +"$ref": "Challenge" +}, +"scopes": [ +"https://www.googleapis.com/auth/verifiedaccess" +] +}, +"verify": { +"description": "Verifies the challenge response.", +"flatPath": "v2/challenge:verify", +"httpMethod": "POST", +"id": "verifiedaccess.challenge.verify", +"parameterOrder": [], +"parameters": {}, +"path": "v2/challenge:verify", +"request": { +"$ref": "VerifyChallengeResponseRequest" +}, +"response": { +"$ref": "VerifyChallengeResponseResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/verifiedaccess" +] +} +} +} +}, +"revision": "20241112", +"rootUrl": "https://verifiedaccess.googleapis.com/", +"schemas": { +"Challenge": { +"description": "Result message for VerifiedAccess.GenerateChallenge.", +"id": "Challenge", +"properties": { +"challenge": { +"description": "Generated challenge, the bytes representation of SignedData.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CrowdStrikeAgent": { +"description": "Properties of the CrowdStrike agent installed on a device.", +"id": "CrowdStrikeAgent", +"properties": { +"agentId": { +"description": "The Agent ID of the Crowdstrike agent.", +"type": "string" +}, +"customerId": { +"description": "The Customer ID to which the agent belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"DeviceSignals": { +"description": "The device signals as reported by Chrome. Unless otherwise specified, signals are available on all platforms.", +"id": "DeviceSignals", +"properties": { +"allowScreenLock": { +"description": "Value of the AllowScreenLock policy on the device. See https://chromeenterprise.google/policies/?policy=AllowScreenLock for more details. Available on ChromeOS only.", +"type": "boolean" +}, +"browserVersion": { +"description": "Current version of the Chrome browser which generated this set of signals. Example value: \"107.0.5286.0\".", +"type": "string" +}, +"builtInDnsClientEnabled": { +"description": "Whether Chrome's built-in DNS client is used. The OS DNS client is otherwise used. This value may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.", +"type": "boolean" +}, +"chromeRemoteDesktopAppBlocked": { +"description": "Whether access to the Chrome Remote Desktop application is blocked via a policy.", +"type": "boolean" +}, +"crowdStrikeAgent": { +"$ref": "CrowdStrikeAgent", +"description": "Crowdstrike agent properties installed on the device, if any. Available on Windows and MacOS only." +}, +"deviceAffiliationIds": { +"description": "Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the device. When the sets of device and profile affiliation IDs overlap, it means that the organizations managing the device and user are affiliated. To learn more about user affiliation, visit https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deviceEnrollmentDomain": { +"description": "Enrollment domain of the customer which is currently managing the device.", +"type": "string" +}, +"deviceManufacturer": { +"description": "The name of the device's manufacturer.", +"type": "string" +}, +"deviceModel": { +"description": "The name of the device's model.", +"type": "string" +}, +"diskEncryption": { +"description": "The encryption state of the disk. On ChromeOS, the main disk is always ENCRYPTED.", +"enum": [ +"DISK_ENCRYPTION_UNSPECIFIED", +"DISK_ENCRYPTION_UNKNOWN", +"DISK_ENCRYPTION_DISABLED", +"DISK_ENCRYPTION_ENCRYPTED" +], +"enumDescriptions": [ +"Unspecified.", +"Chrome could not evaluate the encryption state.", +"The main disk is not encrypted.", +"The main disk is encrypted." +], +"type": "string" +}, +"displayName": { +"description": "The display name of the device, as defined by the user.", +"type": "string" +}, +"hostname": { +"description": "Hostname of the device.", +"type": "string" +}, +"imei": { +"description": "International Mobile Equipment Identity (IMEI) of the device. Available on ChromeOS only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"macAddresses": { +"description": "MAC addresses of the device.", +"items": { +"type": "string" +}, +"type": "array" +}, +"meid": { +"description": "Mobile Equipment Identifier (MEID) of the device. Available on ChromeOS only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operatingSystem": { +"description": "The type of the Operating System currently running on the device.", +"enum": [ +"OPERATING_SYSTEM_UNSPECIFIED", +"CHROME_OS", +"CHROMIUM_OS", +"WINDOWS", +"MAC_OS_X", +"LINUX" +], +"enumDescriptions": [ +"UNSPECIFIED.", +"ChromeOS.", +"ChromiumOS.", +"Windows.", +"Mac Os X.", +"Linux" +], +"type": "string" +}, +"osFirewall": { +"description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and later has been introduced in Chrome M131.", +"enum": [ +"OS_FIREWALL_UNSPECIFIED", +"OS_FIREWALL_UNKNOWN", +"OS_FIREWALL_DISABLED", +"OS_FIREWALL_ENABLED" +], +"enumDescriptions": [ +"Unspecified.", +"Chrome could not evaluate the OS firewall state.", +"The OS firewall is disabled.", +"The OS firewall is enabled." +], +"type": "string" +}, +"osVersion": { +"description": "The current version of the Operating System. On Windows and linux, the value will also include the security patch information.", +"type": "string" +}, +"passwordProtectionWarningTrigger": { +"description": "Whether the Password Protection Warning feature is enabled or not. Password protection alerts users when they reuse their protected password on potentially suspicious sites. This setting is controlled by an enterprise policy: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger. Note that the policy unset does not have the same effects as having the policy explicitly set to `PASSWORD_PROTECTION_OFF`.", +"enum": [ +"PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED", +"POLICY_UNSET", +"PASSWORD_PROTECTION_OFF", +"PASSWORD_REUSE", +"PHISHING_REUSE" +], +"enumDescriptions": [ +"Unspecified.", +"The policy is not set.", +"No password protection warning will be shown.", +"Password protection warning is shown if a protected password is re-used.", +"Password protection warning is shown if a protected password is re-used on a known phishing website." +], +"type": "string" +}, +"profileAffiliationIds": { +"description": "Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the Chrome Profile\u2019s user or ChromeOS user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"profileEnrollmentDomain": { +"description": "Enrollment domain of the customer which is currently managing the profile.", +"type": "string" +}, +"realtimeUrlCheckMode": { +"description": "Whether Enterprise-grade (i.e. custom) unsafe URL scanning is enabled or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode", +"enum": [ +"REALTIME_URL_CHECK_MODE_UNSPECIFIED", +"REALTIME_URL_CHECK_MODE_DISABLED", +"REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME" +], +"enumDescriptions": [ +"Unspecified.", +"Disabled. Consumer Safe Browsing checks are applied.", +"Realtime check for main frame URLs is enabled." +], +"type": "string" +}, +"safeBrowsingProtectionLevel": { +"description": "Safe Browsing Protection Level. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.", +"enum": [ +"SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED", +"INACTIVE", +"STANDARD", +"ENHANCED" +], +"enumDescriptions": [ +"Unspecified.", +"Safe Browsing is disabled.", +"Safe Browsing is active in the standard mode.", +"Safe Browsing is active in the enhanced mode." +], +"type": "string" +}, +"screenLockSecured": { +"description": "The state of the Screen Lock password protection. On ChromeOS, this value will always be ENABLED as there is not way to disable requiring a password or pin when unlocking the device.", +"enum": [ +"SCREEN_LOCK_SECURED_UNSPECIFIED", +"SCREEN_LOCK_SECURED_UNKNOWN", +"SCREEN_LOCK_SECURED_DISABLED", +"SCREEN_LOCK_SECURED_ENABLED" +], +"enumDescriptions": [ +"Unspecified.", +"Chrome could not evaluate the state of the Screen Lock mechanism.", +"The Screen Lock is not password-protected.", +"The Screen Lock is password-protected." +], +"type": "string" +}, +"secureBootMode": { +"description": "Whether the device's startup software has its Secure Boot feature enabled. Available on Windows only.", +"enum": [ +"SECURE_BOOT_MODE_UNSPECIFIED", +"SECURE_BOOT_MODE_UNKNOWN", +"SECURE_BOOT_MODE_DISABLED", +"SECURE_BOOT_MODE_ENABLED" +], +"enumDescriptions": [ +"Unspecified.", +"Chrome was unable to determine the Secure Boot mode.", +"Secure Boot was disabled on the startup software.", +"Secure Boot was enabled on the startup software." +], +"type": "string" +}, +"serialNumber": { +"description": "The serial number of the device. On Windows, this represents the BIOS's serial number. Not available on most Linux distributions.", +"type": "string" +}, +"siteIsolationEnabled": { +"description": "Whether the Site Isolation (a.k.a Site Per Process) setting is enabled. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SitePerProcess", +"type": "boolean" +}, +"systemDnsServers": { +"description": "List of the addesses of all OS level DNS servers configured in the device's network settings.", +"items": { +"type": "string" +}, +"type": "array" +}, +"thirdPartyBlockingEnabled": { +"description": "Whether Chrome is blocking third-party software injection or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Available on Windows only.", +"type": "boolean" +}, +"trigger": { +"description": "The trigger which generated this set of signals.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"TRIGGER_BROWSER_NAVIGATION", +"TRIGGER_LOGIN_SCREEN" +], +"enumDescriptions": [ +"Unspecified.", +"When navigating to an URL inside a browser.", +"When signing into an account on the ChromeOS login screen." +], +"type": "string" +}, +"windowsMachineDomain": { +"description": "Windows domain that the current machine has joined. Available on Windows only.", +"type": "string" +}, +"windowsUserDomain": { +"description": "Windows domain for the current OS user. Available on Windows only.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"VerifyChallengeResponseRequest": { +"description": "Signed ChallengeResponse.", +"id": "VerifyChallengeResponseRequest", +"properties": { +"challengeResponse": { +"description": "Required. The generated response to the challenge, the bytes representation of SignedData.", +"format": "byte", +"type": "string" +}, +"expectedIdentity": { +"description": "Optional. Service can optionally provide identity information about the device or user associated with the key. For an EMK, this value is the enrolled domain. For an EUK, this value is the user's email address. If present, this value will be checked against contents of the response, and verification will fail if there is no match.", +"type": "string" +} +}, +"type": "object" +}, +"VerifyChallengeResponseResult": { +"description": "Result message for VerifiedAccess.VerifyChallengeResponse.", +"id": "VerifyChallengeResponseResult", +"properties": { +"attestedDeviceId": { +"description": "Attested device ID (ADID).", +"type": "string" +}, +"customerId": { +"description": "Unique customer id that this device belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", +"type": "string" +}, +"deviceEnrollmentId": { +"description": "Device enrollment id for ChromeOS devices.", +"type": "string" +}, +"devicePermanentId": { +"description": "Device permanent id is returned in this field (for the machine response only).", +"type": "string" +}, +"deviceSignal": { +"description": "Deprecated. Device signal in json string representation. Prefer using `device_signals` instead.", +"type": "string" +}, +"deviceSignals": { +"$ref": "DeviceSignals", +"description": "Device signals." +}, +"keyTrustLevel": { +"description": "Device attested key trust level.", +"enum": [ +"KEY_TRUST_LEVEL_UNSPECIFIED", +"CHROME_OS_VERIFIED_MODE", +"CHROME_OS_DEVELOPER_MODE", +"CHROME_BROWSER_HW_KEY", +"CHROME_BROWSER_OS_KEY", +"CHROME_BROWSER_NO_KEY" +], +"enumDescriptions": [ +"UNSPECIFIED.", +"ChromeOS device in verified mode.", +"ChromeOS device in developer mode.", +"Chrome Browser with the key stored in the device hardware.", +"Chrome Browser with the key stored at OS level.", +"Chrome Browser without an attestation key." +], +"type": "string" +}, +"profileCustomerId": { +"description": "Unique customer id that this profile belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", +"type": "string" +}, +"profileKeyTrustLevel": { +"description": "Profile attested key trust level.", +"enum": [ +"KEY_TRUST_LEVEL_UNSPECIFIED", +"CHROME_OS_VERIFIED_MODE", +"CHROME_OS_DEVELOPER_MODE", +"CHROME_BROWSER_HW_KEY", +"CHROME_BROWSER_OS_KEY", +"CHROME_BROWSER_NO_KEY" +], +"enumDescriptions": [ +"UNSPECIFIED.", +"ChromeOS device in verified mode.", +"ChromeOS device in developer mode.", +"Chrome Browser with the key stored in the device hardware.", +"Chrome Browser with the key stored at OS level.", +"Chrome Browser without an attestation key." +], +"type": "string" +}, +"signedPublicKeyAndChallenge": { +"description": "Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)", +"type": "string" +}, +"virtualDeviceId": { +"description": "Virtual device id of the device. The definition of virtual device id is platform-specific.", +"type": "string" +}, +"virtualProfileId": { +"description": "The ID of a profile on the device.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Chrome Verified Access API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..c099d65797f84148a332ce0d586005b4aac3f99f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json @@ -0,0 +1,1137 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://websecurityscanner.googleapis.com/", +"batchPath": "batch", +"canonicalName": "WebSecurityScanner", +"description": "Scans your Compute and App Engine apps for common web vulnerabilities.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "websecurityscanner:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://websecurityscanner.mtls.googleapis.com/", +"name": "websecurityscanner", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"scanConfigs": { +"methods": { +"create": { +"description": "Creates a new ScanConfig.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs", +"httpMethod": "POST", +"id": "websecurityscanner.projects.scanConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name where the scan is created, which should be a project resource name in the format 'projects/{projectId}'.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scanConfigs", +"request": { +"$ref": "ScanConfig" +}, +"response": { +"$ref": "ScanConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing ScanConfig and its child resources.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}", +"httpMethod": "DELETE", +"id": "websecurityscanner.projects.scanConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ScanConfig to be deleted. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ScanConfig.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ScanConfig to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "ScanConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ScanConfigs under a given project.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of ScanConfigs to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, which should be a project resource name in the format 'projects/{projectId}'.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scanConfigs", +"response": { +"$ref": "ListScanConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ScanConfig. This method support partial update of a ScanConfig.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}", +"httpMethod": "PATCH", +"id": "websecurityscanner.projects.scanConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "ScanConfig" +}, +"response": { +"$ref": "ScanConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Start a ScanRun according to the given ScanConfig.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}:start", +"httpMethod": "POST", +"id": "websecurityscanner.projects.scanConfigs.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ScanConfig to be used. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:start", +"request": { +"$ref": "StartScanRunRequest" +}, +"response": { +"$ref": "ScanRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"scanRuns": { +"methods": { +"get": { +"description": "Gets a ScanRun.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ScanRun to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "ScanRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ScanRuns under a given ScanConfig, in descending order of ScanRun stop time.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of ScanRuns to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, which should be a scan resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scanRuns", +"response": { +"$ref": "ListScanRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a ScanRun. The stopped ScanRun is returned.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}:stop", +"httpMethod": "POST", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ScanRun to be stopped. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:stop", +"request": { +"$ref": "StopScanRunRequest" +}, +"response": { +"$ref": "ScanRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"crawledUrls": { +"methods": { +"list": { +"description": "List CrawledUrls under a given ScanRun.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/crawledUrls", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.crawledUrls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of CrawledUrls to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/crawledUrls", +"response": { +"$ref": "ListCrawledUrlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"findingTypeStats": { +"methods": { +"list": { +"description": "List all FindingTypeStats under a given ScanRun.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findingTypeStats", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.findingTypeStats.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/findingTypeStats", +"response": { +"$ref": "ListFindingTypeStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"findings": { +"methods": { +"get": { +"description": "Gets a Finding.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings/{findingsId}", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.findings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Finding to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}/findings/{findingId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+/findings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Finding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List Findings under a given ScanRun.", +"flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings", +"httpMethod": "GET", +"id": "websecurityscanner.projects.scanConfigs.scanRuns.findings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Required. The filter expression. The expression must be in the format: . Supported field: 'finding_type'. Supported operator: '='.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Findings to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.", +"location": "path", +"pattern": "^projects/[^/]+/scanConfigs/[^/]+/scanRuns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/findings", +"response": { +"$ref": "ListFindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240623", +"rootUrl": "https://websecurityscanner.googleapis.com/", +"schemas": { +"Authentication": { +"description": "Scan authentication configuration.", +"id": "Authentication", +"properties": { +"customAccount": { +"$ref": "CustomAccount", +"description": "Authentication using a custom account." +}, +"googleAccount": { +"$ref": "GoogleAccount", +"description": "Authentication using a Google account." +} +}, +"type": "object" +}, +"CrawledUrl": { +"description": "A CrawledUrl resource represents a URL that was crawled during a ScanRun. Web Security Scanner Service crawls the web applications, following all links within the scope of sites, to find the URLs to test against.", +"id": "CrawledUrl", +"properties": { +"body": { +"description": "Output only. The body of the request that was used to visit the URL.", +"type": "string" +}, +"httpMethod": { +"description": "Output only. The http method of the request that was used to visit the URL, in uppercase.", +"type": "string" +}, +"url": { +"description": "Output only. The URL that was crawled.", +"type": "string" +} +}, +"type": "object" +}, +"CustomAccount": { +"description": "Describes authentication configuration that uses a custom account.", +"id": "CustomAccount", +"properties": { +"loginUrl": { +"description": "Required. The login form URL of the website.", +"type": "string" +}, +"password": { +"description": "Required. Input only. The password of the custom account. The credential is stored encrypted and not returned in any response nor included in audit logs.", +"type": "string" +}, +"username": { +"description": "Required. The user name of the custom account.", +"type": "string" +} +}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Finding": { +"description": "A Finding resource represents a vulnerability instance identified during a ScanRun.", +"id": "Finding", +"properties": { +"body": { +"description": "The body of the request that triggered the vulnerability.", +"type": "string" +}, +"description": { +"description": "The description of the vulnerability.", +"type": "string" +}, +"finalUrl": { +"description": "The URL where the browser lands when the vulnerability is detected.", +"type": "string" +}, +"findingType": { +"description": "The type of the Finding.", +"enum": [ +"FINDING_TYPE_UNSPECIFIED", +"MIXED_CONTENT", +"OUTDATED_LIBRARY", +"ROSETTA_FLASH", +"XSS_CALLBACK", +"XSS_ERROR", +"CLEAR_TEXT_PASSWORD", +"INVALID_CONTENT_TYPE", +"XSS_ANGULAR_CALLBACK", +"INVALID_HEADER", +"MISSPELLED_SECURITY_HEADER_NAME", +"MISMATCHING_SECURITY_HEADER_VALUES", +"ACCESSIBLE_GIT_REPOSITORY", +"ACCESSIBLE_SVN_REPOSITORY", +"ACCESSIBLE_ENV_FILE" +], +"enumDescriptions": [ +"The invalid finding type.", +"A page that was served over HTTPS also resources over HTTP. A man-in-the-middle attacker could tamper with the HTTP resource and gain full access to the website that loads the resource or to monitor the actions taken by the user.", +"The version of an included library is known to contain a security issue. The scanner checks the version of library in use against a known list of vulnerable libraries. False positives are possible if the version detection fails or if the library has been manually patched.", +"This type of vulnerability occurs when the value of a request parameter is reflected at the beginning of the response, for example, in requests using JSONP. Under certain circumstances, an attacker may be able to supply an alphanumeric-only Flash file in the vulnerable parameter causing the browser to execute the Flash file as if it originated on the vulnerable server.", +"A cross-site scripting (XSS) bug is found via JavaScript callback. For detailed explanations on XSS, see https://www.google.com/about/appsecurity/learning/xss/.", +"A potential cross-site scripting (XSS) bug due to JavaScript breakage. In some circumstances, the application under test might modify the test string before it is parsed by the browser. When the browser attempts to runs this modified test string, it will likely break and throw a JavaScript execution error, thus an injection issue is occurring. However, it may not be exploitable. Manual verification is needed to see if the test string modifications can be evaded and confirm that the issue is in fact an XSS vulnerability. For detailed explanations on XSS, see https://www.google.com/about/appsecurity/learning/xss/.", +"An application appears to be transmitting a password field in clear text. An attacker can eavesdrop network traffic and sniff the password field.", +"An application returns sensitive content with an invalid content type, or without an 'X-Content-Type-Options: nosniff' header.", +"A cross-site scripting (XSS) vulnerability in AngularJS module that occurs when a user-provided string is interpolated by Angular.", +"A malformed or invalid valued header.", +"Misspelled security header name.", +"Mismatching values in a duplicate security header.", +"A world-readable git repository that potentially leaks source code, commit history or sensitive information such as credentials.", +"A world-readable subversion repository that potentially leaks source code, commit history or sensitive information such as credentials.", +"A world-readable env file that potentially leaks source code, commit history or sensitive information such as credentials." +], +"type": "string" +}, +"frameUrl": { +"description": "If the vulnerability was originated from nested IFrame, the immediate parent IFrame is reported.", +"type": "string" +}, +"fuzzedUrl": { +"description": "The URL produced by the server-side fuzzer and used in the request that triggered the vulnerability.", +"type": "string" +}, +"httpMethod": { +"description": "The http method of the request that triggered the vulnerability, in uppercase.", +"type": "string" +}, +"name": { +"description": "The resource name of the Finding. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'. The finding IDs are generated by the system.", +"type": "string" +}, +"outdatedLibrary": { +"$ref": "OutdatedLibrary", +"description": "An addon containing information about outdated libraries." +}, +"reproductionUrl": { +"description": "The URL containing human-readable payload that user can leverage to reproduce the vulnerability.", +"type": "string" +}, +"trackingId": { +"description": "The tracking ID uniquely identifies a vulnerability instance across multiple ScanRuns.", +"type": "string" +}, +"violatingResource": { +"$ref": "ViolatingResource", +"description": "An addon containing detailed information regarding any resource causing the vulnerability such as JavaScript sources, image, audio files, etc." +}, +"vulnerableHeaders": { +"$ref": "VulnerableHeaders", +"description": "An addon containing information about vulnerable or missing HTTP headers." +}, +"vulnerableParameters": { +"$ref": "VulnerableParameters", +"description": "An addon containing information about request parameters which were found to be vulnerable." +}, +"xss": { +"$ref": "Xss", +"description": "An addon containing information reported for an XSS, if any." +} +}, +"type": "object" +}, +"FindingTypeStats": { +"description": "A FindingTypeStats resource represents stats regarding a specific FindingType of Findings under a given ScanRun.", +"id": "FindingTypeStats", +"properties": { +"findingCount": { +"description": "The count of findings belonging to this finding type.", +"format": "int32", +"type": "integer" +}, +"findingType": { +"description": "The finding type associated with the stats.", +"enum": [ +"FINDING_TYPE_UNSPECIFIED", +"MIXED_CONTENT", +"OUTDATED_LIBRARY", +"ROSETTA_FLASH", +"XSS_CALLBACK", +"XSS_ERROR", +"CLEAR_TEXT_PASSWORD", +"INVALID_CONTENT_TYPE", +"XSS_ANGULAR_CALLBACK", +"INVALID_HEADER", +"MISSPELLED_SECURITY_HEADER_NAME", +"MISMATCHING_SECURITY_HEADER_VALUES", +"ACCESSIBLE_GIT_REPOSITORY", +"ACCESSIBLE_SVN_REPOSITORY", +"ACCESSIBLE_ENV_FILE" +], +"enumDescriptions": [ +"The invalid finding type.", +"A page that was served over HTTPS also resources over HTTP. A man-in-the-middle attacker could tamper with the HTTP resource and gain full access to the website that loads the resource or to monitor the actions taken by the user.", +"The version of an included library is known to contain a security issue. The scanner checks the version of library in use against a known list of vulnerable libraries. False positives are possible if the version detection fails or if the library has been manually patched.", +"This type of vulnerability occurs when the value of a request parameter is reflected at the beginning of the response, for example, in requests using JSONP. Under certain circumstances, an attacker may be able to supply an alphanumeric-only Flash file in the vulnerable parameter causing the browser to execute the Flash file as if it originated on the vulnerable server.", +"A cross-site scripting (XSS) bug is found via JavaScript callback. For detailed explanations on XSS, see https://www.google.com/about/appsecurity/learning/xss/.", +"A potential cross-site scripting (XSS) bug due to JavaScript breakage. In some circumstances, the application under test might modify the test string before it is parsed by the browser. When the browser attempts to runs this modified test string, it will likely break and throw a JavaScript execution error, thus an injection issue is occurring. However, it may not be exploitable. Manual verification is needed to see if the test string modifications can be evaded and confirm that the issue is in fact an XSS vulnerability. For detailed explanations on XSS, see https://www.google.com/about/appsecurity/learning/xss/.", +"An application appears to be transmitting a password field in clear text. An attacker can eavesdrop network traffic and sniff the password field.", +"An application returns sensitive content with an invalid content type, or without an 'X-Content-Type-Options: nosniff' header.", +"A cross-site scripting (XSS) vulnerability in AngularJS module that occurs when a user-provided string is interpolated by Angular.", +"A malformed or invalid valued header.", +"Misspelled security header name.", +"Mismatching values in a duplicate security header.", +"A world-readable git repository that potentially leaks source code, commit history or sensitive information such as credentials.", +"A world-readable subversion repository that potentially leaks source code, commit history or sensitive information such as credentials.", +"A world-readable env file that potentially leaks source code, commit history or sensitive information such as credentials." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAccount": { +"description": "Describes authentication configuration that uses a Google account.", +"id": "GoogleAccount", +"properties": { +"password": { +"description": "Required. Input only. The password of the Google account. The credential is stored encrypted and not returned in any response nor included in audit logs.", +"type": "string" +}, +"username": { +"description": "Required. The user name of the Google account.", +"type": "string" +} +}, +"type": "object" +}, +"Header": { +"description": "Describes a HTTP Header.", +"id": "Header", +"properties": { +"name": { +"description": "Header name.", +"type": "string" +}, +"value": { +"description": "Header value.", +"type": "string" +} +}, +"type": "object" +}, +"ListCrawledUrlsResponse": { +"description": "Response for the `ListCrawledUrls` method.", +"id": "ListCrawledUrlsResponse", +"properties": { +"crawledUrls": { +"description": "The list of CrawledUrls returned.", +"items": { +"$ref": "CrawledUrl" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListFindingTypeStatsResponse": { +"description": "Response for the `ListFindingTypeStats` method.", +"id": "ListFindingTypeStatsResponse", +"properties": { +"findingTypeStats": { +"description": "The list of FindingTypeStats returned.", +"items": { +"$ref": "FindingTypeStats" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFindingsResponse": { +"description": "Response for the `ListFindings` method.", +"id": "ListFindingsResponse", +"properties": { +"findings": { +"description": "The list of Findings returned.", +"items": { +"$ref": "Finding" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListScanConfigsResponse": { +"description": "Response for the `ListScanConfigs` method.", +"id": "ListScanConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"scanConfigs": { +"description": "The list of ScanConfigs returned.", +"items": { +"$ref": "ScanConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScanRunsResponse": { +"description": "Response for the `ListScanRuns` method.", +"id": "ListScanRunsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"scanRuns": { +"description": "The list of ScanRuns returned.", +"items": { +"$ref": "ScanRun" +}, +"type": "array" +} +}, +"type": "object" +}, +"OutdatedLibrary": { +"description": "Information reported for an outdated library.", +"id": "OutdatedLibrary", +"properties": { +"learnMoreUrls": { +"description": "URLs to learn more information about the vulnerabilities in the library.", +"items": { +"type": "string" +}, +"type": "array" +}, +"libraryName": { +"description": "The name of the outdated library.", +"type": "string" +}, +"version": { +"description": "The version number.", +"type": "string" +} +}, +"type": "object" +}, +"ScanConfig": { +"description": "A ScanConfig resource contains the configurations to launch a scan. next id: 12", +"id": "ScanConfig", +"properties": { +"authentication": { +"$ref": "Authentication", +"description": "The authentication configuration. If specified, service will use the authentication configuration during scanning." +}, +"blacklistPatterns": { +"description": "The excluded URL patterns as described in https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The user provided display name of the ScanConfig.", +"type": "string" +}, +"latestRun": { +"$ref": "ScanRun", +"description": "Latest ScanRun if available." +}, +"maxQps": { +"description": "The maximum QPS during scanning. A valid value ranges from 5 to 20 inclusively. If the field is unspecified or its value is set 0, server will default to 15. Other values outside of [5, 20] range will be rejected with INVALID_ARGUMENT error.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", +"type": "string" +}, +"schedule": { +"$ref": "Schedule", +"description": "The schedule of the ScanConfig." +}, +"startingUrls": { +"description": "Required. The starting URLs from which the scanner finds site pages.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetPlatforms": { +"description": "Set of Google Cloud platforms targeted by the scan. If empty, APP_ENGINE will be used as a default.", +"items": { +"enum": [ +"TARGET_PLATFORM_UNSPECIFIED", +"APP_ENGINE", +"COMPUTE", +"CLOUD_RUN", +"CLOUD_FUNCTIONS" +], +"enumDescriptions": [ +"The target platform is unknown. Requests with this enum value will be rejected with INVALID_ARGUMENT error.", +"Google App Engine service.", +"Google Compute Engine service.", +"Google Cloud Run service.", +"Google Cloud Function service." +], +"type": "string" +}, +"type": "array" +}, +"userAgent": { +"description": "The user agent used during scanning.", +"enum": [ +"USER_AGENT_UNSPECIFIED", +"CHROME_LINUX", +"CHROME_ANDROID", +"SAFARI_IPHONE" +], +"enumDescriptions": [ +"The user agent is unknown. Service will default to CHROME_LINUX.", +"Chrome on Linux. This is the service default if unspecified.", +"Chrome on Android.", +"Safari on IPhone." +], +"type": "string" +} +}, +"type": "object" +}, +"ScanRun": { +"description": "A ScanRun is a output-only resource representing an actual run of the scan.", +"id": "ScanRun", +"properties": { +"endTime": { +"description": "The time at which the ScanRun reached termination state - that the ScanRun is either finished or stopped by user.", +"format": "google-datetime", +"type": "string" +}, +"executionState": { +"description": "The execution state of the ScanRun.", +"enum": [ +"EXECUTION_STATE_UNSPECIFIED", +"QUEUED", +"SCANNING", +"FINISHED" +], +"enumDescriptions": [ +"Represents an invalid state caused by internal server error. This value should never be returned.", +"The scan is waiting in the queue.", +"The scan is in progress.", +"The scan is either finished or stopped by user." +], +"type": "string" +}, +"hasVulnerabilities": { +"description": "Whether the scan run has found any vulnerabilities.", +"type": "boolean" +}, +"name": { +"description": "The resource name of the ScanRun. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. The ScanRun IDs are generated by the system.", +"type": "string" +}, +"progressPercent": { +"description": "The percentage of total completion ranging from 0 to 100. If the scan is in queue, the value is 0. If the scan is running, the value ranges from 0 to 100. If the scan is finished, the value is 100.", +"format": "int32", +"type": "integer" +}, +"resultState": { +"description": "The result state of the ScanRun. This field is only available after the execution state reaches \"FINISHED\".", +"enum": [ +"RESULT_STATE_UNSPECIFIED", +"SUCCESS", +"ERROR", +"KILLED" +], +"enumDescriptions": [ +"Default value. This value is returned when the ScanRun is not yet finished.", +"The scan finished without errors.", +"The scan finished with errors.", +"The scan was terminated by user." +], +"type": "string" +}, +"startTime": { +"description": "The time at which the ScanRun started.", +"format": "google-datetime", +"type": "string" +}, +"urlsCrawledCount": { +"description": "The number of URLs crawled during this ScanRun. If the scan is in progress, the value represents the number of URLs crawled up to now.", +"format": "int64", +"type": "string" +}, +"urlsTestedCount": { +"description": "The number of URLs tested during this ScanRun. If the scan is in progress, the value represents the number of URLs tested up to now. The number of URLs tested is usually larger than the number URLS crawled because typically a crawled URL is tested with multiple test payloads.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Schedule": { +"description": "Scan schedule configuration.", +"id": "Schedule", +"properties": { +"intervalDurationDays": { +"description": "Required. The duration of time between executions in days.", +"format": "int32", +"type": "integer" +}, +"scheduleTime": { +"description": "A timestamp indicates when the next run will be scheduled. The value is refreshed by the server after each run. If unspecified, it will default to current server time, which means the scan will be scheduled to start immediately.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"StartScanRunRequest": { +"description": "Request for the `StartScanRun` method.", +"id": "StartScanRunRequest", +"properties": {}, +"type": "object" +}, +"StopScanRunRequest": { +"description": "Request for the `StopScanRun` method.", +"id": "StopScanRunRequest", +"properties": {}, +"type": "object" +}, +"ViolatingResource": { +"description": "Information regarding any resource causing the vulnerability such as JavaScript sources, image, audio files, etc.", +"id": "ViolatingResource", +"properties": { +"contentType": { +"description": "The MIME type of this resource.", +"type": "string" +}, +"resourceUrl": { +"description": "URL of this violating resource.", +"type": "string" +} +}, +"type": "object" +}, +"VulnerableHeaders": { +"description": "Information about vulnerable or missing HTTP Headers.", +"id": "VulnerableHeaders", +"properties": { +"headers": { +"description": "List of vulnerable headers.", +"items": { +"$ref": "Header" +}, +"type": "array" +}, +"missingHeaders": { +"description": "List of missing headers.", +"items": { +"$ref": "Header" +}, +"type": "array" +} +}, +"type": "object" +}, +"VulnerableParameters": { +"description": "Information about vulnerable request parameters.", +"id": "VulnerableParameters", +"properties": { +"parameterNames": { +"description": "The vulnerable parameter names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Xss": { +"description": "Information reported for an XSS.", +"id": "Xss", +"properties": { +"errorMessage": { +"description": "An error message generated by a javascript breakage.", +"type": "string" +}, +"stackTraces": { +"description": "Stack traces leading to the point where the XSS occurred.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Web Security Scanner API", +"version": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..0260a373fd73abe2e30add54e7a54027afb4fc59 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json @@ -0,0 +1,1182 @@ +{ +"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." +} +} +} +}, +"basePath": "", +"baseUrl": "https://workflowexecutions.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Workflow Executions", +"description": "Execute workflows created with Workflows API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/workflows", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "workflowexecutions:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://workflowexecutions.mtls.googleapis.com/", +"name": "workflowexecutions", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"workflows": { +"methods": { +"triggerPubsubExecution": { +"description": "Triggers a new execution using the latest revision of the given workflow by a Pub/Sub push notification.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}:triggerPubsubExecution", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.triggerPubsubExecution", +"parameterOrder": [ +"workflow" +], +"parameters": { +"workflow": { +"description": "Required. Name of the workflow for which an execution should be created. Format: projects/{project}/locations/{location}/workflows/{workflow}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+workflow}:triggerPubsubExecution", +"request": { +"$ref": "TriggerPubsubExecutionRequest" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"cancel": { +"description": "Cancels an execution of the given name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:cancel", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.executions.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution to be cancelled. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelExecutionRequest" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new execution using the latest revision of the given workflow. For more information, see Execute a workflow.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.executions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the workflow for which an execution should be created. Format: projects/{project}/locations/{location}/workflows/{workflow} The latest revision of the workflow will be used.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"request": { +"$ref": "Execution" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteExecutionHistory": { +"description": "Deletes all step entries for an execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:deleteExecutionHistory", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.executions.deleteExecutionHistory", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution for which step entries should be deleted. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteExecutionHistory", +"request": { +"$ref": "DeleteExecutionHistoryRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportData": { +"description": "Returns all metadata stored about an execution, excluding most data that is already accessible using other API methods.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:exportData", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.exportData", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution for which data is to be exported. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:exportData", +"response": { +"$ref": "ExportDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns an execution of the given name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution to be retrieved. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. A view defining which fields should be filled in the returned execution. The API will default to the FULL view.", +"enum": [ +"EXECUTION_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value.", +"Includes only basic metadata about the execution. The following fields are returned: name, start_time, end_time, duration, state, and workflow_revision_id.", +"Includes all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters applied to the `[Executions.ListExecutions]` results. The following fields are supported for filtering: `executionId`, `state`, `createTime`, `startTime`, `endTime`, `duration`, `workflowRevisionId`, `stepName`, `label`, and `disableConcurrencyQuotaOverflowBuffering`. For details, see AIP-160. For more information, see Filter executions. For example, if you are using the Google APIs Explorer: `state=\"SUCCEEDED\"` or `startTime>\"2023-08-01\" AND state=\"FAILED\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Comma-separated list of fields that specify the ordering applied to the `[Executions.ListExecutions]` results. By default the ordering is based on descending `createTime`. The following fields are supported for ordering: `executionId`, `state`, `createTime`, `startTime`, `endTime`, `duration`, and `workflowRevisionId`. For details, see AIP-132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of executions to return per call. Max supported value depends on the selected Execution view: it's 1000 for BASIC and 100 for FULL. The default value used if the field is not specified is 100, regardless of the selected view. Values greater than the max value will be coerced down to it.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListExecutions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListExecutions` must match the call that provided the page token. Note that pagination is applied to dynamic data. The list of executions returned can change between page requests.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the workflow for which the executions should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. A view defining which fields should be filled in the returned executions. The API will default to the BASIC view.", +"enum": [ +"EXECUTION_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value.", +"Includes only basic metadata about the execution. The following fields are returned: name, start_time, end_time, duration, state, and workflow_revision_id.", +"Includes all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"response": { +"$ref": "ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"callbacks": { +"methods": { +"list": { +"description": "Returns a list of active callbacks that belong to the execution with the given name. The returned callbacks are ordered by callback ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/callbacks", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.callbacks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of callbacks to return per call. The default value is 100 and is also the maximum value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListCallbacks` call. Provide this to retrieve the subsequent page. Note that pagination is applied to dynamic data. The list of callbacks returned can change between page requests if callbacks are created or deleted.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the execution for which the callbacks should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/callbacks", +"response": { +"$ref": "ListCallbacksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"stepEntries": { +"methods": { +"get": { +"description": "Gets a step entry.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/stepEntries/{stepEntriesId}", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.stepEntries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the step entry to retrieve. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+/stepEntries/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"deprecated": true, +"description": "Deprecated field.", +"enum": [ +"EXECUTION_ENTRY_VIEW_UNSPECIFIED", +"EXECUTION_ENTRY_VIEW_BASIC", +"EXECUTION_ENTRY_VIEW_DETAILED" +], +"enumDescriptions": [ +"The default/unset value.", +"Include basic information in the step entries. All fields in StepEntry are returned except for variable_data.", +"Include all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "StepEntry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/stepEntries", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.stepEntries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters applied to the `[StepEntries.ListStepEntries]` results. The following fields are supported for filtering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `parent`, `state`. For details, see AIP-160. For example, if you are using the Google APIs Explorer: `state=\"SUCCEEDED\"` or `createTime>\"2023-08-01\" AND state=\"FAILED\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Comma-separated list of fields that specify the ordering applied to the `[StepEntries.ListStepEntries]` results. By default the ordering is based on ascending `entryId`. The following fields are supported for ordering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `state`. For details, see AIP-132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Number of step entries to return per call. The default max is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListStepEntries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStepEntries` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the workflow execution to list entries for. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"skip": { +"description": "Optional. The number of step entries to skip. It can be used with or without a pageToken. If used with a pageToken, then it indicates the number of step entries to skip starting from the requested page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"view": { +"deprecated": true, +"description": "Deprecated field.", +"enum": [ +"EXECUTION_ENTRY_VIEW_UNSPECIFIED", +"EXECUTION_ENTRY_VIEW_BASIC", +"EXECUTION_ENTRY_VIEW_DETAILED" +], +"enumDescriptions": [ +"The default/unset value.", +"Include basic information in the step entries. All fields in StepEntry are returned except for variable_data.", +"Include all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/stepEntries", +"response": { +"$ref": "ListStepEntriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20241001", +"rootUrl": "https://workflowexecutions.googleapis.com/", +"schemas": { +"Callback": { +"description": "An instance of a Callback created by an execution.", +"id": "Callback", +"properties": { +"availablePayloads": { +"description": "Output only. The payloads received by the callback that have not been processed by a waiting execution step.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"method": { +"description": "Output only. The method accepted by the callback. For example: GET, POST, PUT.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the callback. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/callback/{callback}", +"readOnly": true, +"type": "string" +}, +"waiters": { +"description": "Output only. Number of execution steps waiting on this callback.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CancelExecutionRequest": { +"description": "Request for the CancelExecution method.", +"id": "CancelExecutionRequest", +"properties": {}, +"type": "object" +}, +"DeleteExecutionHistoryRequest": { +"description": "Request for the DeleteExecutionHistory method.", +"id": "DeleteExecutionHistoryRequest", +"properties": {}, +"type": "object" +}, +"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); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Error": { +"description": "Error describes why the execution was abnormally terminated.", +"id": "Error", +"properties": { +"context": { +"description": "Human-readable stack trace string.", +"type": "string" +}, +"payload": { +"description": "Error message and data returned represented as a JSON string.", +"type": "string" +}, +"stackTrace": { +"$ref": "StackTrace", +"description": "Stack trace with detailed information of where error was generated." +} +}, +"type": "object" +}, +"Exception": { +"description": "Exception describes why the step entry failed.", +"id": "Exception", +"properties": { +"payload": { +"description": "Error message represented as a JSON string.", +"type": "string" +} +}, +"type": "object" +}, +"Execution": { +"description": "A running instance of a [Workflow](/workflows/docs/reference/rest/v1/projects.locations.workflows).", +"id": "Execution", +"properties": { +"argument": { +"description": "Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{\"argument\":\"{\\\"firstName\\\":\\\"FIRST\\\",\\\"lastName\\\":\\\"LAST\\\"}\"}'`", +"type": "string" +}, +"callLogLevel": { +"description": "The call logging level associated to this execution.", +"enum": [ +"CALL_LOG_LEVEL_UNSPECIFIED", +"LOG_ALL_CALLS", +"LOG_ERRORS_ONLY", +"LOG_NONE" +], +"enumDescriptions": [ +"No call logging level specified.", +"Log all call steps within workflows, all call returns, and all exceptions raised.", +"Log only exceptions that are raised from call steps within workflows.", +"Explicitly log nothing." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Marks the creation of the execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disableConcurrencyQuotaOverflowBuffering": { +"description": "Optional. If set to true, the execution will not be backlogged when the concurrency quota is exhausted. The backlog execution starts when the concurrency quota becomes available.", +"type": "boolean" +}, +"duration": { +"description": "Output only. Measures the duration of the execution.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Marks the end of execution, successful or not.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Error", +"description": "Output only. The error which caused the execution to finish prematurely. The value is only present if the execution's state is `FAILED` or `CANCELLED`.", +"readOnly": true +}, +"executionHistoryLevel": { +"description": "Optional. Describes the level of the execution history feature to apply to this execution. If not specified, the level of the execution history feature will be determined by its workflow's execution history level. If the value is different from its workflow's value, it will override the workflow's execution history level for this exeuction.", +"enum": [ +"EXECUTION_HISTORY_LEVEL_UNSPECIFIED", +"EXECUTION_HISTORY_BASIC", +"EXECUTION_HISTORY_DETAILED" +], +"enumDescriptions": [ +"The default/unset value.", +"Enable execution history basic feature for this execution.", +"Enable execution history detailed feature for this execution." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"readOnly": true, +"type": "string" +}, +"result": { +"description": "Output only. Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Marks the beginning of execution. Note that this will be the same as `createTime` for executions that start immediately.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the execution.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUCCEEDED", +"FAILED", +"CANCELLED", +"UNAVAILABLE", +"QUEUED" +], +"enumDescriptions": [ +"Invalid state.", +"The execution is in progress.", +"The execution finished successfully.", +"The execution failed with an error.", +"The execution was stopped intentionally.", +"Execution data is unavailable. See the `state_error` field.", +"Request has been placed in the backlog for processing at a later time." +], +"readOnly": true, +"type": "string" +}, +"stateError": { +"$ref": "StateError", +"description": "Output only. Error regarding the state of the Execution resource. For example, this field will have error details if the execution data is unavailable due to revoked KMS key permissions.", +"readOnly": true +}, +"status": { +"$ref": "Status", +"description": "Output only. Status tracks the current steps and progress data of this execution.", +"readOnly": true +}, +"workflowRevisionId": { +"description": "Output only. Revision of the workflow this execution is using.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExportDataResponse": { +"description": "Response for the ExportData method.", +"id": "ExportDataResponse", +"properties": { +"data": { +"description": "The JSON string with customer data and metadata for an execution with the given name", +"type": "string" +} +}, +"type": "object" +}, +"ListCallbacksResponse": { +"description": "RPC response object for the ListCallbacks method.", +"id": "ListCallbacksResponse", +"properties": { +"callbacks": { +"description": "The callbacks which match the request.", +"items": { +"$ref": "Callback" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ListExecutionsResponse": { +"description": "Response for the ListExecutions method.", +"id": "ListExecutionsResponse", +"properties": { +"executions": { +"description": "The executions which match the request.", +"items": { +"$ref": "Execution" +}, +"type": "array" +}, +"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" +} +}, +"type": "object" +}, +"ListStepEntriesResponse": { +"description": "Response message for ExecutionHistory.ListStepEntries.", +"id": "ListStepEntriesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in the ListStepEntriesRequest.page_token field in the subsequent call to `ListStepEntries` method to retrieve the next page of results.", +"type": "string" +}, +"stepEntries": { +"description": "The list of entries.", +"items": { +"$ref": "StepEntry" +}, +"type": "array" +}, +"totalSize": { +"description": "Indicates the total number of StepEntries that matched the request filter. For running executions, this number shows the number of StepEntries that are executed thus far.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NavigationInfo": { +"description": "NavigationInfo describes what steps if any come before or after this step, or what steps are parents or children of this step.", +"id": "NavigationInfo", +"properties": { +"children": { +"description": "Step entries that can be reached by \"stepping into\" e.g. a subworkflow call.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"next": { +"description": "The index of the next step in the current workflow, if any.", +"format": "int64", +"type": "string" +}, +"parent": { +"description": "The step entry, if any, that can be reached by \"stepping out\" of the current workflow being executed.", +"format": "int64", +"type": "string" +}, +"previous": { +"description": "The index of the previous step in the current workflow, if any.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Position": { +"description": "Position contains source position information about the stack trace element such as line number, column number and length of the code block in bytes.", +"id": "Position", +"properties": { +"column": { +"description": "The source code column position (of the line) the current instruction was generated from.", +"format": "int64", +"type": "string" +}, +"length": { +"description": "The number of bytes of source code making up this stack trace element.", +"format": "int64", +"type": "string" +}, +"line": { +"description": "The source code line number the current instruction was generated from.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"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.", +"id": "PubsubMessage", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"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" +}, +"data": { +"description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", +"format": "byte", +"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" +}, +"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" +}, +"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.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"StackTrace": { +"description": "A collection of stack elements (frames) where an error occurred.", +"id": "StackTrace", +"properties": { +"elements": { +"description": "An array of stack elements.", +"items": { +"$ref": "StackTraceElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"StackTraceElement": { +"description": "A single stack element (frame) where an error occurred.", +"id": "StackTraceElement", +"properties": { +"position": { +"$ref": "Position", +"description": "The source position information of the stack trace element." +}, +"routine": { +"description": "The routine where the error occurred.", +"type": "string" +}, +"step": { +"description": "The step the error occurred at.", +"type": "string" +} +}, +"type": "object" +}, +"StateError": { +"description": "Describes an error related to the current state of the Execution resource.", +"id": "StateError", +"properties": { +"details": { +"description": "Provides specifics about the error.", +"type": "string" +}, +"type": { +"description": "The type of this state error.", +"enum": [ +"TYPE_UNSPECIFIED", +"KMS_ERROR" +], +"enumDescriptions": [ +"No type specified.", +"Caused by an issue with KMS." +], +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "Represents the current status of this execution.", +"id": "Status", +"properties": { +"currentSteps": { +"description": "A list of currently executing or last executed step names for the workflow execution currently running. If the workflow has succeeded or failed, this is the last attempted or executed step. Presently, if the current step is inside a subworkflow, the list only includes that step. In the future, the list will contain items for each step in the call stack, starting with the outermost step in the `main` subworkflow, and ending with the most deeply nested step.", +"items": { +"$ref": "Step" +}, +"type": "array" +} +}, +"type": "object" +}, +"Step": { +"description": "Represents a step of the workflow this execution is running.", +"id": "Step", +"properties": { +"routine": { +"description": "Name of a routine within the workflow.", +"type": "string" +}, +"step": { +"description": "Name of a step within the routine.", +"type": "string" +} +}, +"type": "object" +}, +"StepEntry": { +"description": "An StepEntry contains debugging information for a step transition in a workflow execution.", +"id": "StepEntry", +"properties": { +"createTime": { +"description": "Output only. The creation time of the step entry.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"entryId": { +"description": "Output only. The numeric ID of this step entry, used for navigation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exception": { +"$ref": "Exception", +"description": "Output only. The exception thrown by the step entry.", +"readOnly": true +}, +"name": { +"description": "Output only. The full resource name of the step entry. Each step entry has a unique entry ID, which is a monotonically increasing counter. Step entry names have the format: `projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}`.", +"readOnly": true, +"type": "string" +}, +"navigationInfo": { +"$ref": "NavigationInfo", +"description": "Output only. The NavigationInfo associated to this step.", +"readOnly": true +}, +"routine": { +"description": "Output only. The name of the routine this step entry belongs to. A routine name is the subworkflow name defined in the YAML source code. The top level routine name is `main`.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the step entry.", +"enum": [ +"STATE_UNSPECIFIED", +"STATE_IN_PROGRESS", +"STATE_SUCCEEDED", +"STATE_FAILED", +"STATE_CANCELLED" +], +"enumDescriptions": [ +"Invalid state.", +"The step entry is in progress.", +"The step entry finished successfully.", +"The step entry failed with an error.", +"The step entry is cancelled." +], +"readOnly": true, +"type": "string" +}, +"step": { +"description": "Output only. The name of the step this step entry belongs to.", +"readOnly": true, +"type": "string" +}, +"stepEntryMetadata": { +"$ref": "StepEntryMetadata", +"description": "Output only. The StepEntryMetadata associated to this step.", +"readOnly": true +}, +"stepType": { +"description": "Output only. The type of the step this step entry belongs to.", +"enum": [ +"STEP_TYPE_UNSPECIFIED", +"STEP_ASSIGN", +"STEP_STD_LIB_CALL", +"STEP_CONNECTOR_CALL", +"STEP_SUBWORKFLOW_CALL", +"STEP_CALL", +"STEP_SWITCH", +"STEP_CONDITION", +"STEP_FOR", +"STEP_FOR_ITERATION", +"STEP_PARALLEL_FOR", +"STEP_PARALLEL_BRANCH", +"STEP_PARALLEL_BRANCH_ENTRY", +"STEP_TRY_RETRY_EXCEPT", +"STEP_TRY", +"STEP_RETRY", +"STEP_EXCEPT", +"STEP_RETURN", +"STEP_RAISE", +"STEP_GOTO" +], +"enumDescriptions": [ +"Invalid step type.", +"The step entry assigns new variable(s).", +"The step entry calls a standard library routine.", +"The step entry calls a connector.", +"The step entry calls a subworklfow.", +"The step entry calls a subworkflow/stdlib.", +"The step entry executes a switch-case block.", +"The step entry executes a condition inside a switch.", +"The step entry executes a for loop.", +"The step entry executes a iteration of a for loop.", +"The step entry executes a parallel for loop.", +"The step entry executes a series of parallel branch(es).", +"The step entry executes a branch of a parallel branch.", +"The step entry executes a try/retry/except block.", +"The step entry executes the try part of a try/retry/except block.", +"The step entry executes the retry part of a try/retry/except block.", +"The step entry executes the except part of a try/retry/except block.", +"The step entry returns.", +"The step entry raises an error.", +"The step entry jumps to another step." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recently updated time of the step entry.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"variableData": { +"$ref": "VariableData", +"description": "Output only. The VariableData associated to this step.", +"readOnly": true +} +}, +"type": "object" +}, +"StepEntryMetadata": { +"description": "StepEntryMetadata contains metadata information about this step.", +"id": "StepEntryMetadata", +"properties": { +"expectedIteration": { +"description": "Expected iteration represents the expected number of iterations in the step's progress.", +"format": "int64", +"type": "string" +}, +"progressNumber": { +"description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. Note: This field is only populated when an iteration exists and the starting value is 1.", +"format": "int64", +"type": "string" +}, +"progressType": { +"description": "Progress type of this step entry.", +"enum": [ +"PROGRESS_TYPE_UNSPECIFIED", +"PROGRESS_TYPE_FOR", +"PROGRESS_TYPE_SWITCH", +"PROGRESS_TYPE_RETRY", +"PROGRESS_TYPE_PARALLEL_FOR", +"PROGRESS_TYPE_PARALLEL_BRANCH" +], +"enumDescriptions": [ +"Current step entry does not have any progress data.", +"Current step entry is in progress of a FOR step.", +"Current step entry is in progress of a SWITCH step.", +"Current step entry is in progress of a RETRY step.", +"Current step entry is in progress of a PARALLEL FOR step.", +"Current step entry is in progress of a PARALLEL BRANCH step." +], +"type": "string" +}, +"threadId": { +"description": "Child thread id that this step entry belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"TriggerPubsubExecutionRequest": { +"description": "Request for the TriggerPubsubExecution method.", +"id": "TriggerPubsubExecutionRequest", +"properties": { +"GCPCloudEventsMode": { +"description": "Required. LINT: LEGACY_NAMES The query parameter value for __GCP_CloudEventsMode, set by the Eventarc service when configuring triggers.", +"type": "string" +}, +"deliveryAttempt": { +"description": "The number of attempts that have been made to deliver this message. This is set by Pub/Sub for subscriptions that have the \"dead letter\" feature enabled, and hence provided here for compatibility, but is ignored by Workflows.", +"format": "int32", +"type": "integer" +}, +"message": { +"$ref": "PubsubMessage", +"description": "Required. The message of the Pub/Sub push notification." +}, +"subscription": { +"description": "Required. The subscription of the Pub/Sub push notification. Format: projects/{project}/subscriptions/{sub}", +"type": "string" +} +}, +"type": "object" +}, +"VariableData": { +"description": "VariableData contains the variable data for this step.", +"id": "VariableData", +"properties": { +"variables": { +"additionalProperties": { +"type": "any" +}, +"description": "Variables that are associated with this step.", +"type": "object" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Workflow Executions API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..9407cdf77e6cc289c5d9f5ebf1aed7917b367de8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json @@ -0,0 +1,748 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/youtube": { +"description": "Manage your YouTube account" +}, +"https://www.googleapis.com/auth/youtube.readonly": { +"description": "View your YouTube account" +}, +"https://www.googleapis.com/auth/youtubepartner": { +"description": "View and manage your assets and associated content on YouTube" +}, +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly": { +"description": "View monetary and non-monetary YouTube Analytics reports for your YouTube content" +}, +"https://www.googleapis.com/auth/yt-analytics.readonly": { +"description": "View YouTube Analytics reports for your YouTube content" +} +} +} +}, +"basePath": "", +"baseUrl": "https://youtubeanalytics.googleapis.com/", +"batchPath": "batch", +"canonicalName": "YouTube Analytics", +"description": "Retrieves your YouTube Analytics data.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/youtube/analytics", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "youtubeAnalytics:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://youtubeanalytics.mtls.googleapis.com/", +"name": "youtubeAnalytics", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"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", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"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.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"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", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"groupItems": { +"methods": { +"delete": { +"description": "Removes an item from a group.", +"flatPath": "v2/groupItems", +"httpMethod": "DELETE", +"id": "youtubeAnalytics.groupItems.delete", +"parameterOrder": [], +"parameters": { +"id": { +"description": "The `id` parameter specifies the YouTube group item ID of the group item that is being deleted.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groupItems", +"response": { +"$ref": "EmptyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +}, +"insert": { +"description": "Creates a group item.", +"flatPath": "v2/groupItems", +"httpMethod": "POST", +"id": "youtubeAnalytics.groupItems.insert", +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groupItems", +"request": { +"$ref": "GroupItem" +}, +"response": { +"$ref": "GroupItem" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +}, +"list": { +"description": "Returns a collection of group items that match the API request parameters.", +"flatPath": "v2/groupItems", +"httpMethod": "GET", +"id": "youtubeAnalytics.groupItems.list", +"parameterOrder": [], +"parameters": { +"groupId": { +"description": "The `groupId` parameter specifies the unique ID of the group for which you want to retrieve group items.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groupItems", +"response": { +"$ref": "ListGroupItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +} +} +}, +"groups": { +"methods": { +"delete": { +"description": "Deletes a group.", +"flatPath": "v2/groups", +"httpMethod": "DELETE", +"id": "youtubeAnalytics.groups.delete", +"parameterOrder": [], +"parameters": { +"id": { +"description": "The `id` parameter specifies the YouTube group ID of the group that is being deleted.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groups", +"response": { +"$ref": "EmptyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +}, +"insert": { +"description": "Creates a group.", +"flatPath": "v2/groups", +"httpMethod": "POST", +"id": "youtubeAnalytics.groups.insert", +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groups", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +}, +"list": { +"description": "Returns a collection of groups that match the API request parameters. For example, you can retrieve all groups that the authenticated user owns, or you can retrieve one or more groups by their unique IDs.", +"flatPath": "v2/groups", +"httpMethod": "GET", +"id": "youtubeAnalytics.groups.list", +"parameterOrder": [], +"parameters": { +"id": { +"description": "The `id` parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. Each group must be owned by the authenticated user. In a `group` resource, the `id` property specifies the group's YouTube group ID. Note that if you do not specify a value for the `id` parameter, then you must set the `mine` parameter to `true`.", +"location": "query", +"type": "string" +}, +"mine": { +"description": "This parameter can only be used in a properly authorized request. Set this parameter's value to true to retrieve all groups owned by the authenticated user.", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The `pageToken` parameter identifies a specific page in the result set that should be returned. In an API response, the `nextPageToken` property identifies the next page that can be retrieved.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groups", +"response": { +"$ref": "ListGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +}, +"update": { +"description": "Modifies a group. For example, you could change a group's title.", +"flatPath": "v2/groups", +"httpMethod": "PUT", +"id": "youtubeAnalytics.groups.update", +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "v2/groups", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +} +} +}, +"reports": { +"methods": { +"query": { +"description": "Retrieve your YouTube Analytics reports.", +"flatPath": "v2/reports", +"httpMethod": "GET", +"id": "youtubeAnalytics.reports.query", +"parameterOrder": [], +"parameters": { +"currency": { +"description": "The currency to which financial metrics should be converted. The default is US Dollar (USD). If the result contains no financial metrics, this flag will be ignored. Responds with an error if the specified currency is not recognized.\", pattern: [A-Z]{3}", +"location": "query", +"type": "string" +}, +"dimensions": { +"description": "A comma-separated list of YouTube Analytics dimensions, such as `views` or `ageGroup,gender`. See the [Available Reports](/youtube/analytics/v2/available_reports) document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the [Dimensions](/youtube/analytics/v2/dimsmets/dims) document for definitions of those dimensions.\" pattern: [0-9a-zA-Z,]+", +"location": "query", +"type": "string" +}, +"endDate": { +"description": "The end date for fetching YouTube Analytics data. The value should be in `YYYY-MM-DD` format. required: true, pattern: [0-9]{4}-[0-9]{2}-[0-9]{2}", +"location": "query", +"type": "string" +}, +"filters": { +"description": "A list of filters that should be applied when retrieving YouTube Analytics data. The [Available Reports](/youtube/analytics/v2/available_reports) document identifies the dimensions that can be used to filter each report, and the [Dimensions](/youtube/analytics/v2/dimsmets/dims) document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (`;`), and the returned result table will satisfy both filters. For example, a filters parameter value of `video==dMH0bHeiRNg;country==IT` restricts the result set to include data for the given video in Italy.\",", +"location": "query", +"type": "string" +}, +"ids": { +"description": "Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. - To request data for a YouTube user, set the `ids` parameter value to `channel==CHANNEL_ID`, where `CHANNEL_ID` specifies the unique YouTube channel ID. - To request data for a YouTube CMS content owner, set the `ids` parameter value to `contentOwner==OWNER_NAME`, where `OWNER_NAME` is the CMS name of the content owner. required: true, pattern: [a-zA-Z]+==[a-zA-Z0-9_+-]+", +"location": "query", +"type": "string" +}, +"includeHistoricalChannelData": { +"description": "If set to true historical data (i.e. channel data from before the linking of the channel to the content owner) will be retrieved.\",", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"description": "The maximum number of rows to include in the response.\", minValue: 1", +"format": "int32", +"location": "query", +"type": "integer" +}, +"metrics": { +"description": "A comma-separated list of YouTube Analytics metrics, such as `views` or `likes,dislikes`. See the [Available Reports](/youtube/analytics/v2/available_reports) document for a list of the reports that you can retrieve and the metrics available in each report, and see the [Metrics](/youtube/analytics/v2/dimsmets/mets) document for definitions of those metrics. required: true, pattern: [0-9a-zA-Z,]+", +"location": "query", +"type": "string" +}, +"sort": { +"description": "A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '`-`' prefix causes descending sort order.\", pattern: [-0-9a-zA-Z,]+", +"location": "query", +"type": "string" +}, +"startDate": { +"description": "The start date for fetching YouTube Analytics data. The value should be in `YYYY-MM-DD` format. required: true, pattern: \"[0-9]{4}-[0-9]{2}-[0-9]{2}", +"location": "query", +"type": "string" +}, +"startIndex": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive).\", minValue: 1", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v2/reports", +"response": { +"$ref": "QueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/yt-analytics-monetary.readonly", +"https://www.googleapis.com/auth/yt-analytics.readonly" +] +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://youtubeanalytics.googleapis.com/", +"schemas": { +"EmptyResponse": { +"description": "Empty response.", +"id": "EmptyResponse", +"properties": { +"errors": { +"$ref": "Errors", +"description": "Apiary error details" +} +}, +"type": "object" +}, +"ErrorProto": { +"description": "Describes one specific error.", +"id": "ErrorProto", +"properties": { +"argument": { +"description": "Error arguments, to be used when building user-friendly error messages given the error domain and code. Different error codes require different arguments.", +"items": { +"type": "string" +}, +"type": "array" +}, +"code": { +"description": "Error code in the error domain. This should correspond to a value of the enum type whose name is in domain. See the core error domain in error_domain.proto.", +"type": "string" +}, +"debugInfo": { +"description": "Debugging information, which should not be shared externally.", +"type": "string" +}, +"domain": { +"description": "Error domain. RoSy services can define their own domain and error codes. This should normally be the name of an enum type, such as: gdata.CoreErrorDomain", +"type": "string" +}, +"externalErrorMessage": { +"description": "A short explanation for the error, which can be shared outside Google. Please set domain, code and arguments whenever possible instead of this error message so that external APIs can build safe error messages themselves. External messages built in a RoSy interface will most likely refer to information and concepts that are not available externally and should not be exposed. It is safer if external APIs can understand the errors and decide what the error message should look like.", +"type": "string" +}, +"location": { +"description": "Location of the error, as specified by the location type. If location_type is PATH, this should be a path to a field that's relative to the request, using FieldPath notation (net/proto2/util/public/field_path.h). Examples: authenticated_user.gaia_id resource.address[2].country", +"type": "string" +}, +"locationType": { +"enum": [ +"PATH", +"OTHER", +"PARAMETER" +], +"enumDescriptions": [ +"location is an xpath-like path pointing to the request field that caused the error.", +"other location type which can safely be shared externally.", +"Location is request parameter. This maps to the {@link PARAMETERS} in {@link MessageLocation}." +], +"type": "string" +} +}, +"type": "object" +}, +"Errors": { +"description": "Request Error information. The presence of an error field signals that the operation has failed.", +"id": "Errors", +"properties": { +"code": { +"deprecated": true, +"description": "Global error code. Deprecated and ignored. Set custom error codes in ErrorProto.domain and ErrorProto.code instead.", +"enum": [ +"BAD_REQUEST", +"FORBIDDEN", +"NOT_FOUND", +"CONFLICT", +"GONE", +"PRECONDITION_FAILED", +"INTERNAL_ERROR", +"SERVICE_UNAVAILABLE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"error": { +"description": "Specific error description and codes", +"items": { +"$ref": "ErrorProto" +}, +"type": "array" +}, +"requestId": { +"description": "Request identifier generated by the service, which can be used to identify the error in the logs", +"type": "string" +} +}, +"type": "object" +}, +"Group": { +"description": "A group.", +"id": "Group", +"properties": { +"contentDetails": { +"$ref": "GroupContentDetails", +"description": "The `contentDetails` object contains additional information about the group, such as the number and type of items that it contains." +}, +"errors": { +"$ref": "Errors", +"description": "Apiary error details" +}, +"etag": { +"description": "The Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the group.", +"type": "string" +}, +"kind": { +"description": "Identifies the API resource's type. The value will be `youtube#group`.", +"type": "string" +}, +"snippet": { +"$ref": "GroupSnippet", +"description": "The `snippet` object contains basic information about the group, including its creation date and name." +} +}, +"type": "object" +}, +"GroupContentDetails": { +"description": "A group's content details.", +"id": "GroupContentDetails", +"properties": { +"itemCount": { +"description": "The number of items in the group.", +"format": "uint64", +"type": "string" +}, +"itemType": { +"description": "The type of resources that the group contains. Valid values for this property are: * `youtube#channel` * `youtube#playlist` * `youtube#video` * `youtubePartner#asset`", +"type": "string" +} +}, +"type": "object" +}, +"GroupItem": { +"description": "A group item.", +"id": "GroupItem", +"properties": { +"errors": { +"$ref": "Errors", +"description": "Apiary error details" +}, +"etag": { +"description": "The Etag of this resource.", +"type": "string" +}, +"groupId": { +"description": "The ID that YouTube uses to uniquely identify the group that contains the item.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the `channel`, `video`, `playlist`, or `asset` resource that is included in the group. Note that this ID refers specifically to the inclusion of that resource in a particular group and is different than the channel ID, video ID, playlist ID, or asset ID that uniquely identifies the resource itself. The `resource.id` property's value specifies the unique channel, video, playlist, or asset ID.", +"type": "string" +}, +"kind": { +"description": "Identifies the API resource's type. The value will be `youtube#groupItem`.", +"type": "string" +}, +"resource": { +"$ref": "GroupItemResource", +"description": "The `resource` object contains information that identifies the item being added to the group." +} +}, +"type": "object" +}, +"GroupItemResource": { +"id": "GroupItemResource", +"properties": { +"id": { +"description": "The channel, video, playlist, or asset ID that YouTube uses to uniquely identify the item that is being added to the group.", +"type": "string" +}, +"kind": { +"description": "Identifies the type of resource being added to the group. Valid values for this property are: * `youtube#channel` * `youtube#playlist` * `youtube#video` * `youtubePartner#asset`", +"type": "string" +} +}, +"type": "object" +}, +"GroupSnippet": { +"description": "A group snippet.", +"id": "GroupSnippet", +"properties": { +"publishedAt": { +"description": "The date and time that the group was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", +"format": "google-datetime", +"type": "string" +}, +"title": { +"description": "The group name. The value must be a non-empty string.", +"type": "string" +} +}, +"type": "object" +}, +"ListGroupItemsResponse": { +"description": "Response message for GroupsService.ListGroupItems.", +"id": "ListGroupItemsResponse", +"properties": { +"errors": { +"$ref": "Errors", +"description": "Apiary error details" +}, +"etag": { +"description": "The Etag of this resource.", +"type": "string" +}, +"items": { +"description": "A list of groups that match the API request parameters. Each item in the list represents a `groupItem` resource.", +"items": { +"$ref": "GroupItem" +}, +"type": "array" +}, +"kind": { +"description": "Identifies the API resource's type. The value will be `youtube#groupItemListResponse`.", +"type": "string" +} +}, +"type": "object" +}, +"ListGroupsResponse": { +"description": "Response message for GroupsService.ListGroups.", +"id": "ListGroupsResponse", +"properties": { +"errors": { +"$ref": "Errors", +"description": "Apiary error details" +}, +"etag": { +"description": "The Etag of this resource.", +"type": "string" +}, +"items": { +"description": "A list of groups that match the API request parameters. Each item in the list represents a `group` resource.", +"items": { +"$ref": "Group" +}, +"type": "array" +}, +"kind": { +"description": "Identifies the API resource's type. The value will be `youtube#groupListResponse`.", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page in the result set.", +"type": "string" +} +}, +"type": "object" +}, +"QueryResponse": { +"description": "Response message for TargetedQueriesService.Query.", +"id": "QueryResponse", +"properties": { +"columnHeaders": { +"description": "This value specifies information about the data returned in the `rows` fields. Each item in the `columnHeaders` list identifies a field returned in the `rows` value, which contains a list of comma-delimited data. The `columnHeaders` list will begin with the dimensions specified in the API request, which will be followed by the metrics specified in the API request. The order of both dimensions and metrics will match the ordering in the API request. For example, if the API request contains the parameters `dimensions=ageGroup,gender&metrics=viewerPercentage`, the API response will return columns in this order: `ageGroup`, `gender`, `viewerPercentage`.", +"items": { +"$ref": "ResultTableColumnHeader" +}, +"type": "array" +}, +"errors": { +"$ref": "Errors", +"description": "When set, indicates that the operation failed." +}, +"kind": { +"description": "This value specifies the type of data included in the API response. For the query method, the kind property value will be `youtubeAnalytics#resultTable`.", +"type": "string" +}, +"rows": { +"description": "The list contains all rows of the result table. Each item in the list is an array that contains comma-delimited data corresponding to a single row of data. The order of the comma-delimited data fields will match the order of the columns listed in the `columnHeaders` field. If no data is available for the given query, the `rows` element will be omitted from the response. The response for a query with the `day` dimension will not contain rows for the most recent days.", +"items": { +"items": { +"type": "any" +}, +"type": "array" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResultTableColumnHeader": { +"description": "The description of a column of the result table.", +"id": "ResultTableColumnHeader", +"properties": { +"columnType": { +"description": "The type of the column (`DIMENSION` or `METRIC`).", +"type": "string" +}, +"dataType": { +"description": "The type of the data in the column (`STRING`, `INTEGER`, `FLOAT`, etc.).", +"type": "string" +}, +"name": { +"description": "The name of the dimension or metric.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "YouTube Analytics API", +"version": "v2", +"version_module": true +} \ No newline at end of file